[SERVICE] Die Questkontrolle

04/12/2012 19:11 mebed123#5461
PHP Code:
quest ReittierShop begin
    state start begin
        when 9010.chat
."Reittier Löwe" with pc.level>=86 begin
            say_title
("ReittierShop:")
            
say("Hey du Ich habe Wilde Tiere Gefangen")
            
say("und nun sind sie zahm du Kannst drauf Reiten")
            
say("Bringe mir 5 Krieger Symbole und ich gebe dir eins.")
            
local s select("Ja""Nein")
        if 
== 1 then
            pc
.remove_item(30091,5)
            
pc.give_item2(71120)
        else
            return
            
end
        end
        when 9010.chat
."Reittier Wolf" with pc.level>=86 begin
            say_title
("ReittierShop:")
            
say("Hey du Ich habe Wilde Tiere Gefangen")
            
say("und nun sind sie zahm du Kannst drauf Reiten")
            
say("Bringe mir 5 Krieger Symbole und ich gebe dir eins.")
            
local s select("Ja""Nein")
        if 
== 1 then
            pc
.remove_item(30091,5)
            
pc.give_item2(71116)
        else
            return
            
end
        end
        when 9010.chat
."Reittier Tiger" with pc.level>=86 begin
            say_title
("ReittierShop:")
            
say("Hey du Ich habe Wilde Tiere Gefangen")
            
say("und nun sind sie zahm du Kannst drauf Reiten")
            
say("Bringe mir 5 Krieger Symbole und ich gebe dir eins.")
            
local s select("Ja""Nein")
        if 
== 1 then
            pc
.remove_item(30091,5)
            
pc.give_item2(71118)
        else
            return
            
end
        end
            when 9010.chat
."Reittier Keiler" with pc.level>=86 begin
            say_title
("ReittierShop:")
            
say("Hey du Ich habe Wilde Tiere Gefangen")
            
say("und nun sind sie zahm du Kannst drauf Reiten")
            
say("Bringe mir 5 Krieger Symbole und ich gebe dir eins.")
            
local s select("Ja""Nein")
        if 
== 1 then
            pc
.remove_item(30091,5)
            
pc.give_item2(71114)
        else
            return
            
end 

Was ist heir das Problem um Reittiere zu holen braucht man keien 5 kriegssymbole kann man einfach so holen warum?
04/12/2012 19:16 Kotas1997#5462
Quote:
Originally Posted by Kotas1997 View Post
und kannst du mir erklären wo ich das rein tun soll und was ich alles machen soll?

also wo soll ich das einfügen .. bei FilzeZilla? Wenn ja wo?

EDIT: UND WIE MACHT MAN DAS?!?
04/12/2012 20:07 RoktuR#5463
Hey, brauche mal Hilfe bei meiner Phönix quest... undzwar will ich das man nicht auf dem Phönix reiten/fliegen kann.. und man kann sich die Bonis 3x geben lassen, wenn man alle 3 Pet-Siegel hat... könnte mir da jemand helfen?

Hier die Quest:

PHP Code:
quest phoenix begin
    state start begin
        when 71126.
use begin
            local old_horse_name 
horse.get_name() ;
            if 
string.len(old_horse_name) == 0 then
            say_title
("phoenix")
            
say_reward("Dein phoenix besitzt noch keinen Namen.")
            
say_reward("Du kannst ihm einen geben in dem du das")
            
say_reward("Haustierzucker benutzt, diese bekommst du")
            
say_reward("beim Start oder bei der Gemichtwarenhädlerin!")
            
say_reward("")
            
say_reward("ACHTUNG: Alle Haustiere Besitzen dann den")
            
say_reward("gleichen Namen!")
            return
            
end
            chat
("Dein phoenix wurde gerufen!")
            
affect.add_collect(apply.CON,25,60*60*24*365*60)        
            
affect.add_collect(apply.INT,10,60*60*24*365*60)
            
affect.add_collect(apply.STR,10,60*60*24*365*60)
            
affect.add_collect(apply.DEX,10,60*60*24*365*60)
            
affect.add_collect(apply.MAX_HP,5000,60*60*24*365*60)
            
horse.set_level ("22")
            
horse.unsummon() horse.summon()  
            
set_state(back)
        
end
    end
    state back begin
        when 71126.
use begin
            chat
("Dein phoenix wurde weggeschickt!")
            
affect.remove_collect(apply.CON,25,60*60*24*365*60)        
            
affect.remove_collect(apply.INT,10,60*60*24*365*60)
            
affect.remove_collect(apply.STR,10,60*60*24*365*60)
            
affect.remove_collect(apply.DEX,10,60*60*24*365*60)
            
affect.remove_collect(apply.MAX_HP,5000,60*60*24*365*60)
            
horse.unsummon()
            
horse.set_level ("21")  
            
set_state(start)
            
horse.unsummon()
        
end
    end
end 
Würde mich freuen wenn mir jemand hilft.

Lg RoktuR
04/12/2012 21:16 evoh12#5464
PHP Code:
quest teleporter begin
    state start begin
    when 20092.chat
."Grotte 1"  begin
    
    
    
                
                say_title
("Teleportieren")
                
say("Hallo mein Freund !")
                
say("")
                
say("Ich kann dich Teleportieren ,")
                
say("aber nicht Gratis.")
                
say("")
                
wait ("")
                
                
                
                
                
                
                
say_title("Teleportieren")
                
say("")
                
say("Möchtest du Teleportiert werden ?")
                
say("")
                
local s select("Ja""Nein")
                if 
== 1 then
                
if pc.money>=100000 then 
                pc
.changemoney("-100000"
                
                
                
                
                --> 
Wenn du Teleportiert wirst
                
---------------------------------------------------------
                
say_title("Teleportieren")
                
say("")
                
say("Halte dich gut Fest")
                
say("")
                
wait ("")
                
pc.warp(0,0
                


                
                
                elseif 
pc.money<100000 then 
                say_title
("Teleportieren")
                
say("")
                
say("Du hast Leider kein Yang")
                
say("")
                
say("Ich kann dich nicht Teleportieren sry !")
                
say("")
                
end
                
        end
    end
    end
end 
Hey ich kommt nicht weiter mit dieser Teleporterquest habe alles eingefügt in hongkong list und make.sh aus geführt nur wenn ich den Npc anklicke erscheint nichts.
04/12/2012 22:09 Fear *_*#5465
Hier ist die Teleportquest, schau aber auch ma ob der Npc in der Datenbank bei Oneklick auf 2 steht :D


@mebed123

Hier die Quest, hast ja garkeine Abfrage gemacht ob man die Items hat oder net :D

04/13/2012 13:18 evoh12#5466
Heyy mir wird die Quest immer noch nicht im NPC angezeigt. Der NPC ist auf on_click 2 habe alle befehle : cd -usr-rain-channel-share_data-locale-hongkong-quest und chmod u+x make.sh und sh make.sh und cd -root- ausgeführt und auch in die hongkong_list eingetragen. Was mach ich falsch ?

Hier nochmal die Quest
PHP Code:
quest teleporter begin 
    state start begin 
        when 20092.chat
."Grotte 1" begin   
            say_title
("Teleportieren"
            
say("Hallo mein Freund !"
            
say(""
            
say("Ich kann dich Teleportieren ,"
            
say("aber nicht Gratis."
            
say(""
            
wait (""
            
say_title("Teleportieren"
            
say(""
            
say("Möchtest du Teleportiert werden ?"
            
say(""
            
local s select("Ja""Nein")
            if 
== 1 then 
                
if pc.money >= 100000 then  
                    say_title
("Teleportieren"
                    
say(""
                    
say("Halte dich gut Fest"
                    
say(""
                    
wait (""
                    
pc.warp(0,0
                    
pc.changemoney("-100000")
                elseif 
pc.money 100000 then  
                    say_title
("Teleportieren"
                    
say(""
                    
say("Du hast Leider kein Yang"
                    
say(""
                    
say("Ich kann dich nicht Teleportieren sry !"
                    
say(""
                
end 
            
elseif == 2 then
                
return
            
end
        end
    end
end 
04/13/2012 14:19 hr4rjuku#5467
Hier bitteschön :)




Mfg Hr4rjuku
04/13/2012 14:48 evoh12#5468
funktioniert trotzdem nicht es erscheint kein fenster =(
04/13/2012 17:32 hr4rjuku#5469
Grad getestet... funzt perfekt...

also machst du irgend was falsch



Mfg Hr4rjuku
04/13/2012 17:47 Kotas1997#5470
ich hab jetzt so eine quest aber kann mir einer sagen wie man das macht?
04/13/2012 18:25 evoh12#5471
also jetzt noch mal was ich gemacht habe :D :
1.quest eingefügt in /usr/rain/channel/share_data/locale/hongkong/quest
2.in hongkong_list eingetragen
cd -usr-rain-channel-share_data-locale-english-quest
chmod u+x make.sh
sh make.sh
reboot

und ingame /reload quest

habs auch nochmal als bild vielleicht fälllt euch ja etwas auf :)
[Only registered and activated users can see links. Click Here To Register...]

und ja 20092 ist auf on_click 2 gestellt
04/13/2012 19:57 Azemi6#5472
Quote:
Originally Posted by Retrograd View Post
Ich bin mir nicht sicher aber versuchs mal so

PHP Code:
quest training_master_skill begin
    state start begin
    when 71123.
use begin
        say_title
("Meister")
        
local seelicount pc.count_item(71123)
        if 
pc.get_skill_group() == 0 then
        say
("Du hast keine Fertigkeiten "..pc.get_skill_group())
        return
        
end

        
if get_time() < pc.getqf("next_time"then -- and not is_test_server() then
        
if pc.is_skill_book_no_delay() then
            say
("Du hast eine Exo-Rolle Gelesen!")
            
say("Nun kannst du einen weiteren")
            
say("Blauen-Seelenstein lesen!")
                  
say("")
            
wait()
            
say_title("Meister")
        else
            
say("Du hast heute Bereits einen Blauen-Seelenstein gelesen!")
            return
        
end
        end

        local result 
training_master_skill.BuildGrandMasterSkillList(pc.get_job(), pc.get_skill_group())

        
local vnum_list result[1]
        
local name_list result[2]

        if 
table.getn(vnum_list) == 0 then
        say
("Du hast keine Fertigkeiten")
        return
        
end

        say
("Fertigkeit Auswählen")
        
say("")

        
local menu_list = {}
        
table.foreach(name_list, function(inametable.insert(menu_listnameend)
        
table.insert(menu_list"Abbrechen"
        
local s=select_table(menu_list)
        if 
table.getn(menu_list) == s then
        
return
        
end

        local skill_name
=name_list[s]
        
local skill_vnum=vnum_list[s]
        
local skill_level pc.get_skill_level(skill_vnum)
        
local cur_alignment pc.get_real_alignment()
        
local need_alignment 1000+500*(skill_level-20)

        
test_chat("Momentaner Rang: "..cur_alignment)
        
test_chat("Benötigter Rang: "..need_alignment)

        
local title=string.format("%s auf Meister  %d lesen"skill_nameskill_level-20+1)
        if 
pc.count_item(71123) != seelicount then
        say
("Stfu Buguser!")
        return
        
end
        item
.remove()
        
say_title(title)
        
say("Das lesen eines Blauen-Seelensteines")
        
say("kostet Rangpunke.")
        
say("")

        if 
cur_alignment<-19000+need_alignment then
        say_reward
("Du hast zu wenig Rang!")
        return
        
end

        
if cur_alignment<0 then
        say_reward
(string.format("Benötigter Rang: %d -> %d"need_alignmentneed_alignment*2))
        
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
              
say_reward("das doppelte an Rangpunkten abgezoegn!")

        
need_alignment=need_alignment*2
        
elseif cur_alignment<need_alignment then
        say_reward
(string.format("Benötigter Rang: %d"need_alignment))
        
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
              
say_reward("das doppelte an Rangpunkten abgezoegn!")
        else
        
say_reward(string.format("Benötigter Rang: %d"need_alignment))
        
end
        say
("")

        
local s=select("Lesen""Abbrechen")    
        if 
s==2 then
        
return
        
end


        
if cur_alignment>=and cur_alignment<need_alignment then
        say_title
(string.format("%s -Bestätigen"title))
        
say("Das Lesen eines Blauen-Seelensteines kostet Rang,")
        
say("wenn du diesen Blauen-Seelenstein ließt,")
        
say("kommst du in -Rang")
        
say("Bitte Bestätige das du diesen Blauen-Seelenstein")
        
say("wirklich lesen möchtest!")
        
say("")
        
say_reward("Bestätigen")
        
say("")
        
say("Bitte gebe 'Meister' ein!")
        
local s=input()
        if 
s!="Meister" then
            
return
        
end
        end

        
if get_time() < pc.getqf("next_time"then -- and not is_test_server() then
        
if pc.is_skill_book_no_delay() then
            pc
.remove_skill_book_no_delay()
        else
            
say("Seelitest1")
            return
        
end
        end

        pc
.setqf("next_time"get_time()+time_hour_to_sec(number(812)))

        if 
need_alignment>0 then
        
if pc.learn_grand_master_skill(skill_vnumthen
            pc
.change_alignment(-need_alignment)


            
say_title(string.format("%s -Erfolgreich"title))
            if 
40 == pc.get_skill_level(skill_vnumthen
            say
(string.format("%s Seelitest2."skill_name))
            else
            
say(string.format("Dein Blauer-Seelenstein war Erfolgreich!"skill_nameskill_level-20+1+1))
            
end
            say
("")
            
say_reward("Erfolgreich!")
            
say_reward(string.format("Kosten an Rang: %d "need_alignment))
            
say("")
        else
            
say_title(string.format("%s -Fehlgeschlagen"title))
            
say("Dein Blauer-Seelenstein hat nicht geklappt.")
            
say("")
            
say_reward("Fehlgeschlagen!")
            
say("")
            
pc.change_alignment(-number(need_alignment/3need_alignment/2))
        
end
        end
    end
    
function BuildGrandMasterSkillList(jobgroup)
        
GRAND_MASTER_SKILL_LEVEL 20
        PERFECT_MASTER_SKILL_LEVEL 
30

        local skill_list 
special.active_skill_list[job+1][group]
        
local ret_vnum_list = {}
        
local ret_name_list = {}

        -- 
test_chat(string.format("job=%d, group=%d"jobgroup))

        
table.foreach(skill_list
        function(
iskill_vnum
        
local skill_level pc.get_skill_level(skill_vnum)

        -- 
test_chat(string.format("[%d]=%d"skill_vnumskill_level))
        if 
skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level PERFECT_MASTER_SKILL_LEVEL then

            table
.insert(ret_vnum_listskill_vnum)
            
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
            if 
name == nil then name=skill_vnum end
            table
.insert(ret_name_listname)
        
end
        end
)
        return {
ret_vnum_listret_name_list}


        --return {
ret_vnum_listret_name_list}
    
end
    end
end 
Wenn ich den Blauen-Seelenstein lese schlägt er nur Fehl es geht nie Erfolgreich woran kann das liegen?
Kann mir einer weiterhelfen?
Wäre echt nett!
04/13/2012 20:11 hr4rjuku#5473
Quote:
Originally Posted by evoh12 View Post
also jetzt noch mal was ich gemacht habe :D :
1.quest eingefügt in /usr/rain/channel/share_data/locale/hongkong/quest
2.in hongkong_list eingetragen
cd -usr-rain-channel-share_data-locale-english-quest
chmod u+x make.sh
sh make.sh
reboot

und ingame /reload quest

habs auch nochmal als bild vielleicht fälllt euch ja etwas auf :)
[Only registered and activated users can see links. Click Here To Register...]

und ja 20092 ist auf on_click 2 gestellt
WTf.. hast du zwei verschiedenen Questordner oder was?
und du brauchst kein reboot oder chmoed u+x make.sh

wenn du unbedingt chmod machen willst >>>> chmod -R 777 make.sh (wenn ich mich nich irre)

PS:

Mfg Hr4rjuku<
04/13/2012 21:25 Kriegergeist^^#5474
Abend auch,

Ich habe nicht direckt ein problem mit einer quest, aber glaube es hat schon was damit zutuhen.
Hier die Quest:
Kein fehler bei make, ingame geht auch eigentlich alles, bloß es kommt ein fehle in der syserr:
HTML Code:
SYSERR: Apr 13 15:47:03 :: WriteRunningStateToSyserr: LUA_ERROR: quest icerun.start click
Weiß nicht wieso dieser fehler auftaucht.
Wär nett wen ihr mir helfen könntet.

MfG
Kriegergeist^^
04/13/2012 23:29 evoh12#5475
grrr... funktioniert trotzdem nicht =(
ich hab die Files von Rain und Irgendwie sind da 2 hongkonglisten :D
aber hab es mit beiden ausprobiert
und die make.sh ist im selbem ordner

ich wieß nicht ob es hilft auf jeden falls steht das hier in der make.sh
PHP Code:

LIST_FILE
='hongkong_list'

if [ -r $LIST_FILE ]; then

    rm 
-rdf object
    mkdir object

    
while read line;
        do
            ./
qc $line
        done 
$LIST_FILE
else
    echo 
$LIST_FILE' is missing'
fi