[SERVICE] Die Questkontrolle

03/05/2014 17:58 moldhenr#9796
Moin, bräuchte mal Hilfe bei der Autoumhang Quest.
Die Quest funktioniert nur so weit, dass die Meldung Autoumhang aktiviert und Autoumhang deaktiviert ausgegeben wird, aber kein Mob gepullt wird.
03/05/2014 19:08 nOa##9797
Quote:
Originally Posted by moldhenr View Post
Moin, bräuchte mal Hilfe bei der Autoumhang Quest.
Die Quest funktioniert nur so weit, dass die Meldung Autoumhang aktiviert und Autoumhang deaktiviert ausgegeben wird, aber kein Mob gepullt wird.
Schau mal bitte nach, ob auch die Funktion pc.aggregate_monster() in deinen Functions definiert wurde.
03/05/2014 19:18 moldhenr#9798
Quote:
Originally Posted by 123Crusher123 View Post
Schau mal bitte nach, ob auch die Funktion pc.aggregate_monster() in deinen Functions definiert wurde.
nein ist noch nicht definiert. wie definier ich es denn? einfach reinschreiben?
03/05/2014 22:16 rollback#9799
brauche hilfe ... weiss grad einfach nicht weiter.
PHP Code:
if party.is_party() then
                    say_title
("Wächter des Dämonenturmes")
                    
say("")
                    
say("Bitte achte darauf, dass sich alle Gruppenmitglieder")
                    
say("im Tempel befinden!")
                    
say("")
                    
say_reward("Möchtest du den Dungeon wirklich mit deiner Gruppe")
                    
say_reward("betreten?")
                    
local gruppe_betreten select("Dämonenturm als Gruppe betreten""Abbrechen")
                    if 
gruppe_betreten == 1 then
                        d
.new_jump_party(66special.devil_tower[1][1], special.devil_tower[1][2])
                        
d.regen_file("data/dungeon/deviltower2_regen.txt")
                        
d.set_warp_at_eliminate(4d.get_map_index(), special.devil_tower[2][1], special.devil_tower[2][2], "data/dungeon/deviltower3_regen.txt")
                    
end 
ist ein ausschnitt aus meiner dt quest.
wenn ich es änder zu
PHP Code:
d.new_jump_all 
funktioniert es einwandfrei.

PHP Code:
d.new_jump_party
d
.join 
funktioniert beides nicht.
keine ahnung wieso ...
d.join und d.new_jump_party ist beides in der quest_functions drin ...
(und ja, ich bin in einer gruppe)
03/06/2014 02:16 Akzyra#9800
Quote:
Originally Posted by Kilroy. View Post
Ich finde es unsinnig dafür einen Thread aufzumachen, deshalb:

Wie muss eine mysql_query aussehen damit man von zwei verschiedenen Tabellenorten zählen kann?
Beispiel: Zähle auf, Wie viele Level 105 und im Blauen Reich sind. Level bekommt man in player.player und Reich in player.player_index.

Ich habs mit einer query versucht, dennoch gibt es den Error, das die Tabelle empire nicht existiert.
PHP Code:
mysql_query("SELECT count(*) FROM player WHERE player.level=105 and player_index.empire=3;"

# Hab kein Thread mit solchen Mysqlbefehlen gefunden.

Hab das nur kurz getestet:
PHP Code:
SELECT count(*) FROM player.player
LEFT JOIN player
.player_index 
ON player_index
.id player.account_id 
WHERE player
.level=105 AND player_index.empire=3
Wenn man sich das hen-CMS durchschaut lernt man bissl was :D
03/06/2014 09:57 Megawurrrm#9801
Guten Morgen

In meinem Files habe ich die levelup.quest dummerweise mit jedemenge komischen zeichen drin. Stat ganz normal zu funktionieren kommt beim Levelup links eine schriftrolle mit Level 3 Jagtquest und wenn man draufklickt verschwindet sie einfach und es passiert nichts mehr


Weiß jemand was da falsch ist?
03/06/2014 21:06 DarkMajo#9802
Habe auch ein Problem,
ich bekomme am Anfang immer nur ein
Schwert +0
Rote, Blaue, Violette & Grüne kleine Potts

03/06/2014 21:52 nOa##9803
Quote:
Originally Posted by DarkMajo View Post
Habe auch ein Problem,
ich bekomme am Anfang immer nur ein
Schwert +0
Rote, Blaue, Violette & Grüne kleine Potts
Hier nimm die quest:
PHP Code:
quest give_basic_weapon begin
    state start begin
        when login with pc
.getqf("first") == 0 begin
            
if pc.getqf("basic_weapon") == 0 then
                pc
.setqf("basic_weapon"1)
                
notice_all("Wir begrüßen "..pc.get_name().." auf SERVERNAME")
                
pc.give_item2(501871)
                
pc.setqf("first"1)
            
end
        end

        when 50187.
use begin                                    -- Lehrlingstruhe I
            local item_vnum 
19
            
if pc.job == 3 then                                    -- Fächer+9
                item_vnum 
7009
            
elseif pc.job == 1 then                                -- Dolch+9
                item_vnum 
1009
            end
            local item_count 
pc.countitem(item_vnum)
            
local equip_weapon pc.weapon
            
if item_count == and equip_weapon != item_vnum then
                pc
.give_item2(item_vnum)                        -- jobtype Waffe
                pc
.give_item2(501881)                            -- Lehrlingstruhe II
                pc
.give_item2(27003200)                        -- Roter Trank (GB
                pc
.give_item2(2700650)                        -- Blauer Trank (GB
                pc
.give_item2(2711210)                        -- Grüner Trank (GB
                pc
.give_item2(2711510)                        -- Violetter trank (GB
                pc
.give_item2(7003825)                        -- Tapfis
                pc
.give_item2(700071)                         -- Warpring
                item
.remove()
            
end
        end
        
        when 50188.
use begin
            
if pc.get_level() >= 10 then
                pc
.give_item2(727231)                            -- Elixier der Sonne (K)
                
pc.give_item2(727271)                            -- Elixier des Mondes (K)
                
pc.give_item2(70038,200)                        -- Tapfis
                pc
.give_item2(501891)                            -- Lehrlingstruhe III                                 
                pc
.remove_item(501881)                        -- Lehrlingstruhe II verschwindet aus dem Inventar
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end
        end
        
        when 50189.
use begin
            
if pc.get_level() >= 20 then
                pc
.give_item2(727231)                            -- Elixier der Sonne (K)
                
pc.give_item2(7108525)                        -- Bonis
                pc
.give_item2(7108450)                        -- Bonis
                pc
.give_item2(501901)                            -- Expertentruhe I                                     
                pc
.remove_item(501891)                        -- Lehrlingstruhe III verschwindet aus dem Inventar
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end
        end
        
        when 50190.
use begin
            
if pc.get_level() >= 30 then
                pc
.give_item2(150891)                            -- Schuhe
                pc
.give_item2(140691)                            -- Armband
                pc
.give_item2(170291)                            -- Ohrringe
                pc
.give_item2(160691)                            -- Halskette
                pc
.give_item2(501911)                            -- Expertentruhe II                                    
                pc
.remove_item(501901)                        -- Expertentruhe I verschwindet aus dem Inventar    
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end    
        end
        
        when 50191.
use begin
            
if pc.get_level() >= 40 then
                pc
.give_item2(7101810)                        -- Segen dLebens
                pc
.give_item2(710331)                            -- Emo maske
                pc
.give_item2(501921)                            -- Expertentruhe III                                 
                pc
.remove_item(501911)                        -- Expertentruhe II verschwindet aus dem Inventar
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end    
        end
        
        when 50192.
use begin
            
if pc.get_level() >= 50 then
                pc
.give_item2(500501)                            -- PM
                pc
.give_item2(501931)                            -- Meistertruhe I                                     
                pc
.remove_item(501921)                        -- Expertentruhe III verschwindet aus dem Inventar
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end    
        end
        
        when 50193.
use begin
            
if pc.get_level() >= 60 then
                pc
.give_item2(727231)                            -- Elixier der Sonne (K)
                
pc.give_item2(727271)                            -- Elixier des Mondes (K)
                
pc.give_item2(279925)
                
pc.give_item2(279935)
                
pc.give_item2(279945)
                
pc.give_item2(501941)                            -- Meistertruhe II                                     
                pc
.remove_item(501931)                        -- Meistertruhe I verschwindet aus dem Inventar    
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end
        end
        
        when 50194.
use begin
            
if pc.get_level() >= 70 then
                pc
.give_item2(7101810)                        -- Segen dLebens
                pc
.give_item2(279925)
                
pc.give_item2(279935)
                
pc.give_item2(279945)
                
pc.give_item2(501951)                            -- Meistertruhe III                                 
                pc
.remove_item(501941)                        -- Meistertruhe II verschwindet aus dem Inventar
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end
        end
        
        when 50195.
use begin
            
if pc.get_level() >= 80 then
                pc
.give_item2(2799210)
                
pc.give_item2(2799310)
                
pc.give_item2(2799410)
                
pc.give_item2(5005010)                        -- PM
                pc
.give_item2(501961)                            -- Großmeistertruhe                                 
                pc
.remove_item(501951)                        -- Meistertruhe III verschwindet aus dem Inventar
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end
        end
        
        when 50196.
use begin
            
if pc.get_level() >= 90 then
                
--pc.give_item2(, 1)                -- Mount siegel
                pc
.give_item2(2799210)
                
pc.give_item2(2799310)
                
pc.give_item2(2799410)
                
pc.give_item2(7101810)                        -- Segen dLebens
                pc
.remove_item(501961)                        -- Großmeistertruhe verschwindet aus dem Inventar
            
else
                
syschat("Dein Level ist zu niedrig, um diesen Gegenstand zu benutzen.")
            
end
        end
    end
end 
03/06/2014 22:14 DarkMajo#9804
Dein zitat:

Geht immernoch nicht.
würde mich freuen wenn du mal schauen kannst (über TV)
Skype: SillaTheKilla1
03/06/2014 22:51 Rofelmau#9805
Code:
quest truhen_zero begin 
    state start begin 
       when login begin
        pc.give_item2(50187)
        set_state(truhen)
       end
     end
      state truhen begin
         when 50187.use begin
           local item_vnum = 10 --Schwert+0
           if pc.get_job() == 1 then
             item_vnum = 1000 --Dolche+0
          elseif pc.get_job() == 2 then	
             item_vnum = 10 --Schwert+0
          elseif pc.get_job() == 3 then
              item_vnum = 7000 --Fächer+0
          end	
         pc.give_item2(72723, 1) --Elixier der Sonne(K)
         pc.give_item2(72727, 1) --Elixier des Mondes(K)
         pc.give_item2(27110, 200) --Grüner Trank(K)
         pc.give_item2(27113, 200) --Violetter Trank(K)
         pc.give_item2(50188, 1) --Lehrlingstruhe II
         pc.give_item2(15049, 1) --Holzschuhe +9
         pc.give_item2(16009, 1) --Holzhalskette +9
         pc.give_item2(14049, 1) --Holzohrringe +9
         pc.give_item2(15049, 1) --Holzschuhe +9
         pc.give_item2(13007, 1) --Schlachtschild +7
         pc.give_item2(41165, 1) --FC Bayern Trikot
         pc.give_item2(item_vnum) --lvl 1er waffe je nach rasse
         pc.give_item2(50188, 1) --Lehrlingstruhe II
         pc.remove_item(50187, 1) --Lehrlingstruhe I verschwindet

      end
   end
end
teste mal

@moldhenr (falls du es noch brauchst)
Bei mir ist die auch nicht definiert und es geht, bist du vlt einfach zu ungeduldig?! die zeit fürs pullen ist bei deinen Umhang auf 30 Sekunden eingestellt.
loop_timer("pull_it", 30) da kannst du das ändern
03/07/2014 08:11 xMasi95#9806
PHP Code:
quest MAP begin
    state start begin
        when 20094.chat
."Spiritus Mountain" begin
            
if pc.get_level() < 80 then
            say
("Entschuldige aber du musst erst Level 80 erreichen.")
            else
            
say("Hallo "..pc.get_name().." ")
            
say("Du willst es also versuchen?")
            
say("Die letzten Menschen die")
            
say("Spiritus Mountain besucht")
            
say("haben kamen nicht lebendig")
            
say("zurück!")
            
wait()
            
say("Du brauchst folgendes.")
            
say("Item.")
            
say_item_vnum(30227)
            
say("Willst du also wirklich")
            
say("eintreten?")
            
local wahl select("Ja""Nein")
            if 
wahl == and pc.count_item(30227) >= 1 then
                say
("Na gut, dann fahre fort,")
                
say("aber! ich hab dich")
                
say("gewahnt.")
                
wait()
                
pc.warp(14092001008900) -- /state koords mit 00
            
elseif pc.count_item(30277) == 0 then
                say
("Du hast leider nicht")
                
say("denn Seelenstein.")
                
say_item_vnum(30227)
                
say("Wenn du eintreten willst")
                
say("besorge mir den Stein!")
            elseif 
wahl == 2 then
                
return
            
end
        end
    end

        when 8027.kill begin
            d
.notice("Du willst es also wirklich?")
            
d.notice("Du wirst nicht überleben.")
            
d.check_eliminated()
            
d.spawn_mob(8020399260)    -- normale koords
            d
.check_eliminated()
        
end
        when 8020.kill begin
            d
.notice("Dein gewünschter Text.")
            
d.notice("Dein gewünschter Text.")
            
d.notice("Dein gewünschter Text.")
            
chat("Euch erwarten noch weitere 9 Prüfungen bis ihr zu mir gelangt.")
            
d.spawn_mob(802158994)    -- normale koords
            d
.check_eliminated()
    
end 
Bekomme immer must start with quest. Error on Compile
03/07/2014 09:10 MGC-NOM#9807
Quote:
Originally Posted by xMasi95 View Post
PHP Code:
quest MAP begin
    state start begin
        when 20094.chat
."Spiritus Mountain" begin
            
if pc.get_level() < 80 then
            say
("Entschuldige aber du musst erst Level 80 erreichen.")
            else
            
say("Hallo "..pc.get_name().." ")
            
say("Du willst es also versuchen?")
            
say("Die letzten Menschen die")
            
say("Spiritus Mountain besucht")
            
say("haben kamen nicht lebendig")
            
say("zurück!")
            
wait()
            
say("Du brauchst folgendes.")
            
say("Item.")
            
say_item_vnum(30227)
            
say("Willst du also wirklich")
            
say("eintreten?")
            
local wahl select("Ja""Nein")
            if 
wahl == and pc.count_item(30227) >= 1 then
                say
("Na gut, dann fahre fort,")
                
say("aber! ich hab dich")
                
say("gewahnt.")
                
wait()
                
pc.warp(14092001008900) -- /state koords mit 00
            
elseif pc.count_item(30277) == 0 then
                say
("Du hast leider nicht")
                
say("denn Seelenstein.")
                
say_item_vnum(30227)
                
say("Wenn du eintreten willst")
                
say("besorge mir den Stein!")
            elseif 
wahl == 2 then
                
return
            
end
        end
    end

        when 8027.kill begin
            d
.notice("Du willst es also wirklich?")
            
d.notice("Du wirst nicht überleben.")
            
d.check_eliminated()
            
d.spawn_mob(8020399260)    -- normale koords
            d
.check_eliminated()
        
end
        when 8020.kill begin
            d
.notice("Dein gewünschter Text.")
            
d.notice("Dein gewünschter Text.")
            
d.notice("Dein gewünschter Text.")
            
chat("Euch erwarten noch weitere 9 Prüfungen bis ihr zu mir gelangt.")
            
d.spawn_mob(802158994)    -- normale koords
            d
.check_eliminated()
    
end 
Bekomme immer must start with quest. Error on Compile
da fehlt aufjedenfall schonmal n end
03/07/2014 19:25 Rofelmau#9808
Quote:
Originally Posted by MGC-NOM View Post
da fehlt aufjedenfall schonmal n end
2 ends fehlen am ende
03/08/2014 01:37 MGC-NOM#9809
kann mir hier jemand einbauen, dass wenn das pferd lvl 11 erreicht, man das Waffenpferdebuch bekommt und bei lvl 21 das millitärpferdebuch?

03/08/2014 09:49 nOa##9810
Quote:
Originally Posted by MGC-NOM View Post
kann mir hier jemand einbauen, dass wenn das pferd lvl 11 erreicht, man das Waffenpferdebuch bekommt und bei lvl 21 das millitärpferdebuch?

Sollte so funktionieren:
PHP Code:
quest horse_guard begin
    state start begin
        when 20349.chat
."Pferd steigern" with horse.get_level()<21 begin
            say_title
("Stallbursche:")
            
say("")
            
say("Hallo!")
            
say("Bei mir kannst du dein Pferd steigern.")
            
say("Das Pferd zu steigern kostet dich 100.000 pro Level.")
            
say("")
            
say_reward("Möchtest du dein Pferd steigern?")
            
say("")

            
local s select("Ja""Nein")

                if 
== 1 then
                    say_title
("Stallbursche:")
                    
say("")
                if 
pc.money>=100000 and horse.get_level()<21 then
                    pc
.changemoney("-100000")
                    
horse.unride()
                    
horse.advance()
                    
horse.ride()
                    
say("Dein Pferd hat nun Level "..(horse.get_level()).." erreicht.")
                    
say("")
                    if 
horse.get_level() == 11 then
                        pc
.give_item2(500521)
                        
chat("Du hast ein Waffen-Pferdebild erhalten!")
                    elseif 
horse.get_level() == 21 then
                        pc
.give_item2(500531)
                        
chat("Du hast ein Militär-Pferdebuch erhalten!")
                    
end 
                
elseif horse.get_level()>=21 then
                    say
("Dein Pferd hat Level "..(horse.get_level()).." erreicht.")
                    
say("Du kannst es nicht mehr steigern.")
                    
say("")
                elseif 
pc.money<100000 then
                    say
("Du hast nicht genug Yang um dein Pferd zu steigern.")
                    
say("")
                
end
            
elseif == 2 then
                
return
            
end
        end
--        when 20349.chat."Reitshop" begin
--            npc.open_shop(Hier die ShopID eintragen)
--            
say("Hier findest du alle Items für ein Pferd.")
--        
end
        when 20349.chat
."Information" begin
            local s
=number(17)
            if 
1>=s then -- 14.29% (1/7)
            
say("Füttere dein Pferd")
            
say("regelmässig sonst")
            
say("stirbt es.")
            elseif 
2>=s then -- 14.29% (1/7)
            
say("Das Anfängerpferd")
            
say("ist sehr schnell erschöpft.")
            
say("Bleibe nicht auf seinem Rücken stehen.")
            elseif 
3>=s then -- 14.29% (1/7)
            
say("Um dein Pferd zu verbessern")
            
say("benötigst du 2kk Yang.")
            
say("Bringe das Yang zu mir")
            
say("und ich werde dein Pferd steigern.")
            elseif 
4>=s then -- 14.29% (1/7)
            
say("Wenn dein Pferd gestorben")
            
say("ist gibt es mehrere")
            
say("Kräuter von den")
            
say("Affenkönigen um")
            
say("sie Wiederzubeleben.")
            elseif 
5>=s then -- 14.29% (1/7)
            
say("Es gibt 9 verschiedene")
            
say("Pferde Aussehen.")
            
say("Ohne Gilde, mit Gilde und als Leader.")
            elseif 
6>=s then -- 14.29% (1/7)
            
say("Das Anfängerpferd")
            
say("isst gerne Heu.")
            
say("Das Kampfpferd")
            
say("isst gerne Karotten.")
            
say("Das Militärpferd")
            
say("isst gerne Roten Ginseng.")
            elseif 
7>=s then -- 14.29% (1/7)
            
say("Lese Handbuch Pferde Zähmen")
            
say("um dein Pferd schneller zu rufen.")
            
end
        end
    end
    state __COMPLETE__ begin
        when enter begin
            q
.done()
        
end
    end
end