Jump to content

[PETICION]Npc


EzekielitohMercury

Mensajes recomendados

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!...

Enlace para comentar
Compartir en otros sitios

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. ;)

Enlace para comentar
Compartir en otros sitios

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
Enlace para comentar
Compartir en otros sitios

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.

Enlace para comentar
Compartir en otros sitios

  • Dilong locked this tema
Guest
Este tema está cerrado a otras respuestas.
  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...