[SERVICE] Die Questkontrolle

06/01/2012 18:29 Kriegergeist^^#5896
Ich habe so viele ends gemacht, bis es bei ausführen von make kein fehler mehr gab
Habe die Quest selber geschrieben, ohne ein questmaker

MfG
Kriegergeist^^
06/01/2012 18:44 Ielinque#5897
Ehm , sry aber da weiß ich bei deiner quest nie weiter :O die sieht interessant aus aber zu komplitziert , obowhl du es schon 5x im Questkontrolle geschickt hast, antwortet niemand.
Naja ich wünsch dir noch viel glück mit deiner Quest.
06/01/2012 18:45 comon4live#5898
ich bekomme keine fehler und werde auch hin teleportiert (sofern der zugang offen ist) , mein problem ist das ich ein conection refused bekomme sobald der timer abläuft und es eigentlich für alle auf der map wieder nach map 1 gehen sollte. ich hab schon hin und her probiert kann das problem aber nicht lösen ohne ein dungen draus zu machen was aber nicht mein ziel ist, ich versuche gleich noch bei uriel eine anmeldung draus zu machen wo man eine karte bekommt mit der man sobald der zugang geschlossen wird in einen dungen geportet wird mit allen die auch eine karte im inventar haben. (die idee kam mir gerade eben als ich meine quest hier aufgegeben hab selbst zu supporten)
schonmal danke für lösungsvorschläge :handsdown:

@ EDIT:
hat sich mal wieder von selbst gelöst, man sollte einfach keinen normalen timer
timer("bossrun",120)
mit dem befehl
cleartimer("bossrun")
beseitigen nachdem er bereits abgelaufen ist...
das gibt böse fehler und core abstürze! und versaut ganze nachmittage
06/01/2012 18:47 HOLYsw#5899
Heyhodidilido,
ich bräuchte hilfe bei meiner quest ( ACH EHRLICH)
Das Problem bei meiner quest ist nur dass er nach einer status-neuverteilung (also wo man alle skills auf null bekommt und alle punkte) die quest nicht erscheint.
PHP Code:
quest setPs begin
    state start begin
        when login 
or levelup with pc.get_level() >= 5 begin    
            timer
("two"4)
        
end
        when two
.timer begin
            local job 
pc.get_job()
            
local v
            
if job == 0 then
                say
("Welche Skillrichtung wählst du?")
                
say("")
                
say("")
                
select("Körper""Mental")
                if 
== 1 then
                    pc
.set_skill_group(1)
                    
say("Du hast die Körperkampf-Lehre erlernt!")
                    
wait()
                    
pc.set_skill_level(130)
                    
pc.set_skill_level(230)
                    
pc.set_skill_level(330)
                    
pc.set_skill_level(430)
                    
pc.set_skill_level(530)
                else
                    
pc.set_skill_group(2)
                    
say("Du hast die Mentalkampf-Lehre erlernt!")
                    
wait()
                    
pc.set_skill_level(1630)
                    
pc.set_skill_level(1730)
                    
pc.set_skill_level(1830)
                    
pc.set_skill_level(1930)
                    
pc.set_skill_level(2030)
                
end
            
elseif job == 1 then
                say
("Welche Skillrichtung wählst du?")
                
say("")
                
say("")
                
select("Nahkampf""Fernkampf")
                if 
== 1 then
                    pc
.set_skill_group(1)
                    
say("Du hast die Nahkampf-Lehre erlernt!")
                    
wait()
                    
pc.set_skill_level(3130)
                    
pc.set_skill_level(3230)
                    
pc.set_skill_level(3330)
                    
pc.set_skill_level(3430)
                    
pc.set_skill_level(3530)
                else
                    
pc.set_skill_group(2)
                    
say("Du hast die Fernkampf-Lehre erlernt!")
                    
wait()
                    
pc.set_skill_level(4930)
                    
pc.set_skill_level(5030)
                    
pc.set_skill_level(5130)
                    
pc.set_skill_level(5230)
                    
pc.set_skill_level(5330)
                
end
            
elseif job == 2 then
                say
("Welche Skillrichtung wählst du?")
                
say("")
                
say("")
                
select("Waffenmagie""Schwarze Magie")
                if 
== 1 then
                    pc
.set_skill_group(1)
                    
say("Du hast die Waffenmagie-Lehre erlernt!")
                    
wait()
                    
pc.set_skill_level(6130)
                    
pc.set_skill_level(6230)
                    
pc.set_skill_level(6330)
                    
pc.set_skill_level(6430)
                    
pc.set_skill_level(6530)
                    
pc.set_skill_level(6630)
                else
                    
pc.set_skill_group(2)
                    
say("Du hast die Schwarzemagie-Lehre erlernt!")
                    
wait()
                    
pc.set_skill_level(7630)
                    
pc.set_skill_level(7730)
                    
pc.set_skill_level(7830)
                    
pc.set_skill_level(7930)
                    
pc.set_skill_level(8030)
                    
pc.set_skill_level(8130)
                
end
            
else
                
say("Welche Skillrichtung wählst du?")
                
say("")
                
say("")
                
select("Drachen""Heilung")
                if 
== 1 then
                    pc
.set_skill_group(1)
                    
say("Du hast die Drachen-Lehre erlernt!")
                    
wait()
                    
pc.set_skill_level(9130)
                    
pc.set_skill_level(9230)
                    
pc.set_skill_level(9330)
                    
pc.set_skill_level(9430)
                    
pc.set_skill_level(9530)
                    
pc.set_skill_level(9630)
                else
                    
pc.set_skill_group(2)
                    
say("Du hast die Heilungs-Lehre erlernt!")
                    
wait()
                    
pc.set_skill_level(10630)
                    
pc.set_skill_level(10730)
                    
pc.set_skill_level(10830)
                    
pc.set_skill_level(10930)
                    
pc.set_skill_level(11030)
                    
pc.set_skill_level(11130)
                
end
            end
            set_state
(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end 
06/01/2012 19:21 comon4live#5900
Quote:
Originally Posted by HOLYsw View Post
Heyhodidilido,
ich bräuchte hilfe bei meiner quest ( ACH EHRLICH)
Das Problem bei meiner quest ist nur dass er nach einer status-neuverteilung (also wo man alle skills auf null bekommt und alle punkte) die quest nicht erscheint.
set_state(__COMPLETE__) bedeutet das er nur den
state __COMPLETE__ begin
end
noch ausführt.
du musst also in der Quest der status neuverteilung den state wieder auf start setzen dazu würde ich beide Quests zusammenbauen.
ich bin nicht der profi, gibt bestimmt noch ne andere lösung aber so sollte es gehen
MfG

edit:
probiers doch mal so @ vergiss nicht aus den ganzen leerzeichen die durch den php code im post von dir drin sind durch tabs zu ersetzen. muss man nicht machen sieht aber besser aus
06/01/2012 20:26 °~Dennis~°#5901
Quote:
Originally Posted by Sp0ngeb0b ist cool View Post
1. Ne Schleife besitzt kein Ende --> Schleife = Wiederholung einer Funktion
--> man nennt es ganz bestimmt nicht "If schleife", da dies keine Schleife ist :facepalm:
2. es gibt pc.give_exp2()

3. die if abfrage ist unnötig & macht die Quest unfunktionstüchtig
--> If = falls/wenn :facepalm:
4. verwende mal statt when 101.kill begin
PHP Code:
when kill begin
if npc.get_race() == 101 then
pc
.give_exp2(100)
end
end 
Ok die quest funktioniert schonmal aber nicht nur wegen der if
ich habe die exp der mobs in der mob_proto auf 0 gesetzt gehabt und
dadurch hat er den kill nicht regestriert nun ist die exp auf 1 und sie
funktioniert also 101 exp bekommen. Danke für eure hilfe werde nun
auch nochmal meine version testen.Aber das gute an deiner methode ist ich kann
mehrere if's in die when reinhauen und muss nicht für jeden mob ne neue
when machen

EDIT: Ok habe nun meine version nochmal ausprobiert und diese funktioniert nun auch lag nur daran das meine mobs 0 exp eingetragen hatten
06/01/2012 20:42 KingAura619#5902
hallo bei mir funkt die quest hier nicht vllt weiß einer wieso :

quest dckammer begin
state start begin
when 30122.chat."Die Catacomben" begin
say_title(mob_name(30122))
say("Du Willst also in den Bossraum?")
say("Sei gewarnt Azrael ist nicht gut")
say("auf Fremde zu sprechen.")
if pc.count_item(30320) < 1 then
say("Du benötigst einen Schrumpfkopf")
say("zum passieren! Du erhälst ihn")
say("von Seon-Hae!")
wait()
d.exit_all()
else
say("Oh wie ich sehe hast du einen")
say("Schrumpfkopf. Mit ihm lass ich")
say("dich passieren.")
say("Wenn du willst.")
local s = select("Ja", "Nein")
if s == 2 then
return
end
if s == 1 then
pc.remove_item(30320, 1)
pc.warp(5771239, 5875834)
end
end
end
06/01/2012 21:43 SnBoY²#5903
Brauche hilfe meine quest funkt iwie nicht :(

PHP Code:
quest fbtruhe begin
    state start begin
    when 50034.
use begin 
local a 
number 
if 
<= 0 then 
local b 
number 
if 
== 1 then 
pc
.give_item2 50300 
if 
== 2 then 
pc
.give_item2 50300 
if 
== 3 then 
pc
.give_item2 50300 
if 
== 4 then 
pc
.give_item2 50300 )
if 
== 5 then 
pc
.give_item2 50300 
endif
end 
Danke im vorraus!
06/01/2012 22:24 MetinLegende#5904
Quote:
Originally Posted by SnBoY² View Post
Brauche hilfe meine quest funkt iwie nicht :(

PHP Code:
quest fbtruhe begin
    state start begin
    when 50034.
use begin 
local a 
number 
if 
<= 0 then 
local b 
number 
if 
== 1 then 
pc
.give_item2 50300 
if 
== 2 then 
pc
.give_item2 50300 
if 
== 3 then 
pc
.give_item2 50300 
if 
== 4 then 
pc
.give_item2 50300 )
if 
== 5 then 
pc
.give_item2 50300 
endif
end 
Danke im vorraus!


Ich verstehe den Sinn der quest nicht. Sollen da einfach fbs rauskommen oder wie ist das gedacht
06/01/2012 23:02 Satyon#5905
Huhu ich hab ein Prob mit folgender quest:

PHP Code:
quest legend_garden begin   
    state start begin   
        when 30175.chat
."Der legendäre Garten" begin  
            say_title
("zum legendären Garten")        
            
say("Du willst zum legendären Feuer?"
            
say("Es ist dort sehr schwer..."
            
say("Töte dort 20 Giftblumen!"
            
say("Dann gelangst du auch zu ihm!"
            
say("Also, willst du es versuchen?")   
            
say_reward("Moechtest du teleportieren?")   
            
local a=select("Ja, fortfahren!""Nein, nicht fortfahren!"
            if 
== 2 then  
                
return 
            else 
                if 
not party.is_party() then 
                    say
("Du brauchst eine Gruppe!"
                    
say_reward("Kommt bitte wieder, wenn du eine Gruppe hast"
                    return 
                
end 
                
if not party.is_leader() then 
                    say
("Nur der Anführer der Gruppe kann entscheiden,"
                    
say("wann und ob ihr aufbrechen wollt."
                    return 
                
end 
                
if party.get_near_count() <= and not pc.is_gm() then 
                    say
("Ihr seid leider zu wenige"
                    
say("Ihr werdet versagen..."
                    
say_reward("Deine Gruppe braucht mindestens 4 Mitglieder!"
                    return 
                
end 
                
if party.get_max_level() <= 100 then 
                    say
("Deine Gruppe braucht mindestens ein Mitglied mit Level 100,"
                    
say("um fortfahren zu können!"
                    return 
                
end                 
                
if party.is_party() and party.get_max_level() <= 100 then 
                timer
("jump1"1
                
end 
            end 
            when jump1
.timer begin 
                d
.join(188special.giftblumen[1][1], special.giftblumen[1][2]) 
                
d.set_regen_file("/locale/germany/map/metin2_map_run/regen.txt"
            
end  
        end 
    end   
end 
Und zwar konnt nach der make folgender Error:

Quote:
syntax error : [string "start"]:37: unexpected symbol near `when'
warp_quest/giftblumen2.lua:44:Abort trap (core dumped)

Bitte um hilfe... LG Saty
06/01/2012 23:22 Retrograd#5906
@Satyon: Versuchs mal so
06/01/2012 23:53 Satyon#5907
Quote:
Originally Posted by Retrograd View Post
@Satyon: Versuchs mal so


funzt jetz soweit das er die Gruppe abfragt und der Leader der Gruppe starten muss, aber er portet nicht wenn ich als Gruppenleader auf die Quest gehe :(
06/02/2012 01:02 SnBoY²#5908
Naja soll unterschidliche anzahl raus kommen also so:
PHP Code:
quest fbtruhe begin 
    state start begin 
    when 50034.
use begin  
local a 
number )  
if 
<= 0 then  
local b 
number )  
if 
== 1 then  
pc
.give_item2 50300 )  
pc.give_item2 50300 
if 
== 2 then  
pc
.give_item2 50300 
pc.give_item2 50300 )  
pc.give_item2 50300 )  
if 
== 3 then  
pc
.give_item2 50300 )  
pc.give_item2 50300 
pc.give_item2 50300 )  
pc.give_item2 50300 
if 
== 4 then  
pc
.give_item2 50300 
pc.give_item2 50300 )  
pc.give_item2 50300 
pc.give_item2 50300 )  
pc.give_item2 50300 
if 
== 5 then  
pc
.give_item2 50300 )  
endif 
end 
06/02/2012 02:32 Ielinque#5909
Hier habe ich mal eine ganz lange quest , die sicher ein paar Leute noch nie gesehen haben , aber vlt kommt euch das ja bekannt vor "User-Panel" was man am anfang bekommt. Usw. Da gibts mehrere optionen etwas zu machen. Aber einmal ging es lange zeit bei mir und in der letzte zeit , keine anhnunh was los war. Ich würde mich über ein Kommentar zu dieser Quest freuen.

06/02/2012 05:19 Shindy™#5910
Quote:
quest horse_guard begin
state start begin
when 20349.chat."Pferd steigern" begin
say_title("Stallbursche:")
say("")
say("Hallo!")
say("Bei mir kannst du dein Pferd steigern.")
say("Das Pferd zu steigern kostet dich 1kk pro Level.")
say("")
say_reward("Möchtest du dein Pferd steigern?")
say("")

local s = select("Ja", "Nein")

if s == 1 then
say_title("Stallbursche:")
say("")
if pc.money>=1000000 then
pc.changemoney("-1000000")
horse.unride()
horse.advance()
horse.ride()
say("Dein Pferd hat nun Level "..(horse.get_level()).." erreicht.")
say("")
elseif horse.get_level()>=30 then
say("Dein Pferd hat Level 30 erreicht.")
say("Du kannst es nicht mehr steigern.")
say("")
elseif pc.money<1000000 then
say("Du hast nicht genug Yang um dein Pferd zu steigern.")
say("")
end
elseif s == 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(1, 7)
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 1kk 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


Stallbursche quest Funkt nit kann einer Helfen ??..