Sziasztok!
Volt egy ilyen questem a szint túlcsordulás miatt.
quest drop begin
state start begin
when 11505.kill with pc.get_level() <= 245 begin
pc.give_item2(82000, 4)
pc.give_item2(82001, 4)
pc.give_item2(82002, 4)
pc.set_level2(pc.get_level() + 5)
end
when 11505.kill with pc.get_level() == 246 begin
pc.give_item2(82000, 4)
pc.give_item2(82001, 4)
pc.give_item2(82002, 4)
pc.set_level2(pc.get_level() + 4)
end
when 11505.kill with pc.get_level() == 247 begin
pc.give_item2(82000, 4)
pc.give_item2(82001, 4)
pc.give_item2(82002, 4)
pc.set_level2(pc.get_level() + 3)
end
when 11505.kill with pc.get_level() == 248 begin
pc.give_item2(82000, 4)
pc.give_item2(82001, 4)
pc.give_item2(82002, 4)
pc.set_level2(pc.get_level() + 2)
end
when 11505.kill with pc.get_level() == 249 begin
pc.give_item2(82000, 4)
pc.give_item2(82001, 4)
pc.give_item2(82002, 4)
pc.set_level2(pc.get_level() + 1)
end
when 11505.kill with pc.get_level() == 250 begin
pc.give_item2(82000, 4)
pc.give_item2(82001, 4)
pc.give_item2(82002, 4)
end
end
end
Tudom, hogy rövidebben is meg lehet oldani, hogy a 250-vonja ki a jelenlegi szintet, de úgysem jó.
Azért pc.set_level2, mert a forrásban már van egy pc.set_level, azzal sem megy, ezért a régi fajtát módosítottam így:
function pc.set_level2(szint)
while pc.get_level() < szint do
pc.give_exp2(pc.get_next_exp()-pc.get_exp())
end
end
Átírtam 2-re a végét, és a functions-ba is bent van: pc.set_level2
Segítséget előre is köszönöm.
Kivonni nem fogod tudni.
Nem is szeretném. Nekem ez a quest kell, hogy tudjanak fejlődni, de nem ad szintet.
így nem fog szintet adni:
pc.set_level2(pc.get_level() + 1)
Mivel a funkciót át kell írni, hogy így használhasd.
Eredetileg így használhatod:
when 11505.kill begin
if pc.get_level() == 245 then
pc.set_level2(250)
elseif pc.get_level() == 246 then
pc.set_level2(250)
.
.
.
end
end
kérd ki előtte egy változóba
ujszint = pc.get_level() + 1
pc.set_level(ujszint)