Quest kérdés

Indította zotya2013, 2017-03-12, 09:41:44

Sziasztok ebben a questre kellene nekem egy megoldás hogy csak 1x lehessen leadni.
Előre is köszönöm a segítségeteket.


Idézquest leadas begin
state start begin
   when 20095.chat."Tüzes Homok" begin
   say("Szeretnél leadni 30 Tüzes Homokot? ")
   say("Jutalmad +200 TP ")
   local valami = select ("Igen","Nem")
    if valami == 2 then
     return
    elseif valami == 1 then
     if pc.countitem(31045) >= 30 then
      pc.removeitem(31045,30)
      affect.add_collect(apply.MAX_HP, 200, 60*60*24*365*60)
     else
       say("Nincs elég Tüzes Homokod! ")
     end
    end
  end
end
end

Szia !Másold le a biológus questek egyikét és azt írd át úgy biztosan csak 1x tudják felvenni a jutalmat.

A when után:
if pc.getqf("valami") != 0 then
   return
end

majd amikor megkapja a bónuszt 1-re állítod
pc.setqf("valami", 1)

getqf változóval is lehet, ahogy Pati írta.

Én state-es megoldással csinálnám, mert sokkal szebb :D


quest leadas begin
state start begin
when 20095.chat."Tüzes Homok" begin
say("Szeretnél leadni 30 Tüzes Homokot? ")
say("Jutalmad +200 TP ")
local valami = select ("Igen","Nem")
if valami == 2 then
return
elseif valami == 1 then
if pc.countitem(31045) >= 30 then
pc.removeitem(31045,30)
affect.add_collect(apply.MAX_HP, 200, 60*60*24*365*60)
set_state(__VEGE__)
else
say("Nincs elég Tüzes Homokod! ")
return
end
end
end
end
state __VEGE__ begin
end
end

Köszönöm Témát zárom +ok mentek :)