[SERVICE] Die Questkontrolle

10/19/2010 22:42 .SpecialZ##736
Quote:
Originally Posted by HardCoreBo0n View Post
PHP Code:
quest start_warp begin
    state start begin
        when login begin
            
if pc.getqf("start_warp") == 0 then
                pc
.setqf("start_warp",1)
                
local empire pc.get_empire()
                if 
empire == 1 then
                    pc
.warp(447941923246)
                
end
                
if empire == 2 then
                    pc
.warp(447941923246)
                
end
                
if empire == 3 then
                    pc
.warp(447941923246)
                
end
            
else
                return
            
end
        end
    end
end 

Ingame tut sich ein questfenster auf das ich NICHT schließen kann. Wie kann ich das beheben ?

Grüße !

Suche nach wie vor hilfe !
10/20/2010 08:13 Brutus75#737
Kann mir einer sagen was daran Falsch ist es Zählt mir die Kills nicht runter!!!




quest massaker begin
state start begin
when login or levelup with pc.get_level() >= 95 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Killa")
end

when info or button begin
say("Hallo eiserner Kämpfer!")
say("Unsere Nachbarn aus anderen Reich wollen,")
say("wollen es wissen, ")
say("Versuch'50 du erlegen!!!")
say_reward("Töte 50 Gegner")
say("")
pc.setqf("state", 50)
q.set_counter("", 50)
end

when kill begin
if npc.is_pc() and npc.empire != pc.empire then
local count = pc.getqf("state") - 1
end

if count <= 50 then
pc.setqf("state", count)
q.set_counter("", count)
chat("du hast bereits "..( pc.getqf("state") ).." Spieler getötet!")
end

if count == 0 then
say_title("Abgeräumt!")
say("Du bist wirklich ein eiserner Kämpfer abgeräumt!")
say("Du erhälst:")
say_reward("5x Beras Herz")
say_reward("und")
say_reward("4x Düstere Maske")
say_reward("80000000 Yang")
say_reward("Außerdem:")
say_reward("paar Rangpunkte")
pc.change_alignment(20000)
pc.give_item2(70022, 1)
pc.give_item2(70022, 1)
pc.give_item2(70022, 1)
pc.give_item2(70022, 1)
pc.give_item2(70022, 1)
pc.give_item2(30183, 1)
pc.give_item2(30183, 1)
pc.give_item2(30183, 1)
pc.give_item2(30183, 1)
pc.change_money(8000000)
clear_letter()
set_state(__COMPLETE__)

end
end
end

state __COMPLETE__ begin
end
end
10/20/2010 08:29 Benhero#738
@HardCoreBo0n...

Mach mal bitte einen Screen danke.

Greatz Benhero
---------------------------

Benutze den PHP Code.

Danke [ PHP] DEIN TEXT [ /PHP] "Ohne Leerzeichen!"
10/20/2010 08:50 .SpecialZ##739
@Benhero:


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




Genau dieses Fenster lässt sich nicht schließen.
10/20/2010 11:17 Brutus75#740
Ok hier nochmal in PHP wäre net wenn mir wer helfen könnte weil es zählt mir die kills nicht
runter !!!MFG Brutus
PHP Code:
quest massaker begin
    state start begin
       when login 
or levelup with pc.get_level() >= 95 begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            send_letter
("Killa")
        
end

        when info 
or button begin
            say
("Hallo eiserner Kämpfer!")
            
say("Unsere Nachbarn aus anderen Reich wollen,")
            
say("wollen es wissen, ")
            
say("Versuch'50 du erlegen!!!")
            
say_reward("Töte 50 Gegner")
            
say("")
            
pc.setqf("state"50)
            
q.set_counter(""50)
        
end

        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then
                local count 
pc.getqf("state") - 1
            end
            
            
if count <= 50 then
                pc
.setqf("state"count)
                
q.set_counter(""count)
                
chat("du hast bereits "..( pc.getqf("state") ).." Spieler getötet!")
            
end
            
            
if count == 0 then
                say_title
("Abgeräumt!")
                
say("Du bist wirklich ein eiserner Kämpfer abgeräumt!")
                
say("Du erhälst:")
                
say_reward("5x Beras Herz")
                
say_reward("und")
                
say_reward("4x Düstere Maske")
                
say_reward("80000000 Yang")
                
say_reward("Außerdem:")
                
say_reward("paar Rangpunkte")
                
pc.change_alignment(20000)
                
pc.give_item2(700221)
                
pc.give_item2(700221)
                
pc.give_item2(700221)
                
pc.give_item2(700221)
                
pc.give_item2(700221)
                
pc.give_item2(301831)
                
pc.give_item2(301831)
                
pc.give_item2(301831)
                
pc.give_item2(301831)
                
pc.change_money(8000000)
                
clear_letter()
                
set_state(__COMPLETE__)
       
            
end
        end
    end
    
    state __COMPLETE__ begin
    end
end 
10/20/2010 13:02 Joey.#741
Könnte mir bitte endlich jemand mal helfen?

PHP Code:
quest Die Rufe der Schlacht begin
    state start begin
        when login 
or levelup or enter with pc.get_level() >= 86 begin
            setstate
gototeacher )
        
end
    end
    state gototeacher begin
        when letter begin
            send_letter
("Der Ruf des D\195\164mon")

            
local v=find_npc_by_vnum(20011)
            if 
0==v then
            
else
                
target.vid("__TARGET__"v"Gehe zu Uriel")
            
end
        end
        when button 
or info begin
            say_title
("Uriel:")
            
say("Hallo mutiger Krieger,
[ENTER]wie du sicher wei\195\159t gibt es seit einigen Jahren die Probleme am Berg der D\195\164monen und nun ist es passiert,das Siegel ist zerst\195\182rt und die D\195\164monen brechen aus."
)
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")

            
say_title("Uriel:")                                            l
            say
("Hallo Krieger,
[ENTER]es ist nun soweit.
[ENTER]Die D\195\164monen machen sich auf den Vormarsch...
[ENTER]Ich erhalte gerade einen Nachricht,die D\195\164monen sind fast in der Stadt."
)
            
wait()
            
say("Wer h\195\164tte jemals gedacht das sie soweit zu uns sto\195\159en w\195\188rden.")
            
say_reward("Ich bitte dich im Namen unseres Dorfes,vernichte den Sensenmann.
[ENTER]Er haust im D\195\164monenturm,in der obersten Etage.
[ENTER]Es wird ein langer Weg vor dir liegen,deswegen suche dir Gef\195\164hrten die dir helfen oder versuche es alleine.
[ENTER]Nun denn ich liegt in deiner Macht."
)
            
say("")
            
set_state(kill)    

            
pc.setqf("state"0)
            
q.set_counter("Restanzahl Sensenmann"0)
        
end

    end

    state kill begin
        when letter begin
            send_letter
("")
        
end
        when button 
or info begin
            say_title
(":")
            
say("Du musst 1 Sensenmann t\195\182ten")
            
say("")

            
say_reward(..pc.getqf("state").." von 1 der Art Sensenmann  get\195\182tet")
            
say("")
        
end
        when 1093.kill begin
            local count 
pc.getqf("state") + 1

            
if count <= 1 then
                pc
.setqf("state"count)
                
q.set_counter("Restanzahl Sensenmann"10 count)

                if 
count == 1 then
                    say_title
("Uriel:")
                    
say("")
                    
say("Komm nun bitte zu mir.")
                    
set_state(gototeacher2)
                
end
            end
        end
        when 20011.chat
."Sensenmann Jagen erledigt." with pc.getf("main_quest_lv2","state") < 10 begin
            say_title
("Uriel:")
            
say("Bist du noch bei Sinne?
[ENTER]Geh zum D\195\164monenturm und t\195\182te den Sensenmann!"
)

            if 
pc.is_gm() then
                wait
()
                
say_title("Uriel:")
                
say("Aufgabe \195\188berspringen?")
                
local s select("Ja""Nein")
                if 
== 1 then
                    set_state
(gototeacher2)
                
end
            end
        end
        when 20011.chat
."Sensenmann Jagen erledigt." with pc.getf("main_quest_lv2","state") >= 10 begin
            say_title
("Uriel:")
            
say("Die Schlacht ist gewonnen.
[ENTER]Wir haben,dank dir,gesiegt."
)
            
set_state(gototeacher2)
        
end
    end
    state gototeacher2 begin
        when letter begin
            local v
=find_npc_by_vnum(20011)
            if 
0==v then
            
else
                
target.vid("__TARGET__"v"Gehe zu Uriel")
            
end
        end
        when letter begin
            send_letter
("Der D\195\164mon")
        
end
        when button 
or info begin
            say_title
("Der D\195\164mon")
            
say("Der Sensenmann ist gefallen.
[ENTER]Kehre zur\195\188ck ins Dorf und ich werde dich g\195\182ttlich belohnen."
)
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("Der Sensenmann ist gefallen.
[ENTER]Kehre zur\195\188ck ins Dorf und ich werde dich g\195\182ttlich belohnen."
)
                        
say_reward("EXP 700000000")
            
pc.give_exp2700000000 )
                        
set_quest_state("levelup","run"
                        
pc.change_money10000000 )
            
say_reward("Yang 10000000")
                                       )
              
say_reward("Metinstein (Schwer) 50 mal")
                                       )
              
say_reward("Pferd Level 30")
                        
clear_letter()
            
set_state__COMPLETE__ )

            
pc.setqf("state"0
        
end
    end
    state __COMPLETE__ begin
    end
end 
10/20/2010 17:33 CoreDump#742
@ ζσεϣ ich hab dir schonmal gesagt:
die questfile darf kein leerzeichen haben! das sollte jeder wissen.
boa bei so viele fehlern und so ner menge unnötiger sachen die da drin sind, hab ich wenig lust das zu verbessern.
--------------------------------------------------------------------------
@ Brutus
ihr schreibt die quests finde ich viel zu kompliziert. aber ich habe mal markiert was ich so gefunden habe.

ich garantiere für nichts
10/20/2010 17:37 Bastler2#743
so hab etz ein bisschen was geändert und mal einfach i-welche warp punkte eingegeben...... aber es passiert nicht wenn ich mich mit gm einlogg....

PHP Code:
quest admin_warp begin
    state start begin

        when login with pc
.is_gm()
            
set_state(run)
        
end
    end
        state run begin
          when letter with pc
.is_gm() begin
            send_letter
"Admin Panel" )
        
end
        when button 
or info begin
        say_title
"Admin Panel" )

        
        
local e select("Blaues Reich Map 1""Blaues Reich Map 2""Abbrechen")

                        if 
== 1 then
                            pc
.warp(447941923246)
                        
end
                        

                        
elseif == 2 then
                            pc
.warp(447941923246)
                        
end
                    

                        
elseif == 3 then
                            
return
                        
end

        end
        
    end
end 
Ich will halt das links a brief is wo "Admin Panel" heist un d wen mas benutz halt auf die sachen klicken kann und halt bzw. den warp befehl ausführt


mfg BasTiii
10/20/2010 18:06 CoreDump#744
PHP Code:
quest admin_warp begin
    state start begin

        when login with pc
.is_gm()
            
set_state(run)
        
end
    end
        state run begin
          when letter with pc
.is_gm() begin
            send_letter
"Admin Panel" )
        
end
        when button 
or info begin
        say_title
"Admin Panel" )

        
        
local e select("Blaues Reich Map 1""Blaues Reich Map 2""Abbrechen")

                        if 
== 1 then
                            pc
.warp(447941923246)
                        
                        elseif 
== 2 then
                            pc
.warp(447941923246)

                        elseif 
== 3 then
                            
return
                        
end

        end
        
    end
end 
einfach mal so versuchen
10/20/2010 18:53 Bastler2#745
aa ich verzweifel xD ...

also mei hongkong_list schaut so aus:
PHP Code:
main_quest_lv1.quest
neutral_warp
.quest
skill_group
.quest
fortune_telling
.quest
guild_manage
.quest
guild_ranking
.quest
guild_war_bet
.quest
guild_war_join
.quest
guild_war_observer
.quest
guild_building
.quest
blacksmith
.quest
fisher
.quest
warehouse
.quest
christmas_santa
.quest
christmas_tree
.quest
kuchen
.quest
buy_fishrod
.quest
horse_guard
.quest
horse_menu
.quest
horse_revive
.quest
marriage_manage
.quest
upgrade_refine_scroll
.quest
priv_empire
.quest
training_grandmaster_skill
.quest
horse_ride
.quest
priv_guild
.quest
mining
.quest
guild_building_melt
.quest
hair_shop
.quest
forked_road
.quest
oxevent
.quest
reset_scroll
.quest
skill_reset2
.quest
map_warp
.quest
deviltower_zone
.quest
cube
.quest
hair
.quest
check_trans_ticket
.quest
spider_dungeon_2floor
.quest
siege
.quest
mgmt
.quest
item_change_sex
.quest
change_empire
.quest
horse_summon
.quest
tanaka
.quest
gm
.quest
gmlogin
.quest
login_info
.quest
npc_waffenshop
.quest
npc_ruestungsshop
.quest
npc_gemischtwarenshop
.quest
admin_warp
.quest 
und im gleichen verzeichniss is auch die admin_warp.quest datei mit dem inhalt:

PHP Code:
quest admin_warp begin
    state start begin

        when login with pc
.is_gm()
            
set_state(run)
        
end
    end
        state run begin
          when letter with pc
.is_gm() begin
            send_letter
"Admin Panel" )
        
end
        when button 
or info begin
        say_title
"Admin Panel" )

        
        
local e select("Blaues Reich Map 1""Blaues Reich Map 2""Abbrechen")

                        if 
== 1 then
                            pc
.warp(447941923246)
                        
                        elseif 
== 2 then
                            pc
.warp(447941923246)

                        elseif 
== 3 then
                            
return
                        
end

        end
        
    end
end 
aber nichts passiert wenn ich mich mit meim gm einlogg ??? kein quest gar nix...


mfg BasTiii
10/20/2010 19:04 Joey.#746
Core bitte machs aber x3
10/20/2010 19:05 CoreDump#747
ich hätte es sowiso von anfang an so gemacht:
PHP Code:
if == 1 then
    pc
.warp(447941923246)
                        
if 
== 2 then
    pc
.warp(447941923246)

else
    return 
10/20/2010 19:26 Bastler2#748
so so weit bin ich etz ... aber es geht immer noch nix es tut sich 0 ingame ...

reicht es eig wenn ich /reload q mach und relog oder muss ich serevr neustarten??

PHP Code:
quest admin_warp begin
    state start begin

        when login with pc
.is_gm()
            
set_state(run)
        
end
    end
        state run begin
          when letter with pc
.is_gm() begin
            send_letter
"Admin Panel" )
        
end
        when button 
or info begin
        say_title
"Admin Panel" )

        
        
local e select("Blaues Reich Map 1""Blaues Reich Map 2""Abbrechen")

            if 
== 1 then
                    pc
.warp(447941923246)
                        
            if 
== 2 then
                   pc
.warp(447941923246)

            else
                return  
                        
end

        end
        
    end
end 
10/20/2010 19:34 CoreDump#749
versuch es mal ohne with pc.is_gm()
also hier nimms mal raus:
PHP Code:
state run begin
   when letter with pc
.is_gm() begin 
einfach nur
PHP Code:
state run begin
   when letter begin 
du hast es oben eh schonmal beim questanfang eingetragen. vllt is das der grund warum nix kommt
10/20/2010 19:41 .Alessa#750
PHP Code:
quest admin_warp begin 
    state start begin 
        when login with pc
.is_gm() 
            
set_state(run
        
end 
    end 
    state run begin 
        when letter begin 
            send_letter
"Admin Panel" 
        
end 
        when button 
or info begin 
            say_title
"Admin Panel" 
            
local e select("Blaues Reich Map 1""Blaues Reich Map 2""Abbrechen"
            if 
== 1 then 
                pc
.warp(447941923246
            elseif 
== 2 then 
                pc
.warp(447941923246
            elseif 
== 3 then 
                
return 
            
end 
        end 
    end 
end 
Elseif ist schon richtig. Wenn du elseif durch if ersetzt, würden dir wieder ends fehlen, darum halte ich elseif 1. für übersichtlicher und 2. für einfacher.
Zudem muss ich auch sagen: Die Übersicht ging in der Quest total flöten. Probier mal die einfach aus, so müsste es klappen.