[SERVICE] Die Questkontrolle

02/02/2011 19:39 ~shaylan~#1396
weil jede quest mit
PHP Code:
quest NAME_DER_QUEST begin
state start begin 
anfängt?
02/02/2011 20:22 .2good4you111#1397
Quote:
Originally Posted by ~shaylan~ View Post
weil jede quest mit
PHP Code:
quest NAME_DER_QUEST begin
state start begin 
anfängt?

Auch du hast noch was vergessen... :)

PHP Code:
quest name_der_quest begin
       state start begin
              when login begin
                    Deine Quest
              end
       end
end 

Auch ein when ist noch drinnen;
Somit werden diese 3 Befehle auch wieder beendet
1x pro Befehl-- 3x für diese 3 Befehle
02/03/2011 02:08 Legend2007#1398
Hey Com

Hab diesmal folgendes problem:

Bei meiner PVP Quest will Ich das script so umschreiben das es nur die kills zählt wenn man Spieler ab einem bestimmten level killt.
Wie kann Ich somit beim killen eines anderen spielers dessen level abrufen und überprüfen?

Danke

Legend
02/03/2011 11:04 Ampi#1399
quest playerlogin1 begin
state start begin
when login with pc.get_level() >= 2 begin
command(.. pc.get_name() .."ist nun lvl 2 weiter so !")
end
end
end
was ist dar falsch
02/03/2011 11:57 .Delta#1400
PHP Code:
quest playerlogin1 begin
    state start begin
        when login with pc
.get_level() >= 2 begin
            notice_all
(""..pc.get_name().." ist nun lvl 2 weiter so !")
        
end
    end
end 
probiers mal so
02/03/2011 12:22 Legend2007#1401
Oder andernfalls, anstatt

notice_all()

benutz: say()

Zwischen den klammern bleibt es genau wie im post von Delta619.

--------------------

Quote:
Hey Com

Hab diesmal folgendes problem:

Bei meiner PVP Quest will Ich das script so umschreiben das es nur die kills zählt wenn man Spieler ab einem bestimmten level killt.
Wie kann Ich somit beim killen eines anderen spielers dessen level abrufen und überprüfen?

Danke

Legend
02/03/2011 12:24 .Delta#1402
Quote:
Originally Posted by Legend2007 View Post
Oder andernfalls, anstatt

notice_all()

benutz: say()

Zwischen den klammern bleibt es genau wie im post von Delta619.

--------------------
hm nein ist ein Unterschied.
Bei say() kannst nur du selbst den Text lesen
Bei notice_all() wird es als Ankündigung geschrieben, also für alle sichtbar.
Und so war das denke ich mal gedacht.
02/03/2011 12:31 Legend2007#1403
Ich kenn die unterschiede aber da es nicht richitig beschrieben wurde was er wollte hab Ich einfach mal dazu geposted. :)
02/03/2011 15:40 ~shaylan~#1404
noch eine kleine ergänzung dazu;

Nur wenn der benutzer ein GM ist können die befehle
PHP Code:
command("..."
benutzt werden. Sonst ist es als würde ein player
PHP Code:
/i 189 
eintippen.
unbekannter Befehl (oder was auch immer)

Das nur weil viele mit command in normalen quests arbeiten wollen :)
beim testen wirds auch noch gehen, weil ihr ja meistens GM seid ^^

Grüße
02/04/2011 12:44 3jfx#1405
wieso setzt ihr eigentlich alle immer einen leeren string?

gemeint ist
PHP Code:
say(""..var..""
die punkte verbinden mehrere zeichenketten. wieso muss denn immer eine leere dazu gepackt werden?
PHP Code:
say(var) 
geht doch auch und sieht besser aus
02/04/2011 18:48 Ampi#1406
quest drache begin
state start begin
when 2493.kill begin
notice_all(pc.name .." hat den Wasserdrachen getötet.")
local r=number(1, 3)

if 1==r then
game.drop_item(smaragti_id, 1)
chat("Du hast einen Smaragti gedroppt")
end

if 2==r then
game.drop_item(saphir_id, 1)
chat("Du hast einen Saphir gedroppt")
end

if 3==r then
game.drop_item(gift_id, 1)
chat("Du hast einen Gifti gedroppt")
end
end
end
end
ich möchte gerne als zufals drop
02/04/2011 20:07 Endless.#1407
Ampi , du kannst dieses Gifti von dem droppen lassen indem du
die mob_drop_item.txt bearbeitest oder dem Drachen ne Truhe gibst!
diese dann mit dienen WUnschdropps füllst


Nun zu meinem Problem, Ich habe ein Item mit dem man
wie ein GM schreiben darf.. allerdings nur meine ItemID angepast:D
diesen Brief vom Schmied mit dem man das dann kann.. sollte man
nur vom Schmied bekommen.. dennoch will ich das man
1ne Segi + 15kk dafür bezahlt.. und ich komme in meiner Quest
jetzt kein Stück weiter ;(
würde mich freuen..wenn mir jemand sagt.. wie ich weiterkomme
guck mal -->

PHP Code:
quest brief begin
    state start begin
        when 20016.chat
."Brief vom Schmied" begin
            say_title 
("Schmied: ")
            
say ("Sei gegrüsst, "..pc.get_name().." !")
            
say ("Wenn du diesen Brief möchtest, mit dem")
            
say ("du wie ein GameMaster schreiben kannst,")
            
say ("benötigst du: ")
            
say_reward ("1x Segensschriftrolle")
            
say_reward ("15.000.000 Yang")
            
set_state(holen)
        
end
    end
    state holen begin
        when 20016.chat
."Ein Brief herstellen lassen" with pc.count_item(25040) >= 1 begin
            say_title 
("Schmied: ")
            
say ("Wenn du diesen Brief willst, kostet es dich")
            
say ("noch 15 Mio. Yang! Möchtest du wirklich für")
            
say ("ein Brief so viel Geld ausgeben?")
            
local a select ("Ja""Nein")
            if 
== 1 then
                say_title 
("Schmied: ")
                
say ("Viel Spaß damit!"
Dabei sollen dem Char Segi + 15kk abgezogen werden...
und das wenn der keine 15kk hat..das eben nix passiert..

ich weiss leider nicht was ich da machen könnte ;(

gebe THX



Gruß Endless;)
02/05/2011 15:08 EselPinguin#1408
PHP Code:
quest brief begin
    state start begin
        when 20016.chat
."Brief vom Schmied" begin
            say_title 
("Schmied: ")
            
say ("Sei gegrüsst, "..pc.get_name().." !")
            
say ("Wenn du diesen Brief möchtest, mit dem")
            
say ("du wie ein GameMaster schreiben kannst,")
            
say ("benötigst du: ")
            
say_reward ("1x Segensschriftrolle")
            
say_reward ("15.000.000 Yang")
            
set_state(holen)
        
end
    end
    state holen begin
        when 20016.chat
."Ein Brief herstellen lassen" with pc.count_item(25040) >= 1 begin
            say_title 
("Schmied: ")
            
say ("Wenn du diesen Brief willst, kostet es dich")
            
say ("noch 15 Mio. Yang! Möchtest du wirklich für")
            
say ("ein Brief so viel Geld ausgeben?")
            
local a select ("Ja""Nein")
            if 
== 1 then
                pc
.change_money(-15000000)
                
pc.removeitem(vnum) -- Da von der segi
                pc
.give_item2(vnum) -- Da die vnum vom brief reintuhen
                say_title 
("Schmied: ")
                
say ("Viel Spaß damit!")
            
end
        end
    end
end 
vll gehts so probier mal
02/05/2011 15:11 xeTaiz#1409
hey leute.
meine quest soll einem n milligaul, des passende pferdebild, die belohnungen der bioquests und so weiter geben...
das funktioniert soweit auch ganz ok, doch wenn ich als weitere belohnung noch die max tp um 5k erhöhen will (wie 92er und 94er bioquest) funktioniert die quest nichmehr ...
hab schon mehrere schreibweisen ausprobiert...
das problem müsste zwar sehr sicher daran liegen, aber ich poste mal alle belohnungen:
Code:
affect.add_collect(apply.MOV_SPEED,22,60*60*24*365*60)
affect.add_collect(apply.ATT_SPEED,12,60*60*24*365*60)
affect.add_collect(apply.DEF_GRADE_BONUS,60,60*60*24*365*60)
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)
affect.add_collect(apply.RESIST_WARRIOR,20,60*60*24)
affect.add_collect(apply.RESIST_ASSASSIN,20,60*60*24)
affect.add_collect(apply.RESIST_SURA,20,60*60*24)
affect.add_collect(apply.RESIST_SHAMAN,20,60*60*24)
affect.add_collect_point(POINT_ATT_BONUS,20,60*60*24*365*60)
affect.add_collect_point(POINT_MAX_HP,5000,60*60*24*365*60)
pc.give_item2("50053", 1)
horse.set_level(21)
pc.set_skill_level(137, 59)
pc.set_skill_level(138, 59)
pc.set_skill_level(139, 59)
pc.setqf("collect_count",0)
pc.setqf("drink_drug",0)
clear_letter()
set_state(__complete)
pc.change_money(100000)
pc.give_exp2(1)
set_quest_state("levelup","run")
return

statt
Code:
affect.add_collect_point(POINT_MAX_HP,5000,60*60*24*365*60)
habe ich auch schon ein paar andere variationen versucht, aber wies aussieht war die richtige nich dabei wär gut wenn mir da einer helfen könnte
02/05/2011 15:22 Endless.#1410
Quote:
Originally Posted by EselPinguin View Post
PHP Code:
quest brief begin
    state start begin
        when 20016.chat
."Brief vom Schmied" begin
            say_title 
("Schmied: ")
            
say ("Sei gegrüsst, "..pc.get_name().." !")
            
say ("Wenn du diesen Brief möchtest, mit dem")
            
say ("du wie ein GameMaster schreiben kannst,")
            
say ("benötigst du: ")
            
say_reward ("1x Segensschriftrolle")
            
say_reward ("15.000.000 Yang")
            
set_state(holen)
        
end
    end
    state holen begin
        when 20016.chat
."Ein Brief herstellen lassen" with pc.count_item(25040) >= 1 begin
            say_title 
("Schmied: ")
            
say ("Wenn du diesen Brief willst, kostet es dich")
            
say ("noch 15 Mio. Yang! Möchtest du wirklich für")
            
say ("ein Brief so viel Geld ausgeben?")
            
local a select ("Ja""Nein")
            if 
== 1 then
                pc
.change_money(-15000000)
                
pc.removeitem(vnum) -- Da von der segi
                pc
.give_item2(vnum) -- Da die vnum vom brief reintuhen
                say_title 
("Schmied: ")
                
say ("Viel Spaß damit!")
            
end
        end
    end
end 
vll gehts so probier mal
Jetzt fehlt nur noch..der Bugfixx.. falls jemand keine 15kk hat