[SERVICE] Die Questkontrolle

06/14/2013 12:38 .ZiPPO#8281
Sind hier auch PHP Hilfen möglich?:)
06/14/2013 21:25 Fliegex3#8282
PHP Code:
quest level20 begin     
    state start begin     
        when login 
or levelup with pc.get_level() >= 20 begin 
            items 
= {52044,52026,52015,52058}
            
say("Du bist bereit für ein Power Mount."
            
say("Du hast das Level 20 erreicht ,"
            
say("Wähle dir ein Power Mount aus, das du bevorzugst."
            
local a select("Löwe - 150Def""Wolf - 5% Monster" "Keiler - 100AW" "Tiger - 500Tp" "Ich überlege es mir noch."
            if 
== 5 then return -- vlltwann anderes mal 
            
else
                
pc.give_item2(items[a], 1)
                
set_state(__COMPLETE__)
            
end                      
        end 
    end

    state __COMPLETE__ begin
    end
end 
Wenn ich ein Siegel auswähl bekomm ich es nicht und die Quest erscheint immer wenn ich mich einlogge.
06/14/2013 22:33 ProfessorEnte#8283
Quote:
Originally Posted by Fliegex3 View Post
PHP Code:
quest level20 begin     
    state start begin     
        when login 
or levelup with pc.get_level() >= 20 begin 
            items 
= {52044,52026,52015,52058}
            
say("Du bist bereit für ein Power Mount."
            
say("Du hast das Level 20 erreicht ,"
            
say("Wähle dir ein Power Mount aus, das du bevorzugst."
            
local a select("Löwe - 150Def""Wolf - 5% Monster" "Keiler - 100AW" "Tiger - 500Tp" "Ich überlege es mir noch."
            if 
== 5 then return -- vlltwann anderes mal 
            
else
                
pc.give_item2(items[a], 1)
                
set_state(__COMPLETE__)
            
end                      
        end 
    end

    state __COMPLETE__ begin
    end
end 
Wenn ich ein Siegel auswähl bekomm ich es nicht und die Quest erscheint immer wenn ich mich einlogge.
Hey,
verstehe auch nicht ganz wieso man das Siegel nicht bekommt. Jedenfals scheint es, als ob es nach dem select den code garnichtmehr ausfuehrt.
Du kannst das ganze aber auch anders machen, so bekommst du direkt ein Brief links mit level 20 und kannst es jederzeit wieder ausfuehren wenn man es noch nicht auswaehlen wollte! :)

PHP Code:
quest level20 begin     
    state start begin     
        when login 
or levelup with pc.get_level() >= 20 begin 
            set_state
(start_2)
        
end
    end
    state start_2 begin
        when letter begin
            send_letter
("Dein Power Mount!")
        
end
        when button 
or info begin
            items 
= {52044,52026,52015,52058}
            
say_title("Dein Power Mount!")
            
say("Du bist bereit für ein Power Mount."
            
say("Du hast das Level 20 erreicht ,"
            
say("Wähle dir ein Power Mount aus, das du bevorzugst."
            
local a select("Löwe - 150Def""Wolf - 5% Monster" "Keiler - 100AW" "Tiger - 500Tp" "Ich überlege es mir noch."
            if 
~=5 then --Wenn a nicht gleich 5 istwird es ausgefuehrtDu musst nicht extra bei a 5 ein return verwendenda es sowieso zurueck geht dann.
                
pc.give_item2(items[a], 1)
                
clear_letter()
                
set_state(__COMPLETE__)
            
end                      
        end 
    end

    state __COMPLETE__ begin
    end
end 
06/14/2013 23:16 GenerationAzzlack#8284
Code:
WHEN  : info
expecting 'when' or 'function'
berufe.quest:16:Error occured on compile berufe.quest
Code:
quest berufe begin   
	state start begin
		when levelup with pc.get_level() == 6 begin
            send_letter("Die Berufe")
        end
		when button or info begin
            say_title("Die Berufe")
            say("Hallo Abenteurer,")
            say("Du kannst hier nun deinen Beruf auswählen.")
            say("Dieser wird dir dauerhaft einen bestimmten")
            say("Bonuswert hinzufügen. Du kannst dich in diesem")
            say("Beruf auch fortbilden, um höhere Bonis zu erhalten")
            say("gehe zu Hong-Hae, die findest du in jeder Map1")
				clear_letter()
				end
    state start begin
        when 20094.chat."Berufe" with pc.get_level() >= 6 begin
            if pc.get_level() == 5 then
                say_title("Dein Level")
Rest müsste unwichtig sein, denk ich
-.-
06/14/2013 23:30 ProfessorEnte#8285
Quote:
Originally Posted by GenerationAzzlack View Post
Code:
WHEN  : info
expecting 'when' or 'function'
berufe.quest:16:Error occured on compile berufe.quest
Code:
quest berufe begin   
	state start begin
		when levelup with pc.get_level() == 6 begin
            send_letter("Die Berufe")
        end
		when button or info begin
            say_title("Die Berufe")
            say("Hallo Abenteurer,")
            say("Du kannst hier nun deinen Beruf auswählen.")
            say("Dieser wird dir dauerhaft einen bestimmten")
            say("Bonuswert hinzufügen. Du kannst dich in diesem")
            say("Beruf auch fortbilden, um höhere Bonis zu erhalten")
            say("gehe zu Hong-Hae, die findest du in jeder Map1")
				clear_letter()
				end
    state start begin
        when 20094.chat."Berufe" with pc.get_level() >= 6 begin
            if pc.get_level() == 5 then
                say_title("Dein Level")
Rest müsste unwichtig sein, denk ich
-.-
Hey,
du hast folgende Probleme:
- ein State endet immer mit einem end
- es koennen keine States vom selben Namen in einer Quest sein
- fuer das ansprechen des NPC's musst du nicht extra ein neuen State machen

PHP Code:
quest berufe begin   
    state start begin
        when levelup with pc
.get_level() == 6 begin
            send_letter
("Die Berufe")
        
end
        when button 
or info begin
            say_title
("Die Berufe")
            
say("Hallo Abenteurer,")
            
say("Du kannst hier nun deinen Beruf auswählen.")
            
say("Dieser wird dir dauerhaft einen bestimmten")
            
say("Bonuswert hinzufügen. Du kannst dich in diesem")
            
say("Beruf auch fortbilden, um höhere Bonis zu erhalten")
            
say("gehe zu Hong-Hae, die findest du in jeder Map1")
        
end
        when 20094.chat
."Berufe" with pc.get_level() >= 6 begin
            
if pc.get_level() == 5 then
                clear_letter
()
                
say_title("Dein Level")
            
end
        end
    end
end 
Wenn du mit einem zweiten State arbeitest, musst du auch zu ihm wechseln, das wuerde so gehen:

PHP Code:
quest states_ begin   
    state start begin 
--Die quest startet immer bei "state start"
        
when login begin
            set_state
(start_2)
        
end
    end
    state start_2 begin
        when login begin
            set_state
(start_3)
        
end
    end
    state start_3 begin
        when login begin
            set_state
(Complete)
        
end
    end
    state Complete_ begin
    end
end 
Mfg,
ProfessorEnte
06/15/2013 00:37 GenerationAzzlack#8286
Code:
quest states_ begin   
    state start begin --Die quest startet immer bei "state start"
        when login begin
            set_state(start_2)
        end
    end
    state start_2 begin
        when login begin
            set_state(start_3)
        end
    end
    state start_3 begin
        when login begin
            set_state(Complete)
        end
    end
    state Complete_ begin
    end
end
Das funz. bei mir so nicht -.-
nach dem ersten start kommt quest 2 nicht.. :/
06/15/2013 08:23 ProfessorEnte#8287
Hey,
wie Quest 2 kommt nicht?
Der Code war nur ein Beispiel dafür wie man die states verwenden kann und hatte nix mit deiner Quest zu tun.
Zeig doch einfach mal den ganzen code was du jetzt gemacht hast.
Wenn du ihn nicht allen zeigen willst schick ihn mir per PN.

Mfg,
ProfessorEnte
06/15/2013 14:47 Vali2222#8288
Bitte um Hilfe:


Keine Ahnung warum das nicht will :/
06/15/2013 14:52 swamswam#8289
Quote:
Originally Posted by Vali2222 View Post
Bitte um Hilfe:


Keine Ahnung warum das nicht will :/
Haste nicht nen Fehler der ausgespuckt wird?
und nächstes mal bitte in php sonst kann man kaum den fehler finden xD

uncleart funktion(funktion exestiert nicht):
pc.change_money_for_other_pc

vllt hast du die ja bei dir definiert aber ich hab dich nicht xD

und beim 2ten say_reward ist am ende ein ! das zuviel ist
06/15/2013 17:03 Red Firestar#8290
Brauche Hilfe und zwar habe ich eine Quest die Levelup gibt wenn man bei Item Rechtsklick macht aber ich möchte es so haben damit man es ab level 115 nicht mehr Benutzen kann hier ist die Quest.

PHP Code:
quest levelupitem begin
    state start begin
        when 30013.
use begin
            pc
.give_exp2(pc.get_next_exp()-pc.get_exp())
            
pc.remove_item(30013,1)
        
end
    end
end 
06/15/2013 17:05 Coniesan#8291
Code:
quest levelupitem begin 
    state start begin 
        when 30013.use begin 
          if pc.get_level()<=150 then
            pc.give_exp2(pc.get_next_exp()-pc.get_exp()) 
            pc.remove_item(30013,1) 
          end
        end 
    end 
end
06/15/2013 17:19 Fliegex3#8292
PHP Code:
quest muschel begin 
    state start begin 
        when 9008.chat
."Muschel Drop" with pc.is_gm() begin 
            
if game.get_event_flag("mondi_drop") == 0 then 
                say
("Der Muschel - Drop ist deaktiviert"
                
say("Möchtest du es aktivieren?"
                
local s select("Ja""Nein"
                if 
== 1 then 
                    say
("Muschel Drop wurde aktiviert!"
                    
game.set_event_flag("mondi_drop"1
                    
notice_all("Der Muschel-Drop wurde gestartet!"
                else 
                    return 
                
end 
            
else 
                
say("Das Muschel - Drop ist aktiviert"
                
say("Möchtest du es deaktivieren?"
                
local s select("Ja""Nein"
                if 
== 1 then 
                    say
("Das Muschel Drop wurde deaktiviert!"
                    
game.set_event_flag("mondi_drop"0
                    
notice_all("Der Muschel-Drop ist deaktiviert!"
                else 
                    return 
                
end 
            end 
        end 
  
        when kill with game
.get_event_flag("mondi_drop") == and not npc.is_pc() begin 
            local s
=number(150
            if 
== s then 
                game
.drop_item_with_ownership(27987,5
            
end 
        end 

    end 
end 
Ich brauche ein bisschen hilfe mit der Quest, an sich funktioniert sie aber möcht das man die items nur mit einem levelunterschied von +/- 15 droppt.
( Meine Common drop funzt ned)
06/15/2013 18:03 Red Firestar#8293
Könnte mal jemand die Quest durch checken und die Sachen die in quest_functions kommen rausschreiben ? entweder liegt es and der quest_functions oder an einer anderen Sache aber wenn ich die Quest einfüge kommt immer: Abort trap (core dumped)
PHP Code:
quest howtolevel begin
    state start begin
        when login 
or levelup with pc.get_level() > 115 begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            send_letter
("PvP Quest - Leveln (How2)")
        
end
        when button 
or info begin
            say_title
("Guten Tag Tapferer Kaempfer.")
            
say("Du hast nun das Level 115 erreicht und bist somit bereit zu kämpfen.")
            
say("Hallo, Du fragst dich wie du dich hier Leveln kannst?")
            
say("Ganz einfach , Durch Duelle oder Toetungen aus anderen Reichen")
            
say("Bei einer Toetung von einen Spieler aus deinem Reich bekommst du viel Exp!!")
            
say("Bei Spielern aus anderen Reichen bekommst du weniger Exp!!")
            
say("Viel Spass noch beim Leveln wuenscht euch das gesamte Pedobär2 Team.")
        
end
        when kill begin
        
if npc.is_pc() then
                    
if npc_is_same_empire() then
                    pc
.give_exp2(5783437)
                else                      
                    
pc.give_exp2(11566875)
                
end
            end
        end
    end
end 
06/15/2013 18:26 swamswam#8294
Quote:
Originally Posted by PrinzVito View Post
Könnte mal jemand die Quest durch checken und die Sachen die in quest_functions kommen rausschreiben ? entweder liegt es and der quest_functions oder an einer anderen Sache aber wenn ich die Quest einfüge kommt immer: Abort trap (core dumped)
PHP Code:
quest howtolevel begin
    state start begin
        when login 
or levelup with pc.get_level() > 115 begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            send_letter
("PvP Quest - Leveln (How2)")
        
end
        when button 
or info begin
            say_title
("Guten Tag Tapferer Kaempfer.")
            
say("Du hast nun das Level 115 erreicht und bist somit bereit zu kämpfen.")
            
say("Hallo, Du fragst dich wie du dich hier Leveln kannst?")
            
say("Ganz einfach , Durch Duelle oder Toetungen aus anderen Reichen")
            
say("Bei einer Toetung von einen Spieler aus deinem Reich bekommst du viel Exp!!")
            
say("Bei Spielern aus anderen Reichen bekommst du weniger Exp!!")
            
say("Viel Spass noch beim Leveln wuenscht euch das gesamte Pedobär2 Team.")
        
end
        when kill begin
        
if npc.is_pc() then
                    
if npc_is_same_empire() then
                    pc
.give_exp2(5783437)
                else                      
                    
pc.give_exp2(11566875)
                
end
            end
        end
    end
end 
also ich habe keinen fehler :) denke das liegt daran das du in questlist nicht einmal enter am ende gedrückt hast :)
06/16/2013 10:32 Acon™#8295
Ich hab mal wieder n Problem ^^ meine GM-Online spackt rum !! :D ich bin als
[SL]Yoda eingeloggt und werd nich angezeigt un hab ne andere Farbe als alle
anderen, sowie der SA ... Notixx wird IMMER als Online angezeigt egal ob er es is
oder nicht....

hier ein Screen:

[Only registered and activated users can see links. Click Here To Register...]

hier die Quest:
PHP Code:
quest gmonline begin
    state start begin
        when login begin
            set_state
(information)
        
end
    end
    state information begin 
        when letter begin 
            send_letter
("Team"
        
end
        when button 
or info begin
            say
("Name                                     Status")
            
say("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            if 
game.get_event_flag("[SL]Yoda")== 1 then
                say_reward
("SL Yoda                                online")
            else
                
say("SL Yoda                            offline")
            
end
            
if game.get_event_flag("[SA]Sm4rt")== 1 then
                say_reward
("SA Sm4rt                                online")
            else
                
say("SA Sm4rt                       offline")
            
end
            
if game.get_event_flag("[CSA]Notixx")== 1 then
                say_reward
("CSA Notixx                                online")
            else
                
say("CSA Notixx                                offline")
            
end
            
if game.get_event_flag("[GM]Angel")== 1 then
                say_reward
("GM Angel                                online")
            else
                
say("GM Angel                                offline")
            
end
            
if game.get_event_flag("[TGM]Scream")== 1 then
                say_reward
("TGM Scream                            online")
            else
                
say("TGM Scream                            offline")
            
end
            
if game.get_event_flag("[TGM]Shinobi")== 1 then
                say_reward
("TGM Shinobi                    online")
            else
                
say("TGM Shinobi                      offline")
            
end
        end
    end
end 

Mfg Acon