[SERVICE] Die Questkontrolle

08/19/2010 00:18 xXPCxSuchtiXx#121
Quote:
Hast du das in die hongkong_list eingetragen und make.sh ausgeführt?
also in der Hongkong List war er ja schon,
nur das mit make.sh habe ich nicht gemacht was muss ich da genau machen?
08/19/2010 00:18 LxR'EsoZiaL#122
Quote:
Originally Posted by Ep!cFail View Post
Wurde zwar schon beantwortet, trotzalledem von mir nochmals überarbeitet.



@ScHniTzZeL: An deine setz ich mich gleich.


Hier bitte, deine Quest. Ich habe sie ein bischen umgeschriebn, sie erfüllt aber immer noch den Zweck den du wolltest :)

GreeZ
Bei der Pony Quest wollte ich um Texten zum KGQ aber mir ist aufgefallen :
-Der Quest will nix haben ...

Ich sehe nirgents die Vale vom Keilerzahn .. (30004)

D.h.: I-was aufheben und man hat dan Pony Lvl 10

Hoffentlich kanste darauf Antworten...

@ xXPCxSuchtiXx schreibe mal in VPC :
cd -usr-rain-channel-share?data-locale-hongkong--quest
chmod 777 make.sh
chmod u`x make.sh
sh make.sh

dan warten und Rebooten oder IG /reload q und danach /mh
08/19/2010 12:00 PangerLenis#123
Quote:
Originally Posted by xXPCxSuchtiXx View Post
also in der Hongkong List war er ja schon,
nur das mit make.sh habe ich nicht gemacht was muss ich da genau machen?
:facepalm:
Wenn du das nicht machst gehen deine Quest logischerweise ned...

Wenn du wissen willst wie das geht, benutz die SuFu!
08/19/2010 13:50 gallexme#124
fehhler bei root


script selber
08/19/2010 14:27 PangerLenis#125
Quote:
Originally Posted by gallexme View Post
fehhler bei root


script selber
ehm, für den teleporter gibt es ein script in ./quest/object/9012/
08/19/2010 14:40 gallexme#126
okey?? aber davor ging ja das script

edit nachgekuckt in object gibs kein ordner 9012
08/19/2010 14:40 Ep!cFail#127
Quote:
Originally Posted by dennis96s1 View Post
Bei der Pony Quest wollte ich um Texten zum KGQ aber mir ist aufgefallen :
-Der Quest will nix haben ...

Ich sehe nirgents die Vale vom Keilerzahn .. (30004)

D.h.: I-was aufheben und man hat dan Pony Lvl 10

Hoffentlich kanste darauf Antworten...

@ xXPCxSuchtiXx schreibe mal in VPC :
cd -usr-rain-channel-share?data-locale-hongkong--quest
chmod 777 make.sh
chmod u`x make.sh
sh make.sh

dan warten und Rebooten oder IG /reload q und danach /mh

Du solltest mal genauer lesen es steht die Value drin und zwar fragt er diese ab wenn man ihn anklickt.

PHP Code:
say("Möchtest du einen Anfänger Gaul?")
            
say("")
            
local a select("Ja",
                             
"Nein")
            if 
== 1 then
                
if pc.count_item(30004)>=1 then
                    say_title
(""..mob_name(20349)..":")
                    
say(""
Ich habe mich wohl um eine 0 vertan bei dir in der Quest tut mir leid.

GreeZ
08/19/2010 15:55 gallexme#128
gut neuer fehler was heisst das? WHEN : 9012.chat ("Möchtest du reisen?")
must start with 'quest'
map_warp.quest:253:Abort trap (core dumped)
08/19/2010 17:53 jumpstyle31#129
Hier meine doofe Quest die mal wieder ned will! -.-

Ich weiss ich bin nicht begabt ;)

PHP Code:
quest gaul begin
    state start begin
        when 171.kill    with horse
.get_level()>12 begin
            say_title
("Pferd")
            
say("Du hast einen hungrigen Wildhund getötet")
            
say("Somit wird dein Pferd jetzt um 1 Level erhöt")
            
say("Dein Pferd ist Level "..horse.get_level().." ")
            
say("Töte hungrige Wildhunde bis dein Pferd Level 11")
            
say("erreicht hat")
            
say("Viel Spass")
            
horse.advance()
        
end
    end
end 
Die Quest soll wenn man (Hungriger Wildhund) tötet und das Pferd unter Level 12 ist, das sich eine Quest öffnet und dort drinnen halt das Zeug steht, und dann das das Pferd 1 Lvl up bekommt... Ich bekomme keinen Core Dumped fehler oder ähnliches.. Also in VPC stimmt alles.. blos wenn ich InGame einen Hungrigen Wildhund töte, passiert garnix..
08/19/2010 17:56 Ep!cFail#130
Quote:
Originally Posted by gallexme View Post
gut neuer fehler was heisst das? WHEN : 9012.chat ("Möchtest du reisen?")
must start with 'quest'
map_warp.quest:253:Abort trap (core dumped)
Bitte die ganze Quest reinschreibn sonst kann ich den Fehler nicht suchen.

Quote:
Originally Posted by jumpstyle31 View Post
Hier meine doofe Quest die mal wieder ned will! -.-

Ich weiss ich bin nicht begabt ;)

PHP Code:
quest gaul begin
    state start begin
        when 171.kill    with horse
.get_level()>12 begin
            say_title
("Pferd")
            
say("Du hast einen hungrigen Wildhund getötet")
            
say("Somit wird dein Pferd jetzt um 1 Level erhöt")
            
say("Dein Pferd ist Level "..horse.get_level().." ")
            
say("Töte hungrige Wildhunde bis dein Pferd Level 11")
            
say("erreicht hat")
            
say("Viel Spass")
            
horse.advance()
        
end
    end
end 
Die Quest soll wenn man 171 (Hungriger Wildhund) tötet und das Pferd unter Level 12 ist, das sich eine Quest öffnet und dort drinnen halt das Zeug steht, und dann das das Pferd 1 Lvl up bekommt... Ich bekomme keinen Core Dumped fehler oder ähnliches.. Also in VPC stimmt alles.. blos wenn ich InGame einen Hungrigen Wildhund töte, passiert garnix..
Gib mir einen Moment ich schaus mir gleich mal an..


GreeZ
08/19/2010 17:59 #SoNiice#131
quest gaul begin
state start begin
when 171.kill with horse.get_level >12 begin
say_title("Pferd")
say("Du hast einen hungrigen Wildhund getötet")
say("Somit wird dein Pferd jetzt um 1 Level erhöt")
say("Dein Pferd ist Level "..horse.get_level().." ")
say("Töte hungrige Wildhunde bis dein Pferd Level 11")
say("erreicht hat")
say("Viel Spass")
horse.advance()
end
end
end

So sollte das gehen ;o
08/19/2010 18:28 jumpstyle31#132
Nein, geht leider immernoch nicht.. <.< Ich kille den Wildhund.. nix Passiert.
08/19/2010 20:54 IgorGlock#133
hallöle :D

Ich habe meine erste eigene Quest geschriptet und wie ganz typisch funktioniert die nicht. Sie lässt sich auch nicht installieren.

Quote:
TestServer# sh make2
QUEST : pvpmassaker
STATE : start
WHEN : login
qc in malloc(): error: allocation failed
Abort trap (core dumped)
Code:
PHP Code:
------------------------------------
-- 
Quest by IgorGlock incBugs :D
------------------------------------
quest pvpmassaker begin
    state start begin
    when login begin
        
if game.get_event_flag("pvpmassaker") == 1 then
            
if pc.getempire() == 1 then
                pc
.warp(118945917970)
                
set_state(information)
        elseif 
pc.getempire() == 2 then
                pc
.warp(121166219706)
                
set_state(information)
        elseif 
pc.getempire() == 3 then
                pc
.warp(119595144126)
                
set_state(information)
        
end
    end
        state information begin
            when letter begin
            send_letter
("Teilnehmen")
            
end
        end

            when info 
or button begin
            say
("Hallo leiber Spieler!")
            
say("Unsere Nachbarn aus anderen Reich wollen ihre Wut")
            
say("an jemanden von uns auslassen.")
            
say("Versuch' dich zu währen und")
            
say_reward("Töte 50 Gegner")
            
say("")
            
pc.setqf("state"50)
            
q.set_counter(""50)
        
end

        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then
            local count 
pc.getqf("state") - 1
            
if count <= 50 then
                pc
.setqf("state"count)
                
q.set_counter(""count)
                
chat("du hast bereits ..( pc.getqf("state") ).. Spielr getötet!")

            if 
count == 0 then
                say_title
("Abgeräumt!")
                
say("Du hast erfolgreich das Kampffeld abgeräumt!")
                
say("Du erhälst:")
                
say_reward("10x Segenskugeln")
                
say_reward("und")
                
say_reward("2x Zombieköpfe")
                
say_reward("Außerdem:")
                
say_reward("paar Rangpunkte")
                
pc.change_alignment(24000)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(303051)
                
pc.give_item2(303051)
                
clear_letter()
                
set_state(__COMPLETE__)
            
end

    when 11001.chat
."PvP Massaker Event Verwaltung" or 11003.chat."PvP Massaker Event Verwaltung" or 11005.chat."PvP Massaker Event Verwaltung" with pc.is_gm() begin
        
        local s 
select("PvP Massaker Event starten" "PvP Massaker Event beenden" );
        if 
== 1 then

            game
.set_event_flag("pvpmassaker",1)
            
notice_all("PvP Massaker Event startet!")
            
notice_all("Begebt euch alle schwachen zum Schlachtenverwalter!" )
        else    
            
game.set_event_flag("pvpmassaker",0)
            
notice_all("PvP Massaker Event endet!")
            
notice_all("Wir hoffen es hat Spaß gemacht.")
        
end
    state __COMPLETE__ begin
    end
end 
08/19/2010 21:54 gallexme#134
wie oft den noch hier die quest

Code:
-- Teleporter
quest map_warp begin
state start begin
when 9012.chat."Möchtest du reisen?" begin
say_title("Teleporter:")
say("Dies ist eine faszinierende Gegend. Aber")
say("passiert hier denn auch mal etwas")
say("Außergewöhnliches? Eher wohl nicht. In anderen")
say("Teilen des Landes sieht es mitunter ganz anders.")
say("aus! Es gibt daher sicher einen intressanten")
say("Ort, an den ich dich teleportieren könnte. Da")
say("jedoch die Kräfte des Bösen wieder stärker")
say("geworden sind, wurden Raum und Zeit ins Chaos")
say("gestürzt. Dadurch kann es passieren, dass deine")
say("Rückkehr nicht immer augenblicklich funktioniert.")
say("Möchtest du dennoch teleportiert werden?")

local main_set = select("Ja","Nein")
if main_set == 2 then
return
end

if pc.get_level() <= 10 then
say_title("Teleporter:")
say("Hm… Mit deinem derzeitigen Level bist du noch")
say("zu schwach für die Reise durch Zeit und Raum.")
say("Komm wieder, wenn du höher als Level 10 bist.")
return
end

local map = pc.get_map_index()
local empire = pc.get_empire()
local level = pc.get_level()
local cost = math.floor(level / 5) * 1000

-- ?? ????
if cost < 1000 then
cost = 1000
end

say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))

-- ?? ?? ???? ?? ?? (? ?? 1,2 ??)
if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then

local guild_map_names = {
"Gildenzone",
"Gildenzone",
"Gildenzone",
}

guild_map_name = guild_map_names[empire]
local empire_castle={
"Burgschlacht",
"Burgschlacht",
"Burgschlacht",
}
empire_castle =empire_castle[empire]
local sub_set = 0
if level < 60 then -- 60?? : ?????, ???, ????, ???
sub_set = select(guild_map_name, "Tal von Seungryong", "Vereintes Reich Map", "Handelsmap", "Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
return
end

else -- 61?? : ????, ???, ????, ????
sub_set = select(guild_map_name, "Tal von Seungryong", "Vereintes Reich Map", "Handelsmap", "Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Doyyumhwaji", "Dämonenturm", "Zurück", "Abbrechen") + 5
if sub_set == 9 then -- ??
return
end
if sub_set == 8 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
--- l
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select(guild_map_name, "Tal von Seungryong", "Vereintes Reich Map", "Vereintes Reich Map", "Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 8 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Doyyumhwaji", "Dämonenturm", "Abbrechen") + 5
if sub_set == 10 then -- ??
return
end
end
end
end
end
end

if pc.gold < cost then
say("Du hast nicht genug Geld,")
say_title("Teleporter:")
say("Ich würde dich auch kostenlos teleportieren,")
say("aber ich habe eine große Familie. Um sie zu")
say("ernähren, muss ich Geld verdienen.")
say_reward(string.format("Es kostet %d Yang.", cost))
return
end

pc.changegold(-cost)

local warp = {
-- guild_map
{
{ 128500, 1000 },
{ 179500, 1000 },
{ 271800, 13000 },
},
-- 64 map_n_threeway
{
{ 402100, 673900 },
{ 270400, 739900 },
{ 321300, 808000 },
},

-- 204 metin2_map_d1
{
{ 28129200, 28129200 },
{ 28129200, 28129200 },
{ 28129200, 28129200 },

},	 -- 204 metin2_map_d1

{
{ 444400, 444400 },
{ 444400, 444400 },
{ 444400, 444400 },

},

-- 63 metin2_map_n_desert_01
{
{ 217800, 627200 },
{ 221900, 502700 },
{ 344000, 502500 },
},

-- 61 map_n_snowm_01
{
{ 434200, 290600 },
{ 375200, 174900 },
{ 491800, 173600 },
},

{--empire_castle
{975200, 133000},
{977200, 185000},
{923900, 183600},

} ,
-- 62 metin2_map_n_flame_01
{
{ 599400, 756300 },
{ 597800, 622200 },
{ 730700, 689800 },
},
-- devil_tower
{
{ 590500, 110500 },
{ 590500, 110500 },
{ 590500, 110500 },
},
}
test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
say_title("Teleporter:")
say("Achtung, ich teleportiere dich jetzt. Du wirst")
say("an einem gefährlichen Ort landen, also pass auf")
say("dich auf. Viel Glück!")
wait()
pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])


else -- ? ?? 1,2 ? ??? ?????? ? ?? 1,2 ? ??? ?? ??	
local sub_set2 = 3

--sub_set2 = select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
if empire==1 then 
sub_set2 = select("Yongan","Jayang" , locale.cancel)
elseif empire ==2 then 
sub_set2 = select("Joan","Bokjung" , locale.cancel)
elseif empire ==3 then 
sub_set2 = select("Pyungmoo","Bakra" , locale.cancel)
end	
if sub_set2 != 3 then
if pc.gold < cost then
say_title("Teleporter:")
say("Ich würde dich auch umsonst teleportieren,")
say("aber ich habe eine große Familie. Um sie zu")
say("ernähren, muss ich Geld verdienen.")
say_reward(string.format("Es kostet %d Yang.", cost))
else
if sub_set2 == 1 then
say_title("Teleporter:")
say("Ich teleportiere dich dorthin.")
wait()

if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end	
elseif sub_set2 == 2 then
say_title("Teleporter:")
say("Ich teleportiere dich dorthin.")

wait()
if empire == 1 then
pc.warp(353100,882900)
elseif empire == 2 then
pc.warp(145500,240000)
elseif empire == 3 then
pc.warp(863900,246000)
end	
end

pc.changegold(-cost)
end
end
end
end -- end_of_chat
end -- end_of_state
end -- end_of_quest
08/19/2010 21:56 sennah#135
You missed some ends!! make sure you place an end after each if and when statement
should work now

PHP Code:
------------------------------------
-- 
Quest by IgorGlock incBugs :D
------------------------------------
quest pvpmassaker begin
    state start begin
    when login begin
        
if game.get_event_flag("pvpmassaker") == 1 then
            
if pc.getempire() == 1 then
                pc
.warp(118945917970)
                
set_state(information)
            elseif 
pc.getempire() == 2 then
                pc
.warp(121166219706)
                
set_state(information)
            elseif 
pc.getempire() == 3 then
                pc
.warp(119595144126)
                
set_state(information)
            
end
        end
    end
    end
        state information begin
            when letter begin
            send_letter
("Teilnehmen")
            
end
            end

            when info 
or button begin
            say
("Hallo leiber Spieler!")
            
say("Unsere Nachbarn aus anderen Reich wollen ihre Wut")
            
say("an jemanden von uns auslassen.")
            
say("Versuch' dich zu währen und")
            
say_reward("Töte 50 Gegner")
            
say("")
            
pc.setqf("state"50)
            
q.set_counter(""50)
            
end

            when kill begin
                
if npc.is_pc() and npc.empire != pc.empire then
                local count 
pc.getqf("state") - 1
                end
            
if count <= 50 then
                pc
.setqf("state"count)
                
q.set_counter(""count)
                
chat("du hast bereits ..( pc.getqf("state") ).. Spielr getötet!")
            
end
            
if count == 0 then
                say_title
("Abgeräumt!")
                
say("Du hast erfolgreich das Kampffeld abgeräumt!")
                
say("Du erhälst:")
                
say_reward("10x Segenskugeln")
                
say_reward("und")
                
say_reward("2x Zombieköpfe")
                
say_reward("Außerdem:")
                
say_reward("paar Rangpunkte")
                
pc.change_alignment(24000)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(700241)
                
pc.give_item2(303051)
                
pc.give_item2(303051)
                
clear_letter()
                
set_state(__COMPLETE__)
            
end
        end
    when 11001.chat
."PvP Massaker Event Verwaltung" or 11003.chat."PvP Massaker Event Verwaltung" or 11005.chat."PvP Massaker Event Verwaltung" with pc.is_gm() begin
        
        local s 
select("PvP Massaker Event starten" "PvP Massaker Event beenden" );
        if 
== 1 then

            game
.set_event_flag("pvpmassaker",1)
            
notice_all("PvP Massaker Event startet!")
            
notice_all("Begebt euch alle schwachen zum Schlachtenverwalter!" )
        else    
            
game.set_event_flag("pvpmassaker",0)
            
notice_all("PvP Massaker Event endet!")
            
notice_all("Wir hoffen es hat Spaß gemacht.")
        
end
    end
end
    state __COMPLETE__ begin
    end
end