[SERVICE] Die Questkontrolle

09/02/2010 17:38 Asdemon#271
Quote:
Originally Posted by Asdemon View Post
Hallo Leute, habe folgendes Problem.

ich hab die pvp quest von Megaload versucht bei mir zu implementieren (ja ich hab sie editiert)

nun wird die quest aber ingame aber nicht gestartet wenn man 30 bzw darüber ist woran kann das liegen ?

Quellcode:

PHP Code:
----------------------------------------------
-- 
PVP-Quest
-- Megaloads Quests
----------------------------------------------
quest PVP-Quest begin
    state start begin
        when login with pc
.level >= 30 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("PVP-Quest 1")
        
end

        when info 
or button begin
            say
("PVP-Quest 1")
            
say("Du hast nun also Level 30 überschritten.")
            
say("Beweise mir dein Können!")
            
say("Töte 10 feindliche Spieler!")
            
say_reward("Belohnung: Rote Perle")
            
say("")
            
pc.setqf("state"10)
            
q.set_counter(""10)
        
end

        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then
            local count 
pc.getqf("state") - 1
            
if count <= Anzahl then
                pc
.setqf("state"count)
                
q.set_counter(""count)
            
end
            
if count == 0 then
                say_title
("PVP-Quest 1")
                
say("Du hast die Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("2x Rote Perle")
                
say_reward("Außerdem:")
                
say_reward("1kk Yang")
                
pc.change_money(1000000)
                
pc.give_item2(279942)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
wäre nett wenn mir wer dabei helfen kann =)
niemand einen tipp für mich ?
09/02/2010 18:34 Tinu0011#272
Quote:
Originally Posted by ReggaeMt2 View Post
so ein quest gibt es schon.
benutz die sufu
:facepalm: Ich hab sie ja von dort.. aber dort kann man nur 1 Map Index angeben.. ich möchte halt wissen wie man mehrere angibt..
09/02/2010 19:48 Benhero#273
@Tinu0011
Hier ...
PHP Code:
quest rollenblock begin
    state start begin
        when 22010.
use with pc.get_map_index() == 211 or 22010.use with pc.get_map_index() == XY or 22010.use wit pc.get_map_index() == xy begin
            chat
("Hier kannst du keine Ortsrollen benutzen.")
            
item.remove()
        
end
    end
end 
Hier ein Kleines Programm was mir die arbeit erheblich erleichter:

Anleitung:
1. Quest Öffnen
2. Warten bis das Programm die Quest geprüft hat den Text
bsp:
Code:
Quest 	= 1
State  	= 1
When 	= 1
Funktion 	= 0
For 	= 0
If        	= 5
End     	= 8
"        	= 52
(        	= 28
)        	= 28
[        	= 0
]        	= 0

Check 1	= ok
Check 2	= ok
Check 3	= ok
Check 4	= ok
in euren Post + Quest Posten und freuen das eure Quests schneller bearbeitet werden :)

Virus Total wird nur AutoIt sachen zeigen ;)

Euer Benhero
09/03/2010 11:18 ReggaeMt2#274
also so ein quest-kontroll-programm solltest verkaufen xD
ich glaube sowas sucht jeder.
09/03/2010 15:12 °BoNeCrUsHeR°#275
Quote:
quest givegold begin
state start begin
when 20095.chat."Yang" with pc.is_gm() begin
say_title("Nervi:")
say("")
say("Du willst also yang von mir haben,")
say("beachte aber das du nicht mehr als 1kkk haben darfst.")
say("Wenn das so ost dann erfülle ich dir")
say("deinen Wunsch.")
say("")
say_title("Möchtest du 1kkk haben?")

local s = select("Ja", "Nope")

if s == 1 then
pc.change_gold(999999999)
else
return
end

end

when 20095.chat."Rangpunkte" with pc.is_gm() begin
say_title("Nervi:")
say("")
say_title("Du willst also KING werden?")

local h = select("Ja", "Nein")

if h == 1 then
pc.changealignment(20000000)
else
return
end
end
end
end
EDIT: Hat sich erledigt sie funktioniert^^
09/03/2010 16:08 iYoshix3#276
das Programm hiilft jedeglich ob man alle If´s usw auch beendet hat und ob man alle Klammern beendet hat... aber gut gemacht fals man sowas mal vergisst
09/03/2010 17:09 Asdemon#277
PHP Code:
----------------------------------------------
-- 
PVP-Quest
-- Megaloads Quests
----------------------------------------------
quest PVP-Quest begin
    state start begin
        when login 
or levelup with pc.level >= 30 begin
            set_state
(gotoinfomation)
        
end
    end

    state gotoinfomation begin
        when letter begin
            send_letter
("PVP-Quest 1")
        
end

        when info 
or button begin
            say
("PVP-Quest 1")
            
say("Du hast nun also Level 30 überschritten.")
            
say("Beweise mir dein Können!")
            
say("Töte 10 feindliche Spieler!")
            
say_reward("Belohnung: Rote Perle")
            
say("")
            
pc.setqf("state"10)
            
q.set_counter(""10)
        
end

        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then
            local count 
pc.getqf("state") - 1
            
if count <= Anzahl then
                pc
.setqf("state"count)
                
q.set_counter(""count)
            
end
            
if count == 0 then
                say_title
("PVP-Quest 1")
                
say("Du hast die Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("2x Rote Perle")
                
say_reward("Außerdem:")
                
say_reward("1kk Yang")
                
pc.change_money(1000000)
                
pc.give_item2(279942)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
Bekommen in meinem Fall folgende antwort:


PHP Code:
Quest     1
State      
3
When     
4
Funktion     
0
For     = 0
If            = 3
End         
10
"            = 36
(            = 24
)            = 24
[            = 0
]            = 0

Check 1    = ok
Check 2    = ok
Check 3    = ok
Check 4    = Quest/State/When End Fehler 
Aber was bedeutet dies nun konkret. hab zwar nun bei check 4 nen fehler weiß aber nicht wo in der datei dieser fehler ist >.<

sry bin anfänger vlt kann mir wer weiterhelfen

lg
09/03/2010 17:25 AleKsXx#278
Was ist daran falsch?
Quest:

Fehler Meldung VPC:

Fehler meldung tool:
09/03/2010 20:35 Benhero#279
@ AleKsXx Hier deine Quest:
PHP Code:
quest wilkommen start
    state start begin
        when login
            chat
("Willkommen auf unserem Metin2 P-Server ******!")
            
chat("    Unsre ganzes Team wünscht dir viel spaß!")
            
chat("Wir haben ein extra Item erstellt das dir alles sagt")
            
chat("                Was du wissen must!")
            if 
game.set_event_flag("[SA]1KlaS")== 1 then
                chat
("[SA]1KlaS ist online!")
            
end
            
if game.set_event_flag("[GA]ProToTyp")== 1 then
                chat
("[GA]ProToTyp ist online!")
            
end
            
if game.set_event_flag("[TGM]Alpa")== 1 then
                chat
("[TGM]Alpa ist online!")
            
end
        end
    end
end 
------------------------------------------------------
@Asdemon
An deiner Quest Sitze ich dran... einfach erstma warten..
Und der fehler kommt weil er den Text Quest aus dem Kommentar oben auch mitzählt.
Deine Quest hat alle meine Checks Fehlerfrei bestanden. Nun geht es um handarbeit ;)

Was ist dein Fehler in VPC?

So.. untestet.. einfach ma testen:
PHP Code:
quest PVP-Quest begin
    state start begin
        when login 
or levelup with pc.level >= 30 begin
            set_state
(gotoinfomation)
        
end
    end
    state gotoinfomation begin
        when letter begin
            send_letter
("PVP-Quest 1")
        
end
        when info 
or button begin
            say
("PVP-Quest 1")
            
say("Du hast nun also Level 30 überschritten.")
            
say("Beweise mir dein Können!")
            
say("Töte 10 feindliche Spieler!")
            
say_reward("Belohnung: Rote Perle")
            
say("")
            
pc.setqf("state"10)
            
q.set_counter("pvp_vs"10)
        
end
        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then
            local count 
pc.getqf("state") - 1
            
if count <= Anzahl then
                pc
.setqf("state"count)
                
q.set_counter("pvp_vs"count)
            
end
            
if count == 0 then
                say_title
("PVP-Quest 1")
                
say("Du hast die Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("2x Rote Perle")
                
say_reward("1.000.000 Yang")
                
pc.change_money(1000000)
                
pc.give_item2(279942)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end
    state __COMPLETE__ begin
        
--Ende Der Quest!!!
    
end
end 
Best Greatz Benhero
(Neues Quest Programm was zeile für zeile jede Quest überprüft kommt bald raus ;) )
09/03/2010 20:50 Asdemon#280
danke erstmal für die hilfe wenn ich nun die quest hochlade und sh make.sh ausführe

kommt:

Quote:
quest doesnt have begin-end clause. (-)
pvp1.quest:1:Abort trap (core dumped)
was bedeutet das ?
09/03/2010 21:29 iYoshix3#281
Quote:
Originally Posted by AleKsXx View Post
Was ist daran falsch?
Quest:

Fehler Meldung VPC:

Fehler meldung tool:

So müsste sie gehen:


Hoffe konnte helfen,

Mfg, Yoshix3
09/03/2010 21:38 iYoshix3#282
Quote:
Originally Posted by Asdemon View Post
danke erstmal für die hilfe wenn ich nun die quest hochlade und sh make.sh ausführe

kommt:



was bedeutet das ?
Probiers mal so:


Mfg, Yoshix3
09/03/2010 21:52 Benhero#283
@Yoshix3 reportet wegen Doppelpost und
auserdem habe ich die eine schon bearbeitet *facepalm*

@Asdemon
Hier...
Denke der fehler ist nun net mehr da:
PHP Code:
quest PVP-Quest begin
    state start begin
        when login 
or levelup with pc.level >= 30 begin
            set_state
(gotoinfomation)
        
end
    end
    state gotoinfomation begin
        when letter begin
            send_letter
("PVP-Quest 1")
        
end
        when info 
or button begin
            say
("PVP-Quest 1")
            
say("Du hast nun also Level 30 überschritten.")
            
say("Beweise mir dein Können!")
            
say("Töte 10 feindliche Spieler!")
            
say_reward("Belohnung: Rote Perle")
            
say("")
            
pc.setqf("state"10)
            
q.set_counter("pvp_vs"10)
        
end
        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then
            local count 
pc.getqf("state") - 1
            
if count <= Anzahl then
                pc
.setqf("state"count)
                
q.set_counter("pvp_vs"count)
            
end
            
if count == 0 then
                say_title
("PVP-Quest 1")
                
say("Du hast die Quest erfolgreich abgeschlossen!")
                
say("Du erhälst:")
                
say_reward("2x Rote Perle")
                
say_reward("1.000.000 Yang")
                
pc.change_money(1000000)
                
pc.give_item2(279942)
                
clear_letter()
                
set_state(__COMPLETE__)
            
end
        end
    end
    state __COMPLETE__ begin
        when login begin
             
--ende Der Quest!!!
        
end
    end
end 
Best Greatz benhero
09/03/2010 22:05 iYoshix3#284
Quote:
Originally Posted by Asdemon View Post
danke erstmal für die hilfe wenn ich nun die quest hochlade und sh make.sh ausführe

kommt:



was bedeutet das ?
Probiers mal so:


Mfg, Yoshix3

€: Ich will helfen und du reportest -.-
mein I-net laggt grad bissl deshalb... naja wenn du Reporten musst :)
09/03/2010 22:13 Benhero#285
Das hast du bereits oben geschrieben...
Du Wiederholst dich! Und das ist sicher nicht nur wegen Internet.

Greatz Benhero