[SERVICE] Die Questkontrolle

09/13/2011 14:38 vbacoder#3466
Ich komm ned weiter:

QUEST:
Quote:
quest yang_050 begin
state start begin
when login or levelup with pc.get_level() >= 50 begin
set_state(gehzumnpc)
end
end

state gehzumnpc begin
when letter begin
local a = find_npc_by_vnum(9005)
if a != 0 then
target.vid("__TARGET__", a, "Lagerverwalter")
end
send_letter("Herzlichen glückwunsch!")
end

when button or info begin
say_title("Kontoservice:")
say("Du erhällst 5kk für level 50")
say("Du kannst es beim Lagerverwalter abholen!")
end

when __TARGET__.target.click or
9005.chat."Kontoservice:" begin
target.delete("__TARGET__")
--- l
say_title(mob_name(I9005))
say("Durch deinLevel-UP")
say("erhälst du: 5kk yang")
say("Du kannst dein Guthaben nur alle 5 Level ändern.")
pc.change_money(5000000)
set_state(complete)
end
end

state complete begin
end
end
Fehler:

...
Quote:
Calls undeclared function! :
pc.is_dead
Abort trap (core dumped)
Error occured on compile battle_arena.quest
BITTE HELFT MIR! BIN ÜBER JEDEN HILFREICHEN POST DANKBAR :D
09/13/2011 14:53 spielmitmir#3467
Hey, kurze sache, quest erscheint Ingame nicht, aber in Virtualbox scheint alles o.K. zu sein.

09/13/2011 16:58 .ReDDoX™#3468
Quote:
Originally Posted by spielmitmir View Post
Hey, kurze sache, quest erscheint Ingame nicht, aber in Virtualbox scheint alles o.K. zu sein.


Hey

Versuch es mal so:
09/13/2011 17:24 F4m0uZStYle#3469
PHP Code:
quest starterset begin
state start begin
when login with pc
.level >= 1 begin
if pc.getqf("basic_weapon") == 0 then
pc
.setqf("basic_weapon"1)
if 
pc.job == 0 then
pc
.give_item2(112091)
pc.give_item2(122091)
pc.give_item2(130091)
pc.give_item2(170091)
pc.give_item2(140091)
pc.give_item2(150091)
pc.give_item2(160091)
pc.give_item2(191)
elseif 
pc.job == 1 then
pc
.give_item2(114091)
pc.give_item2(123491)
pc.give_item2(130091)
pc.give_item2(170091)
pc.give_item2(140091)
pc.give_item2(150091)
pc.give_item2(160091)
pc.give_item2(10091)
elseif 
pc.job == 2 then
pc
.give_item2(116091)
pc.give_item2(124891)
pc.give_item2(130091)
pc.give_item2(170091)
pc.give_item2(140091)
pc.give_item2(150091)
pc.give_item2(160091)
pc.give_item2(191)
elseif 
pc.job == 3 then
pc
.give_item2(118091)
pc.give_item2(126291)
pc.give_item2(130091)
pc.give_item2(170091)
pc.give_item2(140091)
pc.give_item2(150091)
pc.give_item2(160091)
pc.give_item2(70091)
end
pc
.give_item2(27003200)
pc.give_item2(27006200)
pc.give_item2(2711250)
pc.give_item2(2711550)
pc.give_item2(727011)
pc.give_item2(7003850)
pc.give_item2(7102710)
pc.give_item2(7102810)
pc.give_item2(7102910)
pc.give_item2(7103010)
notice_all(pc.get_name().." ist neu auf dem Server")
say_title("Willkommen auf Fantasy2!")
say("______________________________________")
say_reward("Willkommen auf unserem Server.")
say_reward("Unsere momentane Homepage befindet")
say_reward("Sich in Bearbeitung. Alle Informationen")
say_reward("Bekommt ihr Ingame zu hören.")
say("______________________________________")
say_reward("Viel Spaß")
say(""
set_state(__complete)
end
end
state __complete begin
end
end
end 



vbacoder,deine quest sieht gut aus,nur du musst diesen befehl in deine quest_function einfügen
PHP Code:
pc.is_dead 
09/13/2011 17:25 spielmitmir#3470
Core dumped :(
09/13/2011 17:37 Brodan#3471
Quote:
Originally Posted by Brodan View Post
Nabend,

habe mich nochmals an 2 meiner Quests gesetzt.
Das Ergebnis war, dass die Quests nicht mehr richtig funktionieren.

Quest 1:

Quest 2:

Danke im Vorraus :3
Wäre jemand so nett sich das anzusehen?
Danke im Vorraus
09/13/2011 17:44 F4m0uZStYle#3472
PHP Code:
quest change_gold begin
    state start begin
        when 30122.chat
."Geldgeschenk" begin
            say_title
(""..mob_name(30122)..":")
            
say("")
            
say("Heyho, du willst dir etwas kaufen aber dir fehlt")
            
say("das nötige Yang?")
            
say("")
            
say("Du hast Glück, denn ich habe vor ein paar Tagen")
            
say("eine hohe Menge Yang gewonnen!")
            
say("")
            
say("Ich werde dir 250 Mio. Yang schenken.")
            
say("")
            
say_reward("Achtung: Wenn du mehr als 1.749.999.999 Yang")
            
say_reward("hast wirst du einen Bug bekommen!")
            
say("")
            
local s select("Ja, bitte gib mir Yang!","Nein, ich habe genug Yang.")
            if 
== 2 then
                say_title
(""..mob_name(30122)..":")
                
say("")
                
say("Na dann, bis bald!")
                
say("")
                return
            
end
            
elseif == 1 then
                
if pc.get_money == 1749999999 then
                    say_title
(""..mob_name(30122)..":")
                    
say("")
                    
say("Hier bitte!")
                    
say("")
                    
say_reward("Du hast 250.000.000 Yang erhalten!")
                    
pc.change_money 250000000 )
            
end
                
else
                    
say_title(""..mob_name(30122)..":")
                    
say("")
                    
say("Ich kann dir kein Yang geben, da du")
                    
say("ansonsten den Maximal-Wert überschreiten würdest!")
                
end
            end
        end 

PHP Code:
quest geldspeicher_quest begin
    state start begin
        when 70010.
use begin
            say_title
("Lagerschein")
            
say("")
            
say("Du möchtest also deine 500 mio. Yang")
            
say("Zurückbekommen?")
            
say("")
            
local s select("Ja","Nein")
            if 
== 2 then
                
return
            
end
            
elseif == 1 then
                
if pc.get_money == 1499999999 then
                    pc
.change_money(500000000)
                    
pc.remove_item(700101)
                    
say_title("Lagerschein")
                    
say("")
                    
say("Hier bitte!")
                    
say("")
                    
say_reward("Du hast 500.000.000 Yang zurückbekommen!")
                    
say("")
            
end
                
else
                    
say_title("Lagerschein")
                    
say("")
                    
say("Du kannst kein Yang zurückbekommen,")
                    
say("da du ansonsten den Maximal-Wert überschreiten würdest!")
                    
say("Komm wieder wenn du weniger als")
                    
say("1.500.000.000 Yang hast!")
                    
say("")
                
end    
            end
        end 

also hab eig kein fehler gefunden,normaler weise müsste sie gehen




@spielmit mir

versuch die nochmal.
PHP Code:
quest starterset begin
state start begin
when login with pc
.level >= 1 begin
if pc.getqf("basic_weapon") == 0 then
pc
.setqf("basic_weapon"1)
if 
pc.job == 0 then
pc
.give_item2(112091)
pc.give_item2(122091)
pc.give_item2(130091)
pc.give_item2(170091)
pc.give_item2(140091)
pc.give_item2(150091)
pc.give_item2(160091)
pc.give_item2(191)
elseif 
pc.job == 1 then
pc
.give_item2(114091)
pc.give_item2(123491)
pc.give_item2(130091)
pc.give_item2(170091)
pc.give_item2(140091)
pc.give_item2(150091)
pc.give_item2(160091)
pc.give_item2(10091)
elseif 
pc.job == 2 then
pc
.give_item2(116091)
pc.give_item2(124891)
pc.give_item2(130091)
pc.give_item2(170091)
pc.give_item2(140091)
pc.give_item2(150091)
pc.give_item2(160091)
pc.give_item2(191)
elseif 
pc.job == 3 then
pc
.give_item2(118091)
pc.give_item2(126291)
pc.give_item2(130091)
pc.give_item2(170091)
pc.give_item2(140091)
pc.give_item2(150091)
pc.give_item2(160091)
pc.give_item2(70091)
end
pc
.give_item2(27003200)
pc.give_item2(27006200)
pc.give_item2(2711250)
pc.give_item2(2711550)
pc.give_item2(727011)
pc.give_item2(7003850)
pc.give_item2(7102710)
pc.give_item2(7102810)
pc.give_item2(7102910)
pc.give_item2(7103010)
notice_all(""pc.get_name().." ist neu auf dem Server")
say_title("Willkommen auf Fantasy2!")
say("______________________________________")
say_reward("Willkommen auf unserem Server.")
say_reward("Unsere momentane Homepage befindet")
say_reward("Sich in Bearbeitung. Alle Informationen")
say_reward("Bekommt ihr Ingame zu hören.")
say("______________________________________")
say_reward("Viel Spaß")
say(""
set_state(__complete)
end
end
state __complete begin
end
end
end 
09/13/2011 18:29 spielmitmir#3473
Komischerweise sagt er mir immer, das ein core dumped wegen dem pc. kommt.
09/13/2011 18:32 .Nguyen#3474
PHP Code:
quest geldspeicher_quest begin
    state start begin
        when 70010.
use begin
            say_title
("Lagerschein")
            
say("")
            
say("Du möchtest also deine 500 mio. Yang")
            
say("Zurückbekommen?")
            
say("")
            
local s select("Ja","Nein")
            if 
== 2 then
                
return
            
end
            
elseif == 1 then
                
if pc.get_money == 1499999999 then
                    pc
.change_money(500000000)
                    
pc.remove_item(700101)
                    
say_title("Lagerschein")
                    
say("")
                    
say("Hier bitte!")
                    
say("")
                    
say_reward("Du hast 500.000.000 Yang zurückbekommen!")
                    
say("")
            
end
                
else
                    
say_title("Lagerschein")
                    
say("")
                    
say("Du kannst kein Yang zurückbekommen,")
                    
say("da du ansonsten den Maximal-Wert überschreiten würdest!")
                    
say("Komm wieder wenn du weniger als")
                    
say("1.500.000.000 Yang hast!")
                    
say("")
                
end    
            end
        end 
end 
hatn end gefehlt.
09/13/2011 19:01 F4m0uZStYle#3475
eigendlich nicht Nguyen es sind nur 5 ends

wegen:
PHP Code:
Quest End
        state 
End
        When 
End
        
if == 2 then End
        
if pc.get_money End 
^^
09/13/2011 19:16 Brodan#3476
Es funktioniert trotzdem weder Quest #1, noch Quest #2.
09/13/2011 19:23 xTheSoulutionxx3#3477
hab bei dieser quest ein porblem

PHP Code:
quest ostern begin
    state start begin
        when 30121.chat
."Osterei-Tausch" begin
            say_titel
("Osterhase")
            
say("Oh Hallo! Frohe Ostern!")
            
say("...")
            
say("Wie ich sehe möchtest du was bei mir eintauschen?")
            
say("Ich brauche unbedingt Ostereier die ich bei den Kindern")
            
say("verstecken kann!")
            
wait()
            if 
pc.count_item(50168)>
            
or
            if 
pc.count_item(50169)>
            
or
            if 
pc.count_item(50170)>
            
or
            if 
pc.count_item(50171)>
            
or
            if 
pc.count_item(50172)>
            
or
            if 
pc.count_item(50173)>
            
or
            if 
pc.count_item(50174)>
            
or
            if 
pc.count_item(50175)>
            
or
            if 
pc.count_item(50176)>
            
or
            if 
pc.count_item(50177)>
            
or
            if 
pc.count_item(50178)>
            
or
            if 
pc.count_item(50179)>5 then
                say
("Ok dann wollen wir mal...")
                
say(".....")
                
wait()
                
say("Danke für diese 5 Eier!")
                
say("Ich habe dir nun 1 wertvolles Items gegeben..")
                
say("Ich hoffe du kannst es gebrauchen!")
                
pc.removeitem("50168"5)
                or
                
pc.removeitem("50169"5)
                or
                
pc.removeitem("50170"5)
                or
                
pc.removeitem("50171"5)
                or
                
pc.removeitem("50172"5)
                or
                
pc.removeitem("50173"5)
                or
                
pc.removeitem("50174"5)
                or
                
pc.removeitem("50175"5)
                or
                
pc.removeitem("50176"5)
                or
                
pc.removeitem("50177"5)
                or
                
pc.removeitem("50178"5)
                or
                
pc.removeitem("50179"5)
                
local r=number(135)
                    if 
1>=r then
                        pc
.give_item2("71107"1)
                    elseif 
2>=r then
                        pc
.give_item2("71107"1)
                    elseif 
3>=r then
                        pc
.give_item2("71107"1)
                    elseif 
4>=r then
                        pc
.give_item2("71107"1)
                    elseif 
5>=r then
                        pc
.give_item2("71107"1)
                    elseif 
6>=r then
                        pc
.give_item2("71107"1)
                    elseif 
7>=r then
                        pc
.give_item2("71107"1)
                    elseif 
8>=r then
                        pc
.give_item2("71107"1)
                    elseif 
9>=r then
                        pc
.give_item2("71107"1)
                    elseif 
10>=r then
                        pc
.give_item2("71107"1)
                    elseif 
11>=r then
                        pc
.give_item2("71107"1)
                    elseif 
12>=r then
                        pc
.give_item2("71107"1)
                    elseif 
13>=r then
                        pc
.give_item2("71107"1)
                    elseif 
14>=r then
                        pc
.give_item2("71107"1)
                    elseif 
15>=r then
                        pc
.give_item2("71107"1)
                    elseif 
16>=r then
                        pc
.give_item2("71107"1)
                    elseif 
17>=r then
                        pc
.give_item2("71107"1)
                    elseif 
18>=r then
                        pc
.give_item2("71107"1)
                    elseif 
19>=r then
                        pc
.give_item2("71107"2)
                    elseif 
20>=r then
                        pc
.give_item2("30231"2)
                    elseif 
21>=r then
                        pc
.give_item2("9991"1)
                    elseif 
22>=r then
                        pc
.give_item2("9991"1)
                    elseif 
23>=r then
                        pc
.give_item2("90032"5)
                    elseif 
24>=r then
                        pc
.give_item2("90032"5)
                    elseif 
25>=r then
                        pc
.give_item2("90032"5)
                    elseif 
26>=r then
                        pc
.give_item2("71020"1)
                    elseif 
27>=r then
                        pc
.give_item2("71020"5)
                    elseif 
28>=r then
                        pc
.give_item2("71020"1)
                    elseif 
29>=r then
                        pc
.give_item2("71020"1)
                    elseif 
30>=r then
                        pc
.give_item2("25041"1)
                    elseif 
31>=r then
                        pc
.give_item2("25041"1)
                    elseif 
32>=r then
                        pc
.give_item2("71032"1)
                    elseif 
33>=r then
                        pc
.give_item2("71032"1)
                    elseif 
34>=r then
                        pc
.give_gold("2000000")
                    elseif 
35>=r then
                        pc
.give_gold("2000000")
                    
                    
end
            
else

                
say("Du hast keine 5 Eier!")
                
say("Versuch mich nicht zu betrügen.")
            
end    
        end    
        
        
    end    
end 
09/13/2011 19:31 RedKing2#3478
PHP Code:
quest ostern begin 
    state start begin 
        when 30121.chat
."Osterei-Tausch" begin 
            say_titel
("Osterhase"
            
say("Oh Hallo! Frohe Ostern!"
            
say("..."
            
say("Wie ich sehe möchtest du was bei mir eintauschen?"
            
say("Ich brauche unbedingt Ostereier die ich bei den Kindern"
            
say("verstecken kann!"
            
wait() 
            if 
pc.count_item(50168)>5  
            
or 
            
pc.count_item(50169)>5  
            
or 
            
pc.count_item(50170)>5  
            
or 
            
pc.count_item(50171)>5  
            
or 
            
pc.count_item(50172)>5  
            
or 
            
pc.count_item(50173)>5  
            
or 
            
pc.count_item(50174)>5  
            
or 
            
pc.count_item(50175)>5  
            
or 
            
pc.count_item(50176)>5  
            
or 
            
pc.count_item(50177)>5  
            
or 
            
pc.count_item(50178)>5  
            
or 
            
pc.count_item(50179)>5 then 
                say
("Ok dann wollen wir mal..."
                
say("....."
                
wait() 
                
say("Danke für diese 5 Eier!"
                
say("Ich habe dir nun 1 wertvolles Item gegeben.."
                
say("Ich hoffe du kannst es gebrauchen!"
                
pc.removeitem("50168"5
                or 
                
pc.removeitem("50169"5
                or 
                
pc.removeitem("50170"5
                or 
                
pc.removeitem("50171"5
                or 
                
pc.removeitem("50172"5
                or 
                
pc.removeitem("50173"5
                or 
                
pc.removeitem("50174"5
                or 
                
pc.removeitem("50175"5
                or 
                
pc.removeitem("50176"5
                or 
                
pc.removeitem("50177"5
                or 
                
pc.removeitem("50178"5
                or 
                
pc.removeitem("50179"5
                
local r=number(135
                    if 
1>=r then 
                        pc
.give_item2("71107"1
                    elseif 
2>=r then 
                        pc
.give_item2("71107"1
                    elseif 
3>=r then 
                        pc
.give_item2("71107"1
                    elseif 
4>=r then 
                        pc
.give_item2("71107"1
                    elseif 
5>=r then 
                        pc
.give_item2("71107"1
                    elseif 
6>=r then 
                        pc
.give_item2("71107"1
                    elseif 
7>=r then 
                        pc
.give_item2("71107"1
                    elseif 
8>=r then 
                        pc
.give_item2("71107"1
                    elseif 
9>=r then 
                        pc
.give_item2("71107"1
                    elseif 
10>=r then 
                        pc
.give_item2("71107"1
                    elseif 
11>=r then 
                        pc
.give_item2("71107"1
                    elseif 
12>=r then 
                        pc
.give_item2("71107"1
                    elseif 
13>=r then 
                        pc
.give_item2("71107"1
                    elseif 
14>=r then 
                        pc
.give_item2("71107"1
                    elseif 
15>=r then 
                        pc
.give_item2("71107"1
                    elseif 
16>=r then 
                        pc
.give_item2("71107"1
                    elseif 
17>=r then 
                        pc
.give_item2("71107"1
                    elseif 
18>=r then 
                        pc
.give_item2("71107"1
                    elseif 
19>=r then 
                        pc
.give_item2("71107"2
                    elseif 
20>=r then 
                        pc
.give_item2("30231"2
                    elseif 
21>=r then 
                        pc
.give_item2("9991"1
                    elseif 
22>=r then 
                        pc
.give_item2("9991"1
                    elseif 
23>=r then 
                        pc
.give_item2("90032"5
                    elseif 
24>=r then 
                        pc
.give_item2("90032"5
                    elseif 
25>=r then 
                        pc
.give_item2("90032"5
                    elseif 
26>=r then 
                        pc
.give_item2("71020"1
                    elseif 
27>=r then 
                        pc
.give_item2("71020"5
                    elseif 
28>=r then 
                        pc
.give_item2("71020"1
                    elseif 
29>=r then 
                        pc
.give_item2("71020"1
                    elseif 
30>=r then 
                        pc
.give_item2("25041"1
                    elseif 
31>=r then 
                        pc
.give_item2("25041"1
                    elseif 
32>=r then 
                        pc
.give_item2("71032"1
                    elseif 
33>=r then 
                        pc
.give_item2("71032"1
                    elseif 
34>=r then 
                        pc
.give_gold("2000000"
                    elseif 
35>=r then 
                        pc
.give_gold("2000000"
                     
                    
end 
            
else 

                
say("Du hast keine 5 Eier!"
                
say("Versuch mich nicht zu betrügen."
            
end     
        end     
         
         
    end     
end 
If pc.count_item(xxx) > 5 or pc.count (ein weiteres if ist nicht nötig wenn du "or" oder "and" benutzt)
09/13/2011 19:34 xTheSoulutionxx3#3479
ja bin noch am lernen
09/13/2011 22:23 F O R S E N B O Y S#3480
PHP Code:
quest gmlogin begin 
    state start begin 
        when login with pc
.is_gm() begin 
            say_reward
("Online / Offline")
            
say("Willst du dich als online anzeigen?")
            
local s select("Ja","Nein")
            
local name pc.get_name() 
                if 
== 1 then
                    game
.set_event_flag(name1
                    
setskin(NOWINDOW
                    
end
                
elseif == 2 then
                    game
.set_event_flag(name,0)
                    
setskin(NOWINOW)
                    
end
                                        
        end 
    end 
end 
Klappt nicht