Küldetés hiba(k)

Indította ÉdesAngyal, 2013-11-09, 14:55:54

2013-11-09, 14:55:54 Utolsó szerkesztés: 2013-12-02, 17:39:31 Szerző: [MOD]Aceagan
Sziasztok. Itt mi lehet a hiba? :( Nem tudok rájönni sehogy. Remélem, tudtok segíteni.

Idézquest csatametin_kill begin
    state start begin
        when login with pc.level >= 15 begin
            set_state (informaciok)
        end
    end

   state informaciok begin
      when letter begin
         send_letter ( "Vadász küldetés I." )
      end
     
      when button or info begin
         say_title ( "Küldetés tekercs: " )
         say( "A városban híredet hallottam," )
         say( "hogy te vagy a legjobb. " )
         say( "Ezért kapsz egy speciális feladatot." )
         say( "Ez amit adok kezdésnek nem nehéz" )
         say( "így nem muszáj csoportokba fejlődnöd" )
         say( "Ölj meg 15 Csata metint 30 perc alatt," )
         say_reward( ""..mob_name("8003").." kell nekem!" )
        end         
   end
      when letter begin
         send_letter( "Vadász küldetés I." )
      end
      when button or info begin
         say_title( "Vadász küldetés I.: " )
         say( "Mindössze 30 perced van ahhoz," )
         say( "hogy leölj 15 darab Csata metint!" )
         say( "Ha nem végzel időben , a küldetés elbukik " )
         say( "és újra kezdheted a küldetést." )
      set_state ( test )
      end
   
   state test begin
      when letter begin
         q.set_counter( "Csata metinek", 15-pc.getqf("kill_count"))
      end
      when 8003.party_kill begin
         pc.setqf("kill_count", pc.getqf("kill_count")+1)
         q.set_counter( "Csata metinek" , 15-pc.getqf("kill_count"))
         if get_time() >= pc.getqf("limit_time") then
            set_state(failure)
         end
      end
      when letter begin
         q.set_clock(" Hátralévő idő: ", pc.getqf("limit_time")-get_time())
      end
   end

   state failure begin
      when letter begin
         send_letter( "Nem sikerült" )
      end
      when button or info begin
         say_title( "Sajnálom. Nem sikerült" )
         say( "leölnöd 15 Csata metint, így a küldetés nem sikerült." )
         say( "Újra kell kezdened a küldetést, hogy" )
         say( "megvédd a hírnevedet." )
         say( "Sok sikert!" )
      end
   end
      when 8003.party_kill with pc.getqf("kill_count") >= 15 and pc.getqf("kill_count") >= 15 and pc.getqf("limit_time")>=get_time() begin
         chat("A küldetést befejezted!")
         set_state(successful)
      end

   state successful begin
      when letter begin
         send_letter( "Sikerült!" )
      end
      when button or info begin
         say_title( "Vadász küldetés I.:" )
         say("Sikeresen befejezted a küldetést." )
         say("A munkádért nem marad el a jutalmad:" )
         say_reward( "Élet gyümölcse" )
         say_reward( "500.000 Yang" )
         pc.give_item2(71107, 1)
         pc.changegold(500000)
         clear_letter()
      set_state(__COMPLETE__)
      end
   end

    state __COMPLETE__ begin
    end
end

Ugyanazon a staten belül 2db when button or info begin van, ez könnyen bezavarhat, de okosabbak lehetnénk, ha elmondanád, mi a konkrét probléma. Nem futtatja le a qc (ha igen, akkor a hibaüzenetet is mellékelhetnéd), vagy nem teljesíti ingame a követelményeket a quest?

qc-nál visszadobja, ezzel a kóddal:

expecting 'state'
csatametin_kill.quest:24:Abort (Core dumped)

Akkor tök jól beletrafáltam. A második lettert egy új stateben kell kezdeni, főleg, hogy az előzőt addigra le is zártad. Arra figyelni kell, hogy legyen a questnek olyan pontja is, ahol átdob abba a statebe. Nem igazán értem, hogy akarod, hogy ez működjön, szóval kicsit át kell majd gondolni előtte.

Talán így jó lesz a quest-ed:

[spoiler]
quest csatametin_kill begin
    state start begin
        when login with pc.level >= 15 begin
            set_state (informaciok)
        end
    end

state informaciok begin
when letter begin
send_letter ( "Vadász küldetés I." )
end
     
when button or info begin
say_title ( "Küldetés tekercs: " )
say( "A városban híredet hallottam," )
say( "hogy te vagy a legjobb. " )
say( "Ezért kapsz egy speciális feladatot." )
say( "Ez amit adok kezdésnek nem nehéz" )
say( "így nem muszáj csoportokba fejlődnöd" )
say( " Ölj meg 15 Csata metint 30 perc alatt," )
say_reward( ""..mob_name("8003").." kell nekem!" )
        end
when letter begin
send_letter( "Vadász küldetés I." )
end
when button or info begin
say_title( "Vadász küldetés I.: " )
say( "Mindössze 30 perced van ahhoz," )
say( "hogy leölj 15 darab Csata metint!" )
say( "Ha nem végzel időben , a küldetés elbukik " )
say( "és újra kezdheted a küldetést." )
set_state (test)
end
   
state test begin
when letter begin
q.set_counter( "Csata metinek", 15-pc.getqf("kill_count"))
q.set_clock(" Hátralévő idő: ", pc.getqf("limit_time")-get_time())
end
when 8003.party_kill begin
pc.setqf("kill_count", pc.getqf("kill_count")+1)
q.set_counter( "Csata metinek" , 15-pc.getqf("kill_count"))
if get_time() >= pc.getqf("limit_time") then
set_state(failure)
end
end
when 8003.party_kill with pc.getqf("kill_count") >= 15 and pc.getqf("kill_count") >= 15 and pc.getqf("limit_time")>=get_time() begin
chat("A küldetést befejezted!")
set_state(successful)
end
end

state failure begin
when letter begin
send_letter( "Nem sikerült" )
end
when button or info begin
say( "Sajnálom. Nem sikerült" )
say( "leölnöd 15 Csata metint, így a küldetés nem sikerült." )
say( "Újra kell kezdened a küldetést, hogy" )
say( "megvédd a hírnevedet." )
say( "Sok sikert!" )
set_state(informaciok)
return
end
end

state successful begin
when letter begin
send_letter( "Sikerült!" )
end
when button or info begin
say_title( "Vadász küldetés I.:" )
say("Sikeresen befejezted a küldetést." )
say("A munkádért nem marad el a jutalmad:" )
say_reward( "Élet gyümölcse" )
say_reward( "500.000 Yang" )
pc.give_item2(71107, 1)
pc.changegold(500000)
clear_letter()
set_state(__COMPLETE__)
end
end

    state __COMPLETE__ begin
    end
end
[/spoiler]