[SERVICE] Die Questkontrolle

10/12/2010 23:25 Daidalos#676
Klappt nicht :x
Also mein Vorgang..
orb.quest ins Verzeichnis /usr/rain/../hongkong/quest
In der hongkong_list "orb.quest" eingetragen, danach eine leere Zeile.
In VPC eingegeben:

cd -usr-rain-channel-share?data-locale-hongkong-quest
chmod 777 make.sh
sh make.sh

Das kommt dann:

Quote:
Originally Posted by make.sh
QUEST : orb
STATE : start
WHEN : 20019.chat ("Leuchtender Kristall")
with pc . level ( ) >= 80
Hier mal meine Quest, fast alles (obwohl eigentlich so ziemlich wirklich alles) von couple_ring.quest abgeguckt (verlobungsring-quest / kill jin-hee)

Im Spoiler meine aktuelle Quest.

Also, make.sh zeigt keinen Fehler, wie man oben erkennen kann.
Problem Ingame:
Klicke 20019 an und das Fenster "Leuchtender Kristall" erscheint nicht,
weshalb ich die Quest nicht annehmen kann.

Verstehe nicht, wo mein Fehler ist.
Vor allem, weil make.sh nichts anzeigt..

:D ?

Edit:
Habe auch schon statt
when 20019.chat."Leuchtender Kristall" with pc.level()>=80 begin
diesen Befehl getestet

when 20019.chat."Leuchtender Kristall" with pc.get_level()>=80 begin
oder diesen

when 20019.chat."Leuchtender Kristall" with pc.level>=80 begin
bzw diesen

when 20019.chat."Leuchtender Kristall" with pc.get_level()>=80 begin



Alles mit einem Level 120 Char ausprobiert! (Habe auch zwischendurch das Level auf 40 oder 80 gesetzt, um Fehler auszuschließen.
10/12/2010 23:44 '-SkyLiiNe-'#677
Bei VPC erscheint kein Fehler,
NPC nicht anklickbar (passiert nichts)
on_click auf 1
Hier die Quest:
10/12/2010 23:49 kunds#678
Quote:
Hast bei den Items für die Quest den Type in der Item_proto auch auf 18 gestellt?
ups, bei der 3. hab ichs vergessen ^^ gleich mal testen :D

Quote:
€:So sollte 5 gehen:
gleich mal testen :D
trotzdem schonma 'n THX ^^


: ok, nummer 5 hat sich damit erledigt, klappt ;)
10/13/2010 12:03 Shine_Walker#679
Also ich habe auch ein Problem könntet
ihr sie bitte überprüfen :

PHP Code:
quest adateforgemi begin
    state run begin
        when login with pc
.level<=5 begin
            set_state
(information)
        
end
    end
    state information begin 
--State Information
          when letter begin 
-- Wenn alle Quest Briefe aufgerufen werden.
            
send_letter("Bitte hilf mir!") -- Sende neuen Quest Brief "Bittle helft mir!"
        
end
        when button 
or info begin
            say_title
("Bitte hilf mir!") --  Den Titel des Briefes sagen

            
----"12345678901234567890123456789012345678901234567890"|
            
say("Ich habe mich in einen Jungen verliebt.")
            
say("Sein Name ist Soon, ich traue mich nicht")
            
say("ihn anzusprechen. Kommt bitte zu mir")
            
say("ich werde euch auch reich belohnen.")
            
set_state(gotogemi) -- Wechsele den State zu gotogemei
        end
    end
    state gotogemi begin 
          when letter begin
            local v
=find_npc_by_vnum(GEMIVNUM) -- mache v zu Gemi
            
if 0==v then -- Wenn keine Gemi gefunden wurde dann mach nichts
            
else
                
target.vid("__TARGET__"v"Geh zur Gemi") -- setze die Gemi als neues Ziel
            end
        end
        when letter begin
            send_letter
("Komm zu mir!")
        
end
        when button 
or info begin
            say_title
("Kom zu mir!")
            
say("Geh zur Gemi")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("Gemi :")

            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Ich habe mich in einen Jungen verliebt.")
            
say("Sein Name ist Soon, ich traue mich nicht")
            
say("ihn anzusprechen. Könntet ihr bitte zu Soon")
            
say("gehen und ihn für mich nach eine Date fragen?")
            
say("Ich würde euch reichlich belohnen.")
            
say("Bitte helft mir!")
            
say("")
            
local s select("Ich helfe doch gerne","Nein, keine Zeit")
            if 
s=1 then
                set_state
(gotosoon)
            else
                
say("Schade...")
                
say("")
                
clear_letter()
                
q.done()
            
end
        end
    end
    state gotosoon
        when letter begin
            local v
=find_npc_by_vnum(SOONVNUM)
            if 
0==v then
            
else
                
target.vid("__TARGET__"v"Geh zu Soon")
            
end
        end
        when letter begin
            send_letter
("Komm zu mir!")
        
end
        when button 
or info begin
            say_title
("Geh zu Soon!")
            
say("Beweg dich zz Soon")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("Gemi :")

            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Die Gemi will ein Date von mir?")
            
say("Sag ihr nein ich bin schon verheiratet.")
            
say("Bis dann...")
            
say("")
            
set_state(backtogemi)
        
end
    end
    state backtogemi
        when letter begin
            local v
=find_npc_by_vnum(SOONVNUM)
            if 
0==v then
            
else
                
target.vid("__TARGET__"v"Geh zur Gemi")
            
end
        end
        when letter begin
            send_letter
("Geh zur Gemi!")
        
end
        when button 
or info begin
            say_title
("Geh zur Gemi!")
            
say("Berichte der Gemi")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say("Gemi :")

            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Er ist verheiratet?")
            
say("Schade aber ich hab dir eine belohnung versprochen.")
            
say("")
            
say_reward("Die Gemi gibt dir ein Schwert+9")
            
pc_giveitem2(VNUM)
            
clear_letter()
            
set_state(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end 
Und wenn ich dann wirtal PC starte kommt das :

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

Bekommt ein THX

lg
SHiNE
10/13/2010 12:30 Benhero#680
Der Fehler ist nicht von dieser Quest.

Da in dieser Quest nicht
PHP Code:
if pc.get_level() >= 70 
vorhanden ist...

Der Fehler liegt in der quest
PHP Code:
Lv70.quest 
Greatz Benhero
10/13/2010 12:41 Shine_Walker#681
Also soll ich es so machen : ?! Lv70.quest

PHP Code:
Lv70.quest  begin
     state start begin
         when login 
or levelup with pc.level >= 70            
             set_state
(info)
         
end
     end
     state info begin
         when letter begin
             local v 
find_npc_by_vnum(20008)

             if 
!= 0 then
                target
.vid("__TARGET__"v"Octavios Rezept")
            
end
        end

        
        when __TARGET__
.target.click or 20008.chat."Octavios Rezept" with pc.level >= 70 begin
            say_title
("Octavio:")
            
say("Hey,")
            
say("Da du schon so gut gelevelt hast ")
            
say("könntest du auch was für mich erledigen,")
            
say("ich brauche dieses Chilli")
            
say("sonst kann ich mein rezept nicht vervollständigen")
            
say("Diese Chillis sind sehr Teuer und da ich in moment ")
            
say("Knapp bei Kasse bin bitte ich dich es mir zu holen")
            
say("Die Baumfrosch Soldaten,die müssen es haben")
            
say("Ich bitte dich mir die 90 Chillis zu besorgen")
            
say("Du Triffst auf sie Im Tempel")
            
say("Mach dich bitte auf die Suche")
            
say("")
            
            
local s=select("OK","Nein")
        if 
== 2 then
                say
("Oh... sehr Schade.")
                
clear_letter()
                
set_state("ende")
        else
                    
say_title("Octavios Rezept")
                    
say("Danke das du mit hilfst")
                    
say("")
                    
set_state("main")
                
end
        end
    end
    state main begin
        when letter begin
            send_letter
("Scharfer Pfeffer")
            
            if 
pc.count_item("30066")>=90 then  
                local v
=find_npc_by_vnum(20008)
                if 
0==v then
                    
else
                    
target.vid("__TARGET__",v,"Du hast 90 Scharfe Pfeffer")
                
end
            end

        end

        when info 
or button begin

            
if pc.count_item("30066")>=90 then  
                say
(locale.NOTICE_COLOR.."Scharfer Pfeffer"..locale.NORMAL_COLOR)
                
say("Du hast die Scharfen Pfeffer.")
                
say("Bringe die nun zu Octavio")
                return
            
end
            say
(locale.NOTICE_COLOR.."Scharfer Pfeffer"..locale.NORMAL_COLOR)
            
say("Töte Baumfrosch-Soldaten")
            
say("für Octavio und ")
            
say("bringe ihm die 90 Scharfen Pfeffer!")
            
say("")
            
            
when info or button begin
            say
(locale.NOTICE_COLOR.."Du hast die Scharfen Pfeffer"..locale.NORMAL_COLOR)
            
say("")
            
say("Bringe sie zu Octavio")
            
say("")
            
say_item_vnum(30066)
        
end

        
        when __TARGET__
.target.click or
            
20008.chat."Octavios Rezept" begin
            target
.delete("__TARGET__")
            if 
pc.count_item("30066")>90 then
                say_title
("Octavio:")
                
say("Du hast es geschafft!")
                
say("Ich bin dir so dankbar.")
                
say("Jetzt kann ich endlich mein ")
                
say("Chilli-Eintopf Kochen")
                
say("")
                
say("Hier ist deine Belohnung:")
                
pc.remove_item(30066,90)

                
say_reward("Du erhältst 10.000.000 Erfahrungspunkte.")
                
say_reward("Du erhälst 35.000.000 Yang")
                
say_reward("Du erhälst eine Fleißmedallie")
                
pc.give_exp2(10000000)
                
set_quest_state("levelup","run")    

               
clear_letter()
               
set_state(__COMPLETE__)
               
end    
            end
         end
    end
end 

SO ?!
10/13/2010 12:58 Shine_Walker#682
Was soll ich den jetzt verändern ?

Kannst du mir nicht jetzt die ganze Quest hinschreiben
die richtig ist, weil ich verstehe deine Antowrt nicht
weil du einfach Wörter geschlagen hast sry
verstehe ich nicht

bekommst auch nen THX

lg
SHiNE

Sry für Dobbelpost :(
10/13/2010 14:16 kunds#683
hey

habe wieder ein fehler mit der folgenden quest...

das ist der fehler:
[Only registered and activated users can see links. Click Here To Register...]
bitte hilft mir :(
10/13/2010 14:36 .Alessa#684
@Shine_Walker:
Nein, dein Fehler ist nicht in der Quest "adateforgemi", sondern in einer anderen Quest mit dem Namen "Lvl70.quest".

@kunds: Bei den vielen Ifs schleicht sich gerne mal ein Fehler ein. Ich verkürz es dir mal mit elseifs und werde mal drüberschauen. Es wäre besser, wenn du genauer beschreibst, was passiert bzw. was dein VPC anzeigt.
Ich werde dann die bearbeitete Quest hier reineditieren.

EDIT:
PHP Code:
quest userpanel begin
    state start begin
        when 30120.
use begin
            say_title
("Userpanel:")
            
say("Waehle aus was du machen moechtest?")
            
say("Viel Spass")
            
say("")
            
local aselect("Lager oeffnen""Informationen""Verwandeln""Teleportieren""Abbrechen")
            if 
== 1 then
                game
.open_safebox()
            elseif 
== 2 then
                say_title
("Informationen")
                
say("Waehle aus was du wissen moechtest")
                
say("")
                
local b select("Team""Zurueck")
                if 
== 1 then
                    say_title
("Team:")
                    
say(" [SA]Glycerin ")
                    
say(" [GA]Radon")
                    
say(" [GA]Scandium ")
                    
say("")
                elseif 
== 2 then
                    
return
                
end
            
elseif == 3 then
                say_title
("Verwandlung:")
                
say("In was willst du dich verwandeln?")
                
say_reward("Du kannst dich fuer 1 Minute verwandeln.")
                
local cselect("Tiegergeist","Oberork","Koenigsspinne","Dunkle Koenigsspinne","Geister Orkanfuehrer","Andere","Abbrechen")
                if 
c==1 then
                    pc
.polymorph(130460)   
                elseif 
c==2 then
                    pc
.polymorph(69160)
                elseif 
c==3 then
                    pc
.polymorph(209160)
                elseif 
c==4 then
                    pc
.polymorph(209260
                elseif 
c==5 then
                    pc
.polymorph(69360
                elseif 
6==c then
                    say_title
("Verwandlung:")
                    
say("In was willst du dich verwandeln?")
                    
say_reward("Du kannst dich fuer 1 Minute verwandeln.")
                    
local eselect("Geisterbaum Lord","Flammenkoenig","Sensenmann","Daemonenkoenig","Shop Tisch","Zurueck Verwandeln","Abbrechen")
                    if 
e==1 then
                        pc
.polymorph(230760)
                    
end
                    
elseif e==1 then
                        pc
.polymorph(220660)
                    
end
                    
elseif e==1 then
                        pc
.polymorph(109360)
                    
end
                    
elseif e==1 then
                        pc
.polymorph(109160)
                    
end
                    
elseif e==1 then
                        pc
.polymorph(300003600)
                    
end
                    
elseif e==1 then
                        pc
.remove_polymorph()
                    
end
                    
elseif e==1 then
                        
return
                    
end
                
else
                    return
                
end
                        
            
            
if 4==a then
                say_title
("Teleporter:")
                
say_reward("Wohin moechtest du dich teleportieren?")
                
say("")
                
local dselect("Map1 Blau""Map1 Gelb""Map1 Rot""Spinnendungeon2""Daemonenturm""Andere""Abbrechen""Tal von Gorgoroth""Bermuda Dreieck""Halle der Macht""Abbrechen")
                elseif 
1==d then
                    pc
.warp(921600,204800)
                elseif 
2==d then
                    pc
.warp(0,102400)
                elseif 
3==d then
                    pc
.warp(409600,896000)
                elseif 
4==d then
                    pc
.warp(665600,435200)
                elseif 
5==d then
                    pc
.warp(590500,110500)
                elseif 
6==d then
                    say_title
("Teleporter:")
                    
say_reward("Wohin moechtest du dich teleportieren?")
                    
say("")
                    
local xselect("Roter Wald""Seelengrotte""Tal von Gorgoroth""Bermuda Dreieck""Halle der Macht""Abbrechen")
                    if 
x==1 then
                        pc
.warp(1049600,0)
                    
end
                    
elseif x==2 then
                        pc
.warp(0,12032)
                    
end
                    
elseif x==3 then
                        pc
.warp(83200,0)
                    
end
                    
elseif x==4 then
                        pc
.warp(0,25600)
                    
end
                    
elseif x==5 then
                        pc
.warp(999900,999900)
                    
end
                    
else
                        return
                    
end
                
else
                    return
                
end    
            
else
            return
            
end
        end
    end
end 
So finde ich Quest deutlich übersichtlicher und abgekürzt. Probier die mal und sag mir, was in VPC kommt.
10/13/2010 14:41 kunds#685
Quote:
@kunds: Bei den vielen Ifs schleicht sich gerne mal ein Fehler ein. Ich verkürz es dir mal mit elseifs und werde mal drüberschauen. Es wäre besser, wenn du genauer beschreibst, was passiert bzw. was dein VPC anzeigt.
Ich werde dann die bearbeitete Quest hier reineditieren.
das bild was bei vpc kommt hab ich ja oben eingefügt....
und
Quote:
Es wäre besser, wenn du genauer beschreibst, was passiert
grad das is es ja, es passiert nix, wenn ich den gegenstand anklicke :D

trotzdem schonma en thx ^^
10/13/2010 14:47 Shine_Walker#686
hä aber ich habe nur 1ne Quest eingefügt könnt ihr mir es jetzet nichr rithig machn oder was soll ich ändern damit es geht.
10/13/2010 15:01 Avulsed#687
@ kunds

Hier die Quest


Und schau mal ob in der Spalte Type in der Item_proto bei dem Item "30120" eine 18 steht
10/13/2010 15:30 '-SkyLiiNe-'#688
Bei VPC erscheint kein Fehler,
NPC nicht anklickbar (passiert nichts)
on_click auf 1
Hier die Quest:
10/13/2010 16:04 kunds#689
Quote:
@ kunds

Hier die Quest

Und schau mal ob in der Spalte Type in der Item_proto bei dem Item "30120" eine 18 steht
danke, Shannonfan war zwar schneller aber trotzdem beiden en THX ^^

und da ihr so gut seit, könnt ihr pls mal noch nach dieser quest gucken??
wäre dann die letzte xD
10/13/2010 16:46 CoreDump#690
habe einen verdacht was falsch sein könnte. ich verbessere nur bei fehlermeldng und beschreibung was nicht funktioniert.
aber das sage ich jedes mal -.-