Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: FloodX Dátum 2017-07-29, 22:48:19

Cím: Quest pc.set_level hiba
Írta: FloodX Dátum 2017-07-29, 22:48:19
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.
Cím: Re:Quest pc.set_level hiba
Írta: Pisti95 Dátum 2017-07-30, 09:17:46
Kivonni nem fogod tudni.
Cím: Re:Quest pc.set_level hiba
Írta: FloodX Dátum 2017-07-30, 10:45:07
Nem is szeretném. Nekem ez a quest kell, hogy tudjanak fejlődni, de nem ad szintet.
Cím: Re:Quest pc.set_level hiba
Írta: Pisti95 Dátum 2017-07-30, 20:29:47
í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
Cím: Re:Quest pc.set_level hiba
Írta: Distraught Dátum 2017-07-30, 23:56:09
kérd ki előtte egy változóba
ujszint = pc.get_level() + 1
pc.set_level(ujszint)
EhPortal 1.39 © 2025, WebDev