Jump to content
EzekielitohMercury

[PETICION]Npc

Recommended Posts

Hola Amigos Les Queria Pedir Una Quest De Un Npc Que Te Baje Al Nivel 1

 

Ej:

 

Que Seas 250 Y Te Pida Un Item Y Te Baje Al Nivel 1 Y Cuando Te Baje Al Nivel 1 Te De Un Cofre!

 

Se Lo Agradeceria Mucho!...

Share this post


Link to post
Share on other sites

mas bien una quest donde al momento de bajarte a nivel 1 te de un rango digamos

 

say ("te bajare a nivel 1 para subirte a rango 2")

say ("haora subiras a rango 2 y blablabla")

 

esa no es la quest xD pero es una idea para que no solamente te baje a nivel 1 y ya ;)

Share this post


Link to post
Share on other sites

Aqui hize la quest como la pediste, OJO NO LA HE TESTEADO pero si tiene algun fallo me lo comunicas y lo reparare ;)

 

Aqui la tienes por pergamino de mision:

 

 

quest reset begin

state start begin

when login or levelup with pc.get_level() == 250 begin

set_state ( information )

end

end

 

state information start

when letter begin

send_letter("Reseteo de level")

 

local iditem = xxxxxxxxx Aqui pones el id del item que quieres que pida xxxxxxxxxxx

local cofre = xxxxxxxxx Aqui pones el id del cofre que quieres que regale xxxxxxxxxxx

 

say_title("Reseteo de level")

say("Hola "..pc.get_name().." Como eres lv 250")

say("Tienes la oportunidad de volver a ser level 1")

say("Pero para volver a ser lv 1 necesitas el item:")

say("")

say_item_vnum(iditem)

say("")

say_reward("¿Deseas resetear tu level?")

 

local lv = select("Si", "No")

 

if lv == 2 then

say_title("Reseteo de level")

say("Oh ok, vuelve a clicear en el pergamino")

say("cuando quieras reiniciar tu level")

say("suerte.")

return

 

elseif lv == 1 then

say_title("Reseteo de level")

say("Estas a punto de bajarte a lv 1")

say("")

say_reward("¿Estas realmente seguro?")

 

local confirmar = select("Si", "No")

 

if confirmar == 2 then

return

 

elseif confirmar == 1 then

 

if pc.count_item(iditem) >= 1 then

 

say_title("Reseteo de level")

say("Seras reiniciado...")

command("a "..pc.get_name().." 1")

say("Listo! ya eres lv 1")

say("Suerte!")

pc.remove_item(iditem, 1)

pc.give_item(cofre, 1)

 

elseif pc.count_item(iditem) == 0 then

 

say_title("Reseteo de level")

say("Lo siento, no tienes el item necesario")

say("para el reseteo de level,")

say("vuelve cuando lo tengas.")

end

end

end

end

end

end

 

 

Aqui esta en pastebin:

 

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

 

 

EDITO:

 

Por NPC:

 

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

 

Salu2. ;)

Share this post


Link to post
Share on other sites

amiguito aca tienes tal cual me la imagine... la diseñe con apuros ya que ando tomandome unas chelas con unos amigos jeje pero estoy seguro de que funcionara aca tienes :D agradecer no cuesta nada :lol:

quest reseteo begin
state start begin
local exp = pc.get_exp()
local level = pc.get_level()
local money = pc.get_gold()
when login with pc.level == 250 and pc.getqf("prestigios") == 0 begin
chat("Puedes subir de prestigio")
chat("Perderas, el dinero, nivel y exp")
chat("Pero obtendras valores especiales")
chat("Y un Set Completo Unico Del Reset")
chat("Te ha aparecido 1 objeto para resetear")
chat("Usalo si quieres resetear")
end
when id.use with pc.level == 250 begin
say_title("Ascension a prestigio 1")
say("Deseas ascender a prestigio 1?")
local r = select("Si", "No")
if r == 1 then
pc.give_exp2(-exp)
pc.change_gold(-money)
item.remove()
end
pc . give_item2 ( "42556" , )	 ----Cambiar las id de los items!
pc . give_item2 ( "42666" , )
pc . give_item2 ( "42856" , )
pc . give_item2 ( "42126" , )
pc . give_item2 ( "42856" , )
pc . give_item2 ( "42846" , )
pc . give_item2 ( "42136" , )
pc . give_item2 ( "42876" , )
return
end
pc.setqf("prestigios", pc.getqf("prestigios") +1)
notice_all(""..pc.get_name().." ha ascendido de prestigio")
end
when login with pc.getqf("prestigios") == 1 begin
if get_time() < pc.getqf("temporizador_bonus") then
return
end
affect.add_collect(apply.CRITICAL_PCT, 5, 60*60*24*365)
affect.add_collect(apply.CRITICAL_PCT, 5, 60*60*24*365)
affect.add_collect(apply.CRITICAL_PCT, 5, 60*60*24*365)
affect.add_collect(apply.CRITICAL_PCT, 5, 60*60*24*365)
pc.setqf("temporizador_bonus", get_time() + 60*60*24*365)
end
end
end

Share this post


Link to post
Share on other sites

Siento deciros que ninguna de las dos va a funcionar. La del command solo servira si el pj que se baja a lvl1 es gm y la segunda solo te bajara 1 nivel, no a nivel 1

 

Para hacer el npc que quieres necesitas meter esta funcion:

 

This difference file is created by The Interactive Disassembler
game2089
00157334: 31 8B
00157335: C0 92
00157336: 85 DC
00157337: D2 00
00157338: 74 00
00157339: 26 00
0015733A: A1 89
0015733B: 20 14
0015733C: 37 24
0015733D: 4C C7
0015733E: 08 44
0015733F: 8B 24
00157340: 80 04
00157341: DC 01
00157345: 89 E8
00157346: 04 26
00157347: 24 AA
00157348: E8 ED
00157349: B3 FF
0015734A: 71 90
0015734B: EE 90
0015734C: FF 90
00312D3E: 70 72
00312D3F: 63 65
00312D40: 5F 73
00312D41: 61 65
00312D43: 74 5F
00312D44: 72 70
00312D45: 61 6F
00312D46: 63 69
00312D47: 74 6E
00312D48: 5F 74
00312D49: 72 73
00312D4A: 61 00

Y añadir al quest_functions las funciones correspondientes:

 

pc.reset_points()  -- Te baja a level 1
pc.clear_skill()	 -- Te reinicia las habs

Asi que para hacer el npc puedes cualquier de los que te han hecho ellos pero meterle la funcion buena, x ejemplo:

 

quest reset begin
state start begin
when login or levelup with pc.get_level() == 250 begin
set_state ( information )
end
end
state information start
when letter begin
send_letter("Reseteo de level")
local iditem = xxxxxxxxx Aqui pones el id del item que quieres que pida xxxxxxxxxxx
local cofre = xxxxxxxxx Aqui pones el id del cofre que quieres que regale xxxxxxxxxxx
say_title("Reseteo de level")
say("Hola "..pc.get_name().." Como eres lv 250")
say("Tienes la oportunidad de volver a ser level 1")
say("Pero para volver a ser lv 1 necesitas el item:")
say("")
say_item_vnum(iditem)
say("")
say_reward("¿Deseas resetear tu level?")
local lv = select("Si", "No")
if lv == 2 then
say_title("Reseteo de level")
say("Oh ok, vuelve a clicear en el pergamino")
say("cuando quieras reiniciar tu level")
say("suerte.")
return
elseif lv == 1 then
say_title("Reseteo de level")
say("Estas a punto de bajarte a lv 1")
say("")
say_reward("¿Estas realmente seguro?")
local confirmar = select("Si", "No")
if confirmar == 2 then
return
elseif confirmar == 1 then
if pc.count_item(iditem) >= 1 then
say_title("Reseteo de level")
say("Seras reiniciado...")
pc.reset_points()
pc.clear_skill()
say("Listo! ya eres lv 1")
say("Suerte!")
pc.remove_item(iditem, 1)
pc.give_item(cofre, 1)
elseif pc.count_item(iditem) == 0 then
say_title("Reseteo de level")
say("Lo siento, no tienes el item necesario")
say("para el reseteo de level,")
say("vuelve cuando lo tengas.")
end
end
end
end
end
end

Creditos x supuesto al creador del diff, de inforge.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...