[SERVICE] Die Questkontrolle

04/01/2012 00:25 Kriegergeist^^#5281
Abend auch,

habe mal eine kleine Bio Quest selber geschrieben :D
Wollte sie bisschen wie Zokay2 machen, aber leider bin ich noch über ein Woche nicht zuhause, somit kann ich sie nicht testen.
Meine den Teil von Zokay2:
Bei den bin ich mir auch unsicher, ob ich das geschaft habe :(
Hier die Quest:
Wär nett wen ihr mir helfen könntet :handsdown:
Ich bitte drum, keine scherz oder witze zu machen, auch wen heute der 1 April ist :p

MfG
Kriegergeist^^
04/01/2012 10:35 .Delta#5282
machs doch mit ner schleife :D

vllt so in dem dreh, bin mir nicht mehr ganz so sicher, lange nichts mehr gemacht :D
PHP Code:
local chance = 50
for i=1, pc.count_item(30006), 1 do
    if 
pc.count_item(30006) == 0 then
        say
("Du hast keine Orkzähne")
        break
    
end
    
if number(1, 100) >= chance then
        pc
.setqf("orkzahn", pc.getqf("orkzahn")-1)
        
pc.remove_item(30006, 1)
        
say("Orkzahn"..i.." brauchbar.")
        if 
pc.getqf("orkzahn") <= 0 then
            say_title
("Biologe Chaegirab")
            
say("")
            
say("Herzlichen Glückwunsch!")
            
say("Du hast mir alle 10 Orkzähne gebracht.")
            
say("Vielen dank das du mir bei meiner Untersuchung")
            
say("geholfen hast.")
            
say("Dafür erhältst du von mir:")
            
say_reward("1 Roter Ebenholzkasten")
            
say_reward("Permanente Bewegungsgeschwindigkeit +10")
            
pc.give_item2(50109, 1)
            
affect.add_collect(apply.MOV_SPEED, 10, 60*60*24*365*60)
            
set_state(__complete)
            break
        
end
    
else
        
say("Orkzahn"..i.." unbrauchbar.")
    
end
end 
04/01/2012 11:32 Azemi6#5283
Also ich versuche ein item zu machen das wie seeli ist halt einfach schon ab M1 brauchbar ist... ich nehme als item die drachenschuppe (nicht das reittier) und hab die quest von der seeli als vorlage genommen und überall alles angepasst bzw. wo die 30 stand eine 20 gemacht....

In den Objekt ordner in FileZilla hab ich auch den ordner von dem seeli kopiert bearbeitet und die quest darin auch also die .start quest....

Die training_master_skill.quest





Die training_master_skill.start
04/01/2012 12:34 havmonster#5284
es ist eine ganz simple quest bekomme aber den Fehler ("quest user must start with ´quest
Segmention Corde dumped")

PHP Code:
quest user begin
    state start begin
        when login 
or levelup with pc.get_level ==() 5 then
        say_title
("Du hast Level 5 erreicht")
        
say("Da du nun ein höheres Level erreicht hast")
        
say("bekommst du ein Item")
        
say("Es bietet dir einige Nützliche")
        
say("Features")
        
say_reward("Du erhielst das Userpannel")
        
pc.give_item2(70028)
        
set_state (_COMPLETE_)
    
end
end
state _COMPLETE_ begin
end 
Ka was da los ist, es ist so eine einfache Quest nur irgendwie bin ich zu doof
04/01/2012 12:44 Jakomo'#5285
PHP Code:
quest user begin
    state start begin
        when login 
or levelup with pc.get_level ==() 5 then
            say_title
("Du hast Level 5 erreicht")
            
say("Da du nun ein höheres Level erreicht hast")
            
say("bekommst du ein Item")
            
say("Es bietet dir einige Nützliche")
            
say("Features")
            
say_reward("Du erhielst das Userpannel")
            
pc.give_item2(70028)
            
set_state (_COMPLETE_)
        
end
    end
    state _COMPLETE_ begin
end 
04/01/2012 12:49 iNicki#5286
Code:
quest dc begin
    state start begin
		when 2598.kill begin
			say_title("Es ist vollbracht...")
                        say("")
			say("Herzlichen Glückwunsch von unserem Team !")
			say("Wir hätten nicht gedacht das je einer uns von")
			say("Azrael befreit.")
			say("")
			say("Doch dir ist es gelungen Azrael zu töten.")
			notice_all("*~ Serverinfo ~*")
			notice_all(""..pc.get_name().." und seine Gruppe haben")
			notice_all("Die Devil`s Catacomb gemeistert !")
			notice_all("Azrael ist nun besiegt.")
			notice_all("Herzlichen Glückwunsch !!")
        end
    end
end
Wenn ich Ingame "2598" Kille passiert nichts.
04/01/2012 14:41 [SA]Con#5287
04/01/2012 14:43 Jakomo'#5288
PHP Code:
quest dc begin
    state start begin
        when 2598.kill begin
            say_title
("Es ist vollbracht...")
            
say("")
            
say("Herzlichen Glückwunsch von unserem Team !")
            
say("Wir hätten nicht gedacht das je einer uns von")
            
say("Azrael befreit.")
            
say("")
            
say("Doch dir ist es gelungen Azrael zu töten.")
            
notice_all("*~ Serverinfo ~*")
            
notice_all(""..pc.get_name().." und seine Gruppe haben")
            
notice_all("Die Devil`s Catacomb gemeistert !")
            
notice_all("Azrael ist nun besiegt.")
            
notice_all("Herzlichen Glückwunsch !!")
        
end
    end
end 


PHP Code:
quest neue_reittiere begin
    state start begin
        when 60002.
use begin
            say_title
("Siegel der Tiere")
            
say("")
            
say("Hallo. :)")
            
say("Du willst also ein Reittier reiten.")
            
say("Mhm ich kann dich Reiten lassen.")
            
local s=select("Weiter", "Abbrechen")
            if 
s==2 then
                
return
            
end
            
else
            
say_title("Auswahl")
            
say("")
            
local a=select("Keiler", "Wolf", "Feuer Tiger", "Löwe", "Weiter")
            if 
a==1 then
            pc
.mount(20110, 3600)
            
chat("Du Reitest nun auf dem Keiler.")
            
end
            
if a==2 then
            pc
.mount(20111, 3600)
            
chat("Du Reitest nun auf dem Wolf.")
            
end
            
if a==3 then
            pc
.mount(20112, 3600)
            
chat("Du Reitest nun auf dem Feuer Tiger.")
            
end
            
if a==4 then
            pc
.mount(20113, 3600)
            
chat("Du Reitest nun auf dem Löwen.")
            
end
            
if a==5 then
            say_title
("Auswahl")
            
say("")
            
local b=select("Weißer Löwe", "Dunkler Keiler", "Dunkler Wolf", "Dunkler Tiger", "Dunkler Löwe", "Weiter")
            if 
b==1 then
            pc
.mount(20114, 3600)
            
chat("Du Reitest nun auf dem Weißen Löwen.")
            
end
            
if b==2 then
            pc
.mount(20115, 3600)
            
chat("Du Reitest nun auf dem Dunklen Keiler.")
            
end
            
if b==3 then
            pc
.mount(20116, 3600)
            
chat("Du Reitest nun auf dem Dunklen Wolf.")
            
end
            
if b==4 then
            pc
.mount(20117, 3600)
            
chat("Du Reitest nun auf dem Dunklen Tiger.")
            
end
            
if b==5 then
            pc
.mount(20118, 3600)
            
chat("Du Reitest nun auf dem Dunklen Löwen.")
            
end
            
if b==6 then
            local h
=select("Weißer Tiger", "Blauer Alien", "Event Pferd", "Rentier", "Rentier 2", "Abbrechen")
            if 
h==1 then
            pc
.mount(20119, 3600)
            
chat("Du Reitest nun auf dem Weißen Tiger.")
            
end
            
if h==2 then
            pc
.mount(20120, 3600)
            
chat("Du Reitest nun auf dem Blauen Alien.")
            
end
            
if h==3 then
            pc
.mount(20129, 3600)
            
chat("Du Reitest nun auf dem Event Pferd.")
            
end
            
if h==4 then
            pc
.mount(20122, 3600)
            
chat("Du Reitest nun auf dem Jungen Rentier.")
            
end
            
if h==5 then
            pc
.mount(20123, 3600)
            
chat("Du Reitest nun auf dem Starken Rentier.")
            
end
            
if h==6 then
                
return
            
end
        end
    end
end 
Habe bei der 2. Quest am Anfang gleich nen Fehler gefunden, vielleicht funktioniert sie jetzt. Wenn nicht, schaue ich sie mir später genauer an.
04/01/2012 14:57 [SA]Con#5289
Quote:
Originally Posted by Jakomo' View Post
PHP Code:
quest dc begin
    state start begin
        when 2598.kill begin
            say_title
("Es ist vollbracht...")
            
say("")
            
say("Herzlichen Glückwunsch von unserem Team !")
            
say("Wir hätten nicht gedacht das je einer uns von")
            
say("Azrael befreit.")
            
say("")
            
say("Doch dir ist es gelungen Azrael zu töten.")
            
notice_all("*~ Serverinfo ~*")
            
notice_all(""..pc.get_name().." und seine Gruppe haben")
            
notice_all("Die Devil`s Catacomb gemeistert !")
            
notice_all("Azrael ist nun besiegt.")
            
notice_all("Herzlichen Glückwunsch !!")
        
end
    end
end 


PHP Code:
quest neue_reittiere begin
    state start begin
        when 60002.
use begin
            say_title
("Siegel der Tiere")
            
say("")
            
say("Hallo. :)")
            
say("Du willst also ein Reittier reiten.")
            
say("Mhm ich kann dich Reiten lassen.")
            
local s=select("Weiter", "Abbrechen")
            if 
s==2 then
                
return
            
end
            
else
            
say_title("Auswahl")
            
say("")
            
local a=select("Keiler", "Wolf", "Feuer Tiger", "Löwe", "Weiter")
            if 
a==1 then
            pc
.mount(20110, 3600)
            
chat("Du Reitest nun auf dem Keiler.")
            
end
            
if a==2 then
            pc
.mount(20111, 3600)
            
chat("Du Reitest nun auf dem Wolf.")
            
end
            
if a==3 then
            pc
.mount(20112, 3600)
            
chat("Du Reitest nun auf dem Feuer Tiger.")
            
end
            
if a==4 then
            pc
.mount(20113, 3600)
            
chat("Du Reitest nun auf dem Löwen.")
            
end
            
if a==5 then
            say_title
("Auswahl")
            
say("")
            
local b=select("Weißer Löwe", "Dunkler Keiler", "Dunkler Wolf", "Dunkler Tiger", "Dunkler Löwe", "Weiter")
            if 
b==1 then
            pc
.mount(20114, 3600)
            
chat("Du Reitest nun auf dem Weißen Löwen.")
            
end
            
if b==2 then
            pc
.mount(20115, 3600)
            
chat("Du Reitest nun auf dem Dunklen Keiler.")
            
end
            
if b==3 then
            pc
.mount(20116, 3600)
            
chat("Du Reitest nun auf dem Dunklen Wolf.")
            
end
            
if b==4 then
            pc
.mount(20117, 3600)
            
chat("Du Reitest nun auf dem Dunklen Tiger.")
            
end
            
if b==5 then
            pc
.mount(20118, 3600)
            
chat("Du Reitest nun auf dem Dunklen Löwen.")
            
end
            
if b==6 then
            local h
=select("Weißer Tiger", "Blauer Alien", "Event Pferd", "Rentier", "Rentier 2", "Abbrechen")
            if 
h==1 then
            pc
.mount(20119, 3600)
            
chat("Du Reitest nun auf dem Weißen Tiger.")
            
end
            
if h==2 then
            pc
.mount(20120, 3600)
            
chat("Du Reitest nun auf dem Blauen Alien.")
            
end
            
if h==3 then
            pc
.mount(20129, 3600)
            
chat("Du Reitest nun auf dem Event Pferd.")
            
end
            
if h==4 then
            pc
.mount(20122, 3600)
            
chat("Du Reitest nun auf dem Jungen Rentier.")
            
end
            
if h==5 then
            pc
.mount(20123, 3600)
            
chat("Du Reitest nun auf dem Starken Rentier.")
            
end
            
if h==6 then
                
return
            
end
        end
    end
end 
Habe bei der 2. Quest am Anfang gleich nen Fehler gefunden, vielleicht funktioniert sie jetzt. Wenn nicht, schaue ich sie mir später genauer an.
Geht leider nicht. :(
04/01/2012 15:01 iNicki#5290
Quote:
Originally Posted by Jakomo' View Post
PHP Code:
quest dc begin
    state start begin
        when 2598.kill begin
            say_title
("Es ist vollbracht...")
            
say("")
            
say("Herzlichen Glückwunsch von unserem Team !")
            
say("Wir hätten nicht gedacht das je einer uns von")
            
say("Azrael befreit.")
            
say("")
            
say("Doch dir ist es gelungen Azrael zu töten.")
            
notice_all("*~ Serverinfo ~*")
            
notice_all(""..pc.get_name().." und seine Gruppe haben")
            
notice_all("Die Devil`s Catacomb gemeistert !")
            
notice_all("Azrael ist nun besiegt.")
            
notice_all("Herzlichen Glückwunsch !!")
        
end
    end
end 


PHP Code:
quest neue_reittiere begin
    state start begin
        when 60002.
use begin
            say_title
("Siegel der Tiere")
            
say("")
            
say("Hallo. :)")
            
say("Du willst also ein Reittier reiten.")
            
say("Mhm ich kann dich Reiten lassen.")
            
local s=select("Weiter", "Abbrechen")
            if 
s==2 then
                
return
            
end
            
else
            
say_title("Auswahl")
            
say("")
            
local a=select("Keiler", "Wolf", "Feuer Tiger", "Löwe", "Weiter")
            if 
a==1 then
            pc
.mount(20110, 3600)
            
chat("Du Reitest nun auf dem Keiler.")
            
end
            
if a==2 then
            pc
.mount(20111, 3600)
            
chat("Du Reitest nun auf dem Wolf.")
            
end
            
if a==3 then
            pc
.mount(20112, 3600)
            
chat("Du Reitest nun auf dem Feuer Tiger.")
            
end
            
if a==4 then
            pc
.mount(20113, 3600)
            
chat("Du Reitest nun auf dem Löwen.")
            
end
            
if a==5 then
            say_title
("Auswahl")
            
say("")
            
local b=select("Weißer Löwe", "Dunkler Keiler", "Dunkler Wolf", "Dunkler Tiger", "Dunkler Löwe", "Weiter")
            if 
b==1 then
            pc
.mount(20114, 3600)
            
chat("Du Reitest nun auf dem Weißen Löwen.")
            
end
            
if b==2 then
            pc
.mount(20115, 3600)
            
chat("Du Reitest nun auf dem Dunklen Keiler.")
            
end
            
if b==3 then
            pc
.mount(20116, 3600)
            
chat("Du Reitest nun auf dem Dunklen Wolf.")
            
end
            
if b==4 then
            pc
.mount(20117, 3600)
            
chat("Du Reitest nun auf dem Dunklen Tiger.")
            
end
            
if b==5 then
            pc
.mount(20118, 3600)
            
chat("Du Reitest nun auf dem Dunklen Löwen.")
            
end
            
if b==6 then
            local h
=select("Weißer Tiger", "Blauer Alien", "Event Pferd", "Rentier", "Rentier 2", "Abbrechen")
            if 
h==1 then
            pc
.mount(20119, 3600)
            
chat("Du Reitest nun auf dem Weißen Tiger.")
            
end
            
if h==2 then
            pc
.mount(20120, 3600)
            
chat("Du Reitest nun auf dem Blauen Alien.")
            
end
            
if h==3 then
            pc
.mount(20129, 3600)
            
chat("Du Reitest nun auf dem Event Pferd.")
            
end
            
if h==4 then
            pc
.mount(20122, 3600)
            
chat("Du Reitest nun auf dem Jungen Rentier.")
            
end
            
if h==5 then
            pc
.mount(20123, 3600)
            
chat("Du Reitest nun auf dem Starken Rentier.")
            
end
            
if h==6 then
                
return
            
end
        end
    end
end 
Habe bei der 2. Quest am Anfang gleich nen Fehler gefunden, vielleicht funktioniert sie jetzt. Wenn nicht, schaue ich sie mir später genauer an.
Meine geht auch nicht :/
04/01/2012 15:31 Computercrack#5291
PHP Code:
quest dragontemple begin
    state start begin
        
        when logout with pc
.get_map_index() >= (82*10000) begin
            pc
.setqf("punishment", 1)
        
end
        
        when login with pc
.get_map_index() >= (82*10000) and pc.getqf("punishment") == 1 begin
            pc
.setqf("punishment", 0)
            
warp_to_village()
        
end
        
        when 30121.chat
."Ich will den Drachen töten" with pc.get_map_index() == 73 and game.get_event_flag("dragontemple_open") == 1 begin
            pc
.setqf("punishment", 0)
            if 
game.get_event_flag("dragontemple_used") == 1 then
                
if game.get_event_flag("dragontemple_block") == 1 then
                    say_title
(mob_name(30121))
                    
say("")
                    
say("Der Raum ist gesperrt, versuch es später noch ein mal.")
                    return;
                
end
                
                say_title
(mob_name(30121))
                
say("")
                
say("Tut mir Leid, der Raum ist reseviert.")
                
say("Wenn du ein Passwort hast für den Zugang")
                
say("gebe es jetzt bitte ein.")
                
local password = input()
                if 
game.get_event_flag("dragontemple_password") == tonumber(password) then
                    say_title
(""..mob_name(30121).."")
                    
say("")
                    
say("Das Passwort stimmt überein.")
                    
say("Ich bringe dich in die Kammer")
                    
wait()
                    
say_title(""..mob_name(30121).."")
                    
say("")
                    
say("Wenn du willst kann ich dich sofort,")
                    
say("in den Drachnraum bringen.")
                    
say("Gib mir einfach 3x")
                    
say("")
                    
say_item_vnum(30179)
                    
                    
local s = select("Hier, nimm sie und bring mich rein", "Abbrechen")
                    if 
s == 1 then
                        
if pc.count_item(30179) >= 3 then
                            pc
.remove_item(30179,3)
                            
pc.warp(843600, 1066900,(82*10000))
                            --
DragonLair.startRaid(82)
                        else
                            
say("Du hast nur "..pc.count_item(30179).." von 3 benötigten")
                            
say("")
                            
say_item_vnum(30179)
                        
end
                    
else
                        return
                    
end
                
else
                    
say_title(""..mob_name(30121).."")
                    
say("")
                    
say("Das Passwort stimmt nicht überein.")
                    return
                
end
            
elseif pc.has_guild() and game.get_event_flag("dragontemple_used") == 0 then
                say_title
(""..mob_name(30121).."")
                
say("")
                
say("Du willst also den Drachen bekämpfen?")
                
say("Dann gib bitte erst ein Passwort(nur Zahlen) ein")
                
say("um den Raum zu schützen. Geb das Passwort")
                
say("einfach deinen Gruppenmitgliedern und sie")
                
say("können mit in den Raum")
                
say("Gib es bitte jetzt ein.")
                
local password = tonumber(input(""))
                
game.set_event_flag("dragontemple_password",password)
                
say_title(""..mob_name(30121).."")
                
say("")
                
say("Wenn du willst kann ich dich sofort,")
                
say("in den Drachnraum bringen.")
                
say("Gib mir einfach 3x")
                
say("")
                
say_item_vnum(30179)
                
say("")
                
                
local s = select("Hier, nimm sie und bring mich rein", "Abbrechen")
                if 
s == 1 then
                    
if pc.count_item(30179) >= 3 then
                        pc
.remove_item(30179,3)
                        
DragonLair.startRaid(82)
                         
game.set_event_flag("dragontemple_used",1)
                        
timer("blockentry",5*60)
                    else
                        
say("Du hast nur "..pc.count_item(30179).." von 3 benötigten")
                        
say("")
                        
say_item_vnum(30179)
                        
say("")
                        return
                    
end
                
elseif s==2 then
                    
return                                
                
end
            
elseif not pc.has_guild() then
                say_title
(""..mob_name(30121).."")
                
say("")
                
say("Du benötigst eine starke Gilde")
                
say("um gegen den Drachen zu kämpfen.")
            
end
        end
        
        when 2493.kill with pc
.get_map_index() >= (82*10000) begin
            timer
("set_unused",30)
        
end
        
        when set_unused
.timer begin
            game
.set_event_flag("dragontemple_used",0)
            
game.set_event_flag("dragontemple_block",0)
        
end
        
        when blockentry
.timer begin
            game
.set_event_flag("dragontemple_block",1)
        
end
    end
end 
Quest alles klappt,bloß der Block Effekt geht nicht.Der Raum soll wenn man den Drachen getötet hat 1h geschlossen sein
04/01/2012 16:22 Jakomo'#5292
Quote:
Originally Posted by [SA]Con View Post
Geht leider nicht. :(
Bei mir funktioniert sie, vielleicht verwendest du den Mob schon in einer anderen Quest, dann blockiert sich das nämlich.
04/01/2012 17:06 Azemi6#5293
Quote:
Originally Posted by Azemi6 View Post
Also ich versuche ein item zu machen das wie seeli ist halt einfach schon ab M1 brauchbar ist... ich nehme als item die drachenschuppe (nicht das reittier) und hab die quest von der seeli als vorlage genommen und überall alles angepasst bzw. wo die 30 stand eine 20 gemacht....

In den Objekt ordner in FileZilla hab ich auch den ordner von dem seeli kopiert bearbeitet und die quest darin auch also die .start quest....

Die training_master_skill.quest





Die training_master_skill.start
WIESO HILFT MIR NIEMAND?!!
Es würde mich echt freuen wenn mir jemand helfen würde!
04/01/2012 19:20 Ytura#5294
Quote:
Originally Posted by Retrograd View Post
du musst die funktion pc.mount_bonus noch in den quest_functions eintragen
Habe ich gemacht, nun krieg ich son Fehler:

[Only registered and activated users can see links. Click Here To Register...]
04/01/2012 21:07 [SA]Imbattle#5295
Hallo, hab nen problem mit dieser quest:

PHP Code:
quest tausch_npc begin
    state start begin
        when 9009.chat
."Steinstücke eintauschen" begin
            say_title
("Fischer:")
            
say("")
            
say("Hallo, möchtest du Steinstücke gegen")
            
say("Perlen tauschen?")
            
say_reward("100 Steinstücke für 1 Weiße Perle")
            
say_reward("150 Steinstücke für 1 Blaue Perle")
            
say_reward("200 Steinstücke für 1 Blutrote Perle")
            
say("Welche Perle möchtest du haben?")
            
locale s select == ("Weiße Perle", "Blaue Perle", "Blutrote Perle", "Abbrechen")
                if 
s == 1 with pc.count_item(27990)>99 then
                say_reward
("Du erhälst Weiße Perle.")
                
pc.give_item2(27992, 1)
                
pc.remove_item(27990, 100)
            
end
                
if s == 2 with pc.count_item(27990)>149 then
                say_reward
("Du erhälst Blaue Perle.")
                
pc.give_item2(27993, 1)
                
pc.remove_item(27990, 150)
            
end
                
if s == 3 with pc.count_item(27990)>199 then
                say_reward
("Du erhälst Blutrote Perle.")
                
pc.give_item2(27994, 1)
                
pc.remove_item(27990, 200)
            
end
                
if s == 4 then
                say_title
("Fischer:")
                
say("")
                
say("Dann bis später.")
            
end
        end
    end
end 
Fehlercode:
syntax error : [string "start"]:9: `=' expected near `s' tauschquests.quest:39:Error occured on compile tauschquests.quest

wär nett wenn mir jemand helfen kann, thanks im vorraus :)