Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: Rock Dátum 2018-04-19, 17:16:04

Cím: [BUG] Mount hiba
Írta: Rock Dátum 2018-04-19, 17:16:04
Sziasztok!

Adott egy quest. A mountokat úgy csináltam meg, hogy amikor a leltáradban van a hívójuk, akkor is megadják a bónuszt. A probléma viszont az, hogyha már nincs a leltáradban a mount, mert eladtad/eldobtad, a bónusz akkor is megmarad.

A quest:
Idézquest kiskutya_hivo begin
   state start begin
      when login begin
         if pc.count_item(18555)>=1 then
            affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 30, 60*60*24*365*60)
         else
            affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 30, 60*60*24*365*60)
         end
      end
      when 18555.use begin
         if pc.is_polymorphed() then
            say("Átváltozva nem lovagolhatsz!")
            elseif pc.is_mount() then
            say("Te már ülsz egy állaton, először szállj le!")
            else
            pc.mount(8851, 3600)
         end
      end
   end
end

Valakinek esetleg lenne rá ötlete, hogyan módosítsam?
Cím: Re:[BUG] Mount hiba
Írta: Meli Dátum 2018-04-19, 18:37:19
Nagyon szívesen írok rá neked c++ ban egy normális kódot ami nem luás és folyton leellenőrzi, hogy nálad van e a tárgy :)
Cím: Re:[BUG] Mount hiba
Írta: Rock Dátum 2018-04-19, 18:41:26
Idézetet írta: Meli Dátum 2018-04-19, 18:37:19
Nagyon szívesen írok rá neked c++ ban egy normális kódot ami nem luás és folyton leellenőrzi, hogy nálad van e a tárgy :)

Nagyon megköszönném, mert így össze-vissza buggol...:(
Cím: Re:[BUG] Mount hiba
Írta: josikaaa Dátum 2018-04-19, 19:57:47
egyszerű ebben is, csak bővíteni kell


quest kiskutya_hivo begin
   state start begin
      when login begin
        loop_timer("kutya", 10)
     end
        when kutya.timer begin
         if pc.count_item(18555)>=1 then
            affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 30, 60*60*24*365*60)
         else
            affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 30, 60*60*24*365*60)
         end
      end
      when 18555.use begin
         if pc.is_polymorphed() then
            say("Átváltozva nem lovagolhatsz!")
            elseif pc.is_mount() then
            say("Te már ülsz egy állaton, először szállj le!")
            else
            pc.mount(8851, 3600)
         end
      end
   end
end


nem biztos hogy így lefut, mert nem néztem hogy az egész quest műkdöik e, de ez alapján meg tudod írni.

érdemes egy quest / timerbe tenni az összes mountot, kicsit megnézed akkor rájösz hogyan.
Cím: Re:[BUG] Mount hiba
Írta: Distraught Dátum 2018-04-20, 14:47:59
mivel csak mob elleni erővel csinálod, ezért tök könnyen megoldható:
char_battle.cpp-ben a Damage függvény elejére írd bele
if(!IsPC() && pAttacker->IsPC() && pAttacker->CountSpecifyItem(18555) > 0) dam += dam/100*30;
Cím: Re:[BUG] Mount hiba
Írta: Meli Dátum 2018-04-20, 17:58:41
Idézetet írta: Distraught Dátum 2018-04-20, 14:47:59
mivel csak mob elleni erővel csinálod, ezért tök könnyen megoldható:
char_battle.cpp-ben a Damage függvény elejére írd bele
if(!IsPC() && pAttacker->IsPC() && pAttacker->CountSpecifyItem(18555) > 0) dam += dam/100*30;

Igen, de neki mesteres szerverbe kellene ez.
Szóval ez is jó, csak ő még + bónuszt akar hozzá adni.
EhPortal 1.39 © 2025, WebDev