[SERVICE] Die Questkontrolle

04/06/2012 20:25 Fussballfreak95#5371
Code:
quest truhe_a begin
    state start begin
        when 100081.use. begin 
			say_title("Hey ".. pc.get_name() ..".")
			say("Test")
			say("Test")
			say_reward("Möchtest du die Kiste nun öffnen?")
            local s = select("Item Geben","Abrechen")
            if s == 1 then
				local item_vnum = 19
				local item_vnum2 = 11209
				local item_vnum3 = 12209
			if pc.get_job() == 1 then
				item_vnum = 1009
				item_vnum2 = 11409
				item_vnum3 = 12349
			elseif pc.get_job() == 2 then				
				item_vnum2 = 11609
				item_vnum3 = 12489
			elseif pc.get_job() == 3 then
				item_vnum = 7009
				item_vnum2 = 11809
				item_vnum3 = 12629 
			end
			pc.give_item2(item_vnum)
			pc.give_item2(item_vnum2)
			pc.give_item2(item_vnum3)
			pc.give_item2(27003, 200)
			pc.give_item2(27006, 200)
			pc.give_item2(72702)
			pc.give_item2(71050, 20)
			pc.give_item2(70038, 20)
			pc.give_item2(13009)
			pc.give_item2(14009)
			pc.give_item2(15009)
			pc.give_item2(16009)
			pc.give_item2(17009)
		end
	end	
						else
					return
				end
			end
		end 
	end
end
Was ich möchte:
Ich möchte, dass eine Truhe, die ich schon selber erstellt habe (100081) das Anfangsequip enthält. Dazu möchte ich noch einen Text, der beim anklicken der Truhe erscheint, erstellen, wie in der Quest durch "Test" dargestellt.
Schaut euch die Quest mal bitte an und sagt mir, was ich korrigieren muss..

weiteres Problem:
In der Virtual Box steht dann immer:
Code:
must start with 'quest'
truhe_a.quest:1:Error occured on compile truhe_a.quest


Danke schonmal im Vorraus :)
04/06/2012 21:45 He3o Sippel#5372
PHP Code:
quest bla begin
    state start begin
        when login 
or levelup with pc.level >90 begin
            notice
("Geh zum NPC ")
        
end
        when 20090.chat
."PVM EQ" with pc.get_level() == 90 begin
            say
("")
            
say("")
            
say("")
            
say("")
            
say("Du brauchst ein Siri +9 20 Zander ")
            
say("Und 20 Sensenmaener auf dem Gewissen haben.")
            
say("Komm wieder wen du das alles hast und gemacht hast")
            
pc.setqf("test",1)
        
end
        when 1093.kill begin
            pc
.setqf("punkte",1)
            
setskin(NOWINDOW)
        
end
        when 20090.chat
."PVM EQ" begin
            
if pc.getqf("test") == 1 then
                say
("")
                
say("")
                
say("")
                
say("")
                
say("Willst du jetzt tauschen ?")
                
local s select ("Ja""Nein")
                if 
== 1 then
                    
if pc.count_item(19,1) and pc.getqf("punkte"20)
                        
pc.give_item2("189,1")
                        
pc.setqf("punkte", -20)
                        
setskin(NOWINDOW)
                    else
                        return
                    
end
                
elseif == 2 then
                    
return
                
end
            
else 
                return
            
end
        end
    end
end 
:mad::mad: Ich krieg noch gleich einen anfall was ist hier drann falsch ?
04/06/2012 23:24 collado#5373
@highlvlzocker

the quest works, you need to put a shop owner in the table shop

PHP Code:
quest frisuren_shop begin
    state start begin
        when 20090.chat
."Sie sind ein Friseur?" with pc.get_job() == 0 begin
            say
(" ")
            
say(" "
            
say(" "
            
say(" "
            
say(" "
            
local s select ("Ja""Nein")
            if 
s==1 then
                npc
.open_shop(1)
            elseif 
s==2 then
                
return
            
end
        end
        
        when 20090.chat
."Frisuren Kauf" with pc.get_job() == 1 begin
            say
("1"
            
say("2"
            
say("3"
            
say("4"
            
local s select ("Ja""Nein")
            if 
s==1 then
                npc
.open_shop(1)
            elseif 
s==2 then
                
return
            
end
        end
        
        when 20090.chat
."Frisuren Kauf" with pc.get_job() == 2 begin
            say
("1")
            
say("2"
            
say("3"
            
say("4")
            
local s select ("Ja""Nein")
            if 
s==1 then
                npc
.open_shop(1)
            elseif 
s==2 then
                
return
            
end
        end
        
        when 20090.chat
."Frisuren Kauf" with pc.get_job() == 3 begin
            say
("1"
            
say("2"
            
say("3"
            
say("4"
            
local s select ("Ja""Nein"
            if 
s==1 then
                npc
.open_shop(1)
            elseif 
== 2 then
                
return
            
end
        end
    end
end 
@.Sippel

PHP Code:
if pc.count_item(19)>=and pc.getqf("punkte"20
must be

PHP Code:
if pc.count_item(19)>=and pc.getqf("punkte"20then 
and

PHP Code:
pc.count_item(191
must be

PHP Code:
pc.count_item(19)>=
PHP Code:
quest bla begin 
    state start begin 
        when login 
or levelup with pc.level >90 begin 
            notice
("Geh zum NPC "
        
end 
        
        when 20090.chat
."PVM EQ" with pc.get_level() == 90 begin 
            say
(""
            
say(""
            
say(""
            
say(""
            
say("Du brauchst ein Siri +9 20 Zander "
            
say("Und 20 Sensenmaener auf dem Gewissen haben."
            
say("Komm wieder wen du das alles hast und gemacht hast"
            
pc.setqf("test",1
        
end
        
        when 1093.kill begin 
            pc
.setqf("punkte",1
            
setskin(NOWINDOW
        
end 
        
        when 20090.chat
."PVM EQ" begin 
            
if pc.getqf("test") == 1 then 
                say
(""
                
say(""
                
say(""
                
say(""
                
say("Willst du jetzt tauschen ?"
                
local s select ("Ja""Nein"
                if 
== 1 then 
                    
if pc.count_item(19)>=and pc.getqf("punkte"20then
                        pc
.give_item2("189,1"
                        
pc.setqf("punkte", -20
                        
setskin(NOWINDOW
                    else 
                        return 
                    
end 
                
elseif == 2 then 
                    
return 
                
end 
            
elseif pc.getqf("test") == 0 then  
                
return 
            
end 
        end 
    end 
end 

@FussballFreak95
PHP Code:
when 100081.use. begin 
must be
PHP Code:
when 100081.use begin 
and the ends....

PHP Code:
quest truhe_a begin
    state start begin
        when 100081.
use begin 
            say_title
("Hey ".. pc.get_name() ..".")
            
say("Test")
            
say("Test")
            
say_reward("Möchtest du die Kiste nun öffnen?")
            
local s select("Item Geben","Abrechen")
            if 
== 1 then
                local item_vnum 
19
                local item_vnum2 
11209
                local item_vnum3 
12209
                
if pc.get_job() == 1 then
                    item_vnum 
1009
                    item_vnum2 
11409
                    item_vnum3 
12349
                
elseif pc.get_job() == 2 then                
                    item_vnum2 
11609
                    item_vnum3 
12489
                
elseif pc.get_job() == 3 then
                    item_vnum 
7009
                    item_vnum2 
11809
                    item_vnum3 
12629 
                end
                    pc
.give_item2(item_vnum)
                    
pc.give_item2(item_vnum2)
                    
pc.give_item2(item_vnum3)
                    
pc.give_item2(27003200)
                    
pc.give_item2(27006200)
                    
pc.give_item2(72702)
                    
pc.give_item2(7105020)
                    
pc.give_item2(7003820)
                    
pc.give_item2(13009)
                    
pc.give_item2(14009)
                    
pc.give_item2(15009)
                    
pc.give_item2(16009)
                    
pc.give_item2(17009)
            elseif 
s==2 then
                
return
            
end
        end
    end    
end 
04/06/2012 23:45 Fussballfreak95#5374
Habe immer noch den gleichen Fehler. Man was ist denn der Fehler. Ich weiß es einfach nicht.. :/
da steht immer in der Konsole:

Code:
must start with 'quest'
truhe_a.quest:1:Error occured on compile truhe_a.quest
:(
04/06/2012 23:59 collado#5375
PHP Code:
daroo# cd /home/game/quest
daroo# ./qc fs.quest
QUEST truhe_a
STATE 
start
WHEN  
100081.use
daroo

i have not any error :s

addme on skype
04/07/2012 00:00 MetinLegende#5376
@sippel
Ich glaube deine questflags funktionieren so nicht, weil er nach jedem sensi die flag Punkte auf 1 setzt und nicht um 1 erhöht.

@fussballfreak

Du hast nur Job 1-3 drin also es fehlt einer . Ich glaube daran liegt's aber nicht sicher
04/07/2012 01:02 Fussballfreak95#5377
Keine Chance. Das geht einfach nicht. Muss ich denn noch mehr machen, außer die Quest in die Liste einzutragen und die Quest einzufügen?? :(
04/07/2012 01:08 MetinLegende#5378
Naja du musst die West eben truhe_a.quest nennen genauso in die quest_List eintragen. Musst aufpassen dass du vor dem quest ... Begin nichts anderes stehen hast
04/07/2012 07:48 Ytura#5379
Sobald man Level 5 erreicht, erhält man das MilliGaul & das Millitär Pferdebuch.

PHP Code:
quest pferd begin
 state start begin
   when login 
or levelup with pc.level >5 begin
        notice
("Du hast ein Millitär-Pferd erhalten")
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
   
pc.give_item2("50053,1")
  
end
 end
end 
Allerdings, wenn man sich jedes mal Einloggt erscheint die Meldung "Du hast ein Millitär Pferdebuch erhalten"

Will das aber so, das es nur 1x kommt, halt wo man Level 5 wird.
04/07/2012 09:08 Jakomo'#5380
PHP Code:
quest pferd begin
    state start begin
        when login 
or levelup with pc.level >5 with pc.getqf("login") == 0 begin
            notice
("Du hast ein Millitär-Pferd erhalten")
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
horse advance ( )
            
pc.give_item2("50053,1")
            
pc.setqf("login"1)
        
end
    end
end 
04/07/2012 09:59 Ytura#5381
Danke & so..

Neues Problem direkt, wenn ich nen neuen Char erstelle und bis Level 5 mache, erhält er kein Milli Buch & das Pferd wird auch nicht hochgelevelt.

Fehlermeldung etc erhalte ich nicht bei Virtual Box.
04/07/2012 10:05 Jakomo'#5382
PHP Code:
quest pferd begin
    state start begin
        when login 
or levelup with pc.level >5 with pc.getqf("login") == 0 begin
            notice
("Du hast ein Millitär-Pferd erhalten")
            
pc.give_item2(500531)
            
horse.set_level(21)
            
pc.setqf("login"1)
        
end
    end
end 
Probiers mal damit.
04/07/2012 17:05 DarkNessWorld2#5383
PHP Code:
quest event_boss_map begin
    state start begin
        when 20088.chat
."Event Boss Map" begin
            
if pc.get_level() < 150 then
                say
("Ich kann dich noch nicht teleportieren.")
                
say("Komm wieder, wenn du Level 150 bist.")
                return
            
end
            say
(mob_name(20088)..":")
            
say("")
            
say("Sei gegruesst Reisender!")
            
say("Du moechstest also zur Event Boss Map")
            
say("Ich kann dich gerne hinbringen.")
            
say("")
            
say("Moechtest du zur Event Boss Map")
            
say("")
            if 
select("Ja","Nein") == 2 then return end
            say
(mob_name(20088)..":")
            
say("")
            
say("Gut")
            
say("Ich wuensche dir viel Spass")
            
wait()
            
pc.warp(999900999900)
        
end
    end
end 
Kann mir wer da was rein bauen und zwar das spieler sich auf die map porten und dann 24 stunden nicht mehr danach drauf können wenn sie den boss getötet haben ist nur 1 mob und das alle/er raus geportet wird und oben gesagt wird .... hat den ZombieGott besiegt. wir gratulierem ihm.
04/07/2012 20:06 тнєяєαℓσиє#5384
PHP Code:
quest player_kill1 begin
    state start begin
        when login with pc
.level >= 100 begin
            set_state
(player_kill1)
        
end
    end

    state player_kill1 begin
        when letter begin
            send_letter
("Töte Gegner aus anderen Reichen")
        
end

        when button 
or info begin
            say
("Es wird Zeit dass du zeigst")
            
say("was in dir steckt!")
            
say("Zeige es uns indem du 200")
            
say("Spieler aus anderen Reichen tötest!")
            
say_reward("Töte 200 andere Spieler aus anderen Reichen!")
            
say("")
            
pc.setqf("state"100)
            
q.set_counter("kills"200)
            
set_state (kill)
        
end
    end
      
        state kill begin
        when letter begin
            send_letter
("Töte Spieler")
        
end
        
        when button 
or info begin
            say_title
("Spieler:")
            
say_reward"Du musst noch ".." "..pc.getqf("state").."von 200 töten")
            
say("")
        
end

        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then 
            local count 
pc.getqf("state") - 1
            
if count <= 3,, then
                pc
.setqf("state"count)
                
q.set_counter("kills", -count)
            
end
            
if count == 0 then
                say_title
("Du hast es geschafft!")
                
say("3,, Spieler aus anderen Reichen zu töten!")
                
say("Du erhälst für deine Mühen:")
                
say_reward("500.000.000 Yang")
                
say_reward("1x ssp")
                
say_reward("Herzlichen Glückwunsch!")
                
pc.change_money(500000000)
                
pc.give_item2(112991)
                
notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!")
                
notice_all("Er hat 200 Spieler getötet, Glückwunsch!")
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end
    end

    state __COMPLETE__ begin
    end
end 
Sie startet nicht...
04/07/2012 20:49 troll1981#5385
PHP Code:
quest dt2porta begin
state start begin
when 20083.chat
."Das Geheimnis Ascarias" begin
say_title
("Kriegergeist")
say("")
say("Ich war einst Krieger der Kaiserlichen Armee.")
say("Vor vielen Jahren gab es einen Ort, der von einem")
say("Drache bewacht wurde. Heute kennt man ihn unter dem")
say("Name - Tal von Ascaria. Eigentlich wurde es mir")
say("verboten Informationen über die Lage dieses Ortes zu")
say("geben aber ich könnte dich trotzdem")
say("dort hin teleportieren.")
say("")
say_reward("Soll ich dich ins Tal von Ascaria teleportieren?")
local s select("Teleportieren""Hier bleiben")
if 
== 1 then
pc
.warp(55555005555500)
else
return
end
end
end
end 

Hier die Quest! Ich habe es leider nicht ohne Core Dumped geschafft nen timer mit npc.purge an der korrekten STelle einzubauen.

Ich bitte jemanden der das 100% korrekt kann es mir zu machen ;-)

er soll kurz bevor ich geportet werde den NPC entfernen.

Zeit etc. egal.. das schaffe ich selber...