[SERVICE] Die Questkontrolle

08/14/2011 17:17 .Delta#3061
Calls undeclared function! :
warp
das sagts doch eig :D
warp ist keine gültige funktion
mach pc.warp drauß ;)
08/14/2011 17:41 Glost123#3062
ich wollte eine quest schreiben aber ich weiß halt nicht wie mans macht :(( die quest soll ein item eine funktion geben und das item soll einen lvl höher machen. wie mach ich das nun??
08/14/2011 17:43 Sp0ngeb0b ist cool#3063
Quote:
Originally Posted by Glost123 View Post
ich wollte eine quest schreiben aber ich weiß halt nicht wie mans macht :(( die quest soll ein item eine funktion geben und das item soll einen lvl höher machen. wie mach ich das nun??
es gibt keinen Quest-Befehl, um ein level zu erhöhen, man kann bloß eine geweisse Anzahl an Exp geben ;)

mfg sp0nge
08/14/2011 17:44 Glost123#3064
Quote:
Originally Posted by Sp0ngeb0b ist cool View Post
es gibt keinen Quest-Befehl, um ein level zu erhöhen, man kann bloß eine geweisse Anzahl an Exp geben ;)

mfg sp0nge
aha. oke. und wie macht man das dann mit der exp??
08/14/2011 17:46 .NighT™#3065
PHP Code:
quest lion begin 
    state start begin 
        when 71116.
use begin 
            
if pc.get_level() >= 85 then 
                chat
("Du hast nun für 30min einen Loewen als Reittier!"
                
affect.remove_collect()  
                
pc.mount(201131800
                
affect.add_collect(apply.ATT_GRADE_BONUS,500,1800
            else 
                
chat("Du bist noch zu jung!Versuch es mit lvl 85 wieder!"
            
end 
        end 
    end 
end 
Wie kann man es da machen, dass der Angriffswert wieder weggenommen wird, wenn man von dem Reittier absteigt?

Greetz
.NighT™
08/14/2011 17:51 .Delta#3066
nimm die function
PHP Code:
pc.mount_bonus(apply.BONUSNAMEWERTDAUER
@ Glost123
PHP Code:
pc.give_exp2(Anzahl
08/14/2011 17:57 Sp0ngeb0b ist cool#3067
@ Ghost: pc.give_exp2 (Anzahl)

@.Night:
PHP Code:
quest lion begin 
    state start begin 
        when 71116.
use begin 
            
if pc.get_level() >= 85 then 
                chat
("Du hast nun für 30min einen Loewen als Reittier!"
                
affect.remove_collect()  
                
pc.mount(201131800
                
affect.add_collect(apply.ATT_GRADE_BONUS,500,1800
            else 
                
chat("Du bist noch zu jung!Versuch es mit lvl 85 wieder!"
            
end 
            
            
If horse.unride() then
                affect
.remove_collect()
            
end    
        end 
    end 
end 
oder:
PHP Code:
quest lion begin 
    state start begin 
        when 71116.
use begin 
            
if pc.get_level() >= 85 then 
                chat
("Du hast nun für 30min einen Loewen als Reittier!"
                
affect.remove_collect()  
                
pc.mount(201131800
                
affect.add_collect(apply.ATT_GRADE_BONUS,500,1800
            else 
                
chat("Du bist noch zu jung!Versuch es mit lvl 85 wieder!"
            
end 
            
            
If pc.unmount() then
                affect
.remove_collect()
            
end    
        end 
    end 
end 
probiers mal so

Es ist bloß eine spekulation ich habe mich noch nie mit den reittieren und dessen quests
befasst :(

mfg sp0nge

edit: Delta war schneller
08/14/2011 19:13 £αšεℜ™#3068
PHP Code:
quest tiere begin
    state start begin
        when 71114.
use begin
            pc
.removeitem(71114,1)
            
pc.mount(20110600)
        
end
        when 71115.
use begin
            pc
.mount(20110)
        
end
        when 71116.
use begin
            pc
.removeitem(71116,1)
            
pc.mount(20111600)
        
end
        when 71117.
use begin
            pc
.mount(20111600)
        
end
        when 71118.
use begin
            pc
.removeitem(71118,1)
            
pc.mount(20112,600)
        
end
        when 71119.
use begin
            pc
.mount(20112)
        
end
        when 71120.
use begin
            pc
.removeitem(71120,1)
            
pc.mount(20113,600)
        
end
        when 71121.
use begin
            pc
.mount(20113)
        
end
    end
end 
hey was muss ich machen dass die reitiere alle str und deff bonis haben und das man das item für immer hat und das man solange wie man will drauf sitzen kann


mfg
08/14/2011 19:31 Sp0ngeb0b ist cool#3069
Du machst einfach immer statt
PHP Code:
when 71120.use begin
                pc
.removeitem(71120,1)
                
pc.mount(20113,600
PHP Code:
        when 71120.use begin
                pc
.mount(20113
Dann ein attribut einfügen:
PHP Code:
        when 71120.use begin
                pc
.mount(20113)
                
pc.mount_bonus(apply.ATT_SPEED1060*60*24*365*60)
                
affect.add_collect(apply.ATT_SPEED1060*60*24*365*60
das wäre jetzt zum beispiel permanent angriffsspeed.(nur auf dem reittier) hatte keine zeit den code für deff und str herauszusuchen aber da skannst du ja dann machen ;)

am besten den befehl "pc.mount" in "pc.mount_bonus" ändern, wie delta vorhin schon gesagt hatte ;)
(je nach dem wie du es willst.)

Dieser wäre dafür, wenn der Spieler diesen Bonus permanent hat auch ohne reittier ;)
PHP Code:
affect.add_collect(apply.ATT_SPEED1060*60*24*365*60
08/14/2011 21:18 Drugsii#3070
Hallo Leute,

Also ich habe mich mal an einer "upitemquest" probiert. Da ich aber noch wenig erfahrung habe hoffe ich ihr könnt mir helfen:

Code:
quest upitems begin
	state start begin
	when 20097.chat."upitems" begin
           
		say_title("Hong-Hae:")
            say("")
            say("Hallo!")
            say("Ich habe vor einigen Tagen ein Paar Leute kennen")
            say("Gelernt, jetzt wei? ich das sie bei der Mafia")
            say("t?tig sind. Daher komme ich an alle Upitems")
            say("die du dir nur Vorstellen kannst.")
		say("aber daher das ich gerne teile w?rde ich dir")
		say("10x ein zuf?lliges Upitem f?r nur 2kk Zukommen lassen.")
		say("")
		say_reward("M?chtest du mein Angebot Anehmen? ")
            say("")
                
            local s = select("Ja", "Nein")
                
            if s == 1 then

                        if pc.money>=2000000 then
                        pc.changemoney("-2000000")
                  

			local s=number(1, 2)
			if 1>=s then -- 14.29% (1/7)
				say("Du hast 10x")
				say("Unbekanter Talisman +")
				say("erhalten")
				pc.give_item2(30079, 10) 
			elseif 2>=s then -- 14.29% (1/2)
				say("Du hast 10x")
				say("Unbekanter Talisman ")
				say("erhalten")
				pc.give_item2(30051, 10) 

				// __> usw... <__ \\
				
            elseif pc.money<2000000 then
                    say("Wei?t du etwa nicht mit wem du dich Anlegst?")
					say("wenn du das n?chste mal meine zeit verschwenden")
					say("willst bringe wenigstens genug Geld mit!")
					say_reward("komm wieder wen du es dir Leisten kannst!")
					say("")
			end
                elseif s == 2 then
                    return
        end
    end
			end
		end
	end
	state __COMPLETE__ begin
		when enter begin
			q.done()
		end
	end
end
Gruß Drugsii
08/14/2011 21:29 troll1981#3071
betreibe einen Funserver, diese Quest hat ds prob, immer wenn ich mit dem Char einlogge bekomme ich EXP und YANG, ich will aber nur beim ersten mal einloggen mit dem char EXP und YANG nicht immer wieder:

PHP Code:
quest give_basic_weapon begin
    state start begin
        when login begin
        pc 
give_exp2 9999999999 )
          
pc change_money 999999999 )
            if 
pc.getqf("basic_weapon") == 0 then
                pc
.setqf("basic_weapon"1)
            if 
pc job == 0 then
                pc 
give_item2 "19" )
                
pc give_item2 "3009" )
                
pc give_item2 "11209" )
                
pc give_item2 "12209" )
                
pc give_item2 "13009" )
                
pc give_item2 "17009" )
                
pc give_item2 "14009" )
                
pc give_item2 "15009" )
                
pc give_item2 "16009" )
            elseif 
pc job == 1 then 
                pc 
give_item2 "1009" )
                
pc give_item2 "2009" )
                
pc give_item2 "8009" 200 )
                
pc give_item2 "11409" )
                
pc give_item2 "12349" )
                
pc give_item2 "13009" )
                
pc give_item2 "17009" )
                
pc give_item2 "14009" )
                
pc give_item2 "15009" )
                
pc give_item2 "16009" )
            elseif 
pc job == 2 then 
                pc 
give_item2 "19" 
                
pc give_item2 "12489" )
                
pc give_item2 "11609" )
                
pc give_item2 "13009" )
                
pc give_item2 "17009" )
                
pc give_item2 "14009" )
                
pc give_item2 "15009" )
                
pc give_item2 "16009" )
            elseif 
pc job == 3 then 
                pc 
give_item2 "7009" )
                
pc give_item2 "12629" )
                
pc give_item2 "11809" )
                
pc give_item2 "13009" )
                
pc give_item2 "17009" )
                
pc give_item2 "14009" )
                
pc give_item2 "15009" )
                
pc give_item2 "16009" )
            
end
            
if pc.countitem(item) == and pc.weapon != item then
                pc 
change_money 100000 )
                
pc give_item2 "20110" )
                
pc give_item2 "27003" 200 )
                
pc give_item2 "27003" 200 )
                
pc give_item2 "27003" 200 )
                
pc give_item2 "27003" 200 )
                
pc give_item2 "27003" 200 )
                
pc give_item2 "27006" 200 )
                
pc give_item2 "27006" 200 )
                
pc give_item2 "71050" 200 )
                
pc give_item2 "72702" )
            
end
        end
    end
end
end 
Danke für eure Hilfe
08/14/2011 23:18 lfcmaus#3072
mhm irgenwie ist die quest fail
ich komm nur bis annehmen und dann erscheind links der erste letter klick ich drauf wars das oO

PHP Code:
quest pony_buy begin
    state start begin
        when 20349.chat
."Pferdeprüfung" with horse.get_grade()==0 begin
            
if pc.level <=4 then
                say_title
(""..mob_name(20349)..".:")
                
say("")
                
say("Dein Level für ein Pferd der")
                
say("Klasse I zu niedrig!")
                
say("")
            elseif 
pc.countitem("50050") < 1 then
                say_title
(""..mob_name(20349)..".:")
                
say("")
                
say("Um ein Pferd zu besorgen")
                
say("benötigst du eine bestimmte")
                
say("Medallie. Nur auf der Pferdemedallie")
                
say("können die Ergebnisse der")
                
say("Qualifikationsprüfung eingetragen werden.")
                
say("")
            elseif 
pc.countitem("50050") >= and pc.level >= 5 then
                say_title
(""..mob_name(20349)..".:")
                
say("")
                
say("Um ein Pferd zu erhalten")
                
say("musst du eine Qualifikationsprüfung bestehen.")
                
say("Du musst mir beweisen das du Qualifiziert bist")
                
say("ein Pferd zu halten.Nur dann bekommst du dein")
                
say("Pferd!")
                
say_reward("Die Ergebnisse werden auf der Medaille eingetragen.")
                
local b=select("Ja""Nein")
                if 
1==b then
                    
if pc.countitem("50050")>=1 then
                        pc
.removeitem("50050"1)
                        
send_letter("Deine Qualifikationsprüfung!")
                        
set_state(information)
                    else
                        
say_title(""..mob_name(20349)..".:")
                        
say("")
                        
say("Es ist ein Fehler aufgetreten,")
                        
say("bitte kontaktiere den Support.")
                    
end
                
elseif 2==b then
                    say_title
(""..mob_name(20349)..".:")
                    
say("")
                    
say("Okay melde dich später.")
                
end
            end
        end
    end
    state information begin
        when button 
or info begin
            say_size
(256512)
            
setbgimage('level_01.tga')
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say_title("Schriftrolleninhalt.:")
            
say("")
            
say_color("black","Um die Qualifikationsprüfung zu")
            
say_color("black","bestehen musst du das abgebildete")
            
say_color("black","Monster 100 mal töten.")
            
pc.setqf("state"100)
            
q.set_counter("hund"100)
            
send_letter("Momentaner Erfolg")
            
set_state(kill)
        
end
    end
    state kill begin
        when button 
or info begin
            say_size
(256512)
            
setbgimage('level_01.tga')
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say("")
            
say_title("Schriftrolleninhalt.:")            
            
say_color("black","Du musst noch "..pc.getqf("state").." mal")
            
say_color("black","das abgebildete Monster töten.")        
        
end
        when 101.kill 
or 102.kill begin
            local count 
pc.getqf("state") - 1
            
if count <= 100 then
                pc
.setqf("state"count)
                
q.set_counter("hund"count)
            
end    
            
if count == 0 then
                say_title
("Anweisung.:")
                
say("")
                
say("Du hast alle geforderten Monster gekillt!")
                
say("Begib dich nun zurück zum "..mob_name(20349).."!")
                
say("")
                
local v find_npc_by_vnum(20349)
                if 
!= 0 then
                    target
.vid("__TARGET__"v"Quest")
                
end
            end
        end
        when __TARGET__
.target.click or    20349.chat."Qualifikationsprüfung beendet" begin
            target
.delete("__TARGET__")
            
say_title(""..mob_name(20349)..".:")
            
say("")
            
say("Willkommen zurück,Alles gut überstanden!?")
            
say("Dann werde ich jetzt die Ergebnisse auf der")
            
say("auf der Pferdemedaille vermerken.!")
            
wait()
            
say_title(""..mob_name(20349)..".:")
            
say("")
            
say("Herzlichen Glückwunsch du hast die")
            
say("Qualifikationsprüfung für das Anfänger")
            
say("Pferd erfolgreich bestanden,nun werde")
            
say("Ich dir eine Lizenz anfertigen lassen.")
            
say("Da dies viel Bürokratie mit sich bringt,")
            
say("wird es eine Weile dauern eh ich fertig")
            
say("bin.Ich gebe dir bescheid wenn die Lizenz")
            
say("fertig ist,bringe dann bitte 100.000 Yang")
            
say("mit.")
            
send_letter("Herstellung der Lizenz")
            
set_state(wait)
        
end
    end
    state wait begin
        when button 
or info begin
            say_title
("Schriftrolleninhalt.:")            
            
say("Der Stallbursche schreibt momentan")
            
say("deine Lizenz,meist benötigt er dazu")
            
say("1 Stunde,er meldet sich bei dir sobald")
            
say("er fertig ist.")
            
timer("make"60*60)
            
set_state(allright)
        
end
    end
    state allright begin
        when make
.timer begin
            send_letter
("Deine Lizenz ist fertig!")
        
end
        when button 
or info begin
            say_title
("Schriftrolleninhalt.:")            
            
say("Der Stallbursche hat alles geregelt,")        
            
say("begib dich wieder zu Ihm um dein")
            
say("Pferdebild abzuholen.")
            
local v find_npc_by_vnum(20349)
            if 
!= 0 then
                target
.vid("__TARGET2__"v"Quest")
            
end
        end
        when __TARGET2__
.target.click or    20349.chat."Mein Pferdebild?" begin
                        target
.delete("__TARGET2__")
            
say_title(""..mob_name(20349)..".:")
            
say("")
            
say("So ich habe alles geregelt.")
            
say("Möchtest du dein Pferdebild nun abholen?")
            
say("Dann benötigst du die 100.000 Yang")
            
local kauf select ("Ja kaufen""Nein später abholen")
            
            if 
kauf == 1 then
                
if pc.money>=100000 then
                    char_log
(0"HORSE_BUY""BEGIN")
                    
pc.changemoney(-100000)
                    
char_log(0"HORSE_BUY""DEC money 100000")
                    
horse.unride()
                    
horse.advance()
                    
horse.ride()
                    
char_log(0"HORSE_BUY""INC horse_advance 1")
                    
pc.give_item2("50051"1)
                    
char_log(0"HORSE_BUY""INC 50051 1")
                    
char_log(0"HORSE_BUY""END")
                    
say("Hier ist dein Pferd")
                    
say("Du kannst es jederzeit")
                    
say("mit hilfe des Pferdebildes rufen.")
                    
say("Denke daran dein Pferd zu füttern.")
                    
setstate(start)
                    
clear_letter()
                    
q.done()
                else
                    
say_title(""..mob_name(20349)..".:")
                    
say("")
                    
say("Dein Yang reicht nicht aus.")
                
end                
            
elseif kauf == 2 then
                say_title
(""..mob_name(20349)..".:")
                
say("")
                
say("Ok wir reden später noch einmal.")
            
end
        end
    end
end 
08/15/2011 00:07 Kevke1996#3073
irgendwas funktionier hier nicht . erst ging alles aber dann habe ich irgendwas gemacht...schrott

PHP Code:
 quest gammler begin
    state start begin
        when 20359.chat
."Map Teleporter" begin

        say_title
("Map_Teleporter:")
        
say("Da einige Leute Schwierigkeiten haben,")
        
say("den langen Weg zu überstehen und zu finden,")
        
say("habe ich für Sie einen anderen Weg geöffnet.")

        
wait()
        if 
pc.count_item(70025) >= 1 then
        say_title
("Map_Teleporter:")
        
say("Da du das Item besitzt, werde ich dich teleportieren.")
        
say("Aber es soll sehr gefährlich sein.")
             
local s select("Farm Map","BlauerTod Run","Drachenraum","abbrechen")
                if 
== 1 then
                pc
.warp(83200,0)
                
                
chat("Viel Glück")
            
end
            
if == 2 then
                pc
.warp(8084500,89500)
                
                
chat("Viel Glück")
            
end 
            
if == 3 then
                pc
.warp(171900,1221300)
                
                
chat("Viel Glück")
            
end 
        
else
        
say_title("MapTeleporter:")
        
say("Du benötigst 1 Ring der Würde zum teleportieren,")
        
say("ohne ihn erteile ich dir keinen Zutritt.")
        
say_item_vnum(70025)
        
end

        end
    end
end 
08/15/2011 14:21 newplayax3#3074
PHP Code:
quest upitems begin
    state start begin
    when 20097.chat
."upitems" begin
           
        say_title
("Hong-Hae:")
            
say("")
            
say("Hallo!")
            
say("Ich habe vor einigen Tagen ein Paar Leute kennen")
            
say("Gelernt, jetzt wei? ich das sie bei der Mafia")
            
say("t?tig sind. Daher komme ich an alle Upitems")
            
say("die du dir nur Vorstellen kannst.")
        
say("aber daher das ich gerne teile w?rde ich dir")
        
say("10x ein zuf?lliges Upitem f?r nur 2kk Zukommen lassen.")
        
say("")
        
say_reward("M?chtest du mein Angebot Anehmen? ")
            
say("")
                
            
local s select("Ja""Nein")
                
            if 
== 1 then

                        
if pc.money>=2000000 then
                        pc
.changemoney("-2000000")
                  

            
local s=number(12)
            if 
1>=s then -- 14.29% (1/7)
                
say("Du hast 10x")
                
say("Unbekanter Talisman +")
                
say("erhalten")
                
pc.give_item2(3007910
            elseif 
2>=s then -- 14.29% (1/2)
                
say("Du hast 10x")
                
say("Unbekanter Talisman ")
                
say("erhalten")
                
pc.give_item2(3005110

                
// __> usw... <__ \\
                
            
elseif pc.money<2000000 then
                    say
("Wei?t du etwa nicht mit wem du dich Anlegst?")
                    
say("wenn du das n?chste mal meine zeit verschwenden")
                    
say("willst bringe wenigstens genug Geld mit!")
                    
say_reward("komm wieder wen du es dir Leisten kannst!")
                    
say("")
            
end
                
elseif == 2 then
                    
return
        
end
    end
            end
        end
    end
    state __COMPLETE__ begin
        when enter begin
            q
.done()
        
end
    end
end 
das finde ich nicht schlecht kann da mal bitte jmd drüber gucken ist eine schöne sache :)
08/15/2011 16:56 Sp0ngeb0b ist cool#3075
@ Kevke 1996:
PHP Code:
 quest gammler begin
    state start begin
        when 20359.chat
."Map Teleporter" begin
            say_title
("Map_Teleporter:")
            
say("Da einige Leute Schwierigkeiten haben,")
            
say("den langen Weg zu überstehen und zu finden,")
            
say("habe ich für Sie einen anderen Weg geöffnet.")
            
wait()
            if 
pc.count_item(70025) >= 1 then
                say_title
("Map_Teleporter:")
                
say("Da du das Item besitzt, werde ich dich teleportieren.")
                
say("Aber es soll sehr gefährlich sein.")
                
local s select("Farm Map","BlauerTod Run","Drachenraum","abbrechen")
                if 
== 1 then
                    pc
.warp(832,0)
                    
chat("Viel Glück")
                elseif 
== 2 then
                    pc
.warp(80845,895)
                    
chat("Viel Glück")
                elseif 
== 3 then
                    pc
.warp(1719,12213)
                    
chat("Viel Glück")
                elseif 
== 4 then
                    say
("Dann nicht!")
                    return
                
end    
            
else
                
say_title("MapTeleporter:")
                
say("Du benötigst 1 Ring der Würde zum teleportieren,")
                
say("ohne ihn erteile ich dir keinen Zutritt.")
                
say_item_vnum(70025)
            
end

        end
    end
end 
Probiers so ;)

@Troll 1981:
PHP Code:
 quest give_basic_weapon begin
    state start begin
        when login 
and pc.get_level() < 2 then
            pc 
give_exp2 9999999999 )
            
pc change_money 999999999 )
            if 
pc.getqf("basic_weapon") == 0 then
                pc
.setqf("basic_weapon"1)
                if 
pc job == 0 then
                    pc 
give_item2 "19" )
                    
pc give_item2 "3009" )
                    
pc give_item2 "11209" )
                    
pc give_item2 "12209" )
                    
pc give_item2 "13009" )
                    
pc give_item2 "17009" )
                    
pc give_item2 "14009" )
                    
pc give_item2 "15009" )
                    
pc give_item2 "16009" )
                elseif 
pc job == 1 then 
                    pc 
give_item2 "1009" )
                    
pc give_item2 "2009" )
                    
pc give_item2 "8009" 200 )
                    
pc give_item2 "11409" )
                    
pc give_item2 "12349" )
                    
pc give_item2 "13009" )
                    
pc give_item2 "17009" )
                    
pc give_item2 "14009" )
                    
pc give_item2 "15009" )
                    
pc give_item2 "16009" )
                elseif 
pc job == 2 then 
                    pc 
give_item2 "19" 
                    
pc give_item2 "12489" )
                    
pc give_item2 "11609" )
                    
pc give_item2 "13009" )
                    
pc give_item2 "17009" )
                    
pc give_item2 "14009" )
                    
pc give_item2 "15009" )
                    
pc give_item2 "16009" )
                elseif 
pc job == 3 then 
                    pc 
give_item2 "7009" )
                    
pc give_item2 "12629" )
                    
pc give_item2 "11809" )
                    
pc give_item2 "13009" )
                    
pc give_item2 "17009" )
                    
pc give_item2 "14009" )
                    
pc give_item2 "15009" )
                    
pc give_item2 "16009" )
                
end
                
if pc.countitem(item) == and pc.weapon != item then
                    pc 
change_money 100000 )
                    
pc give_item2 "20110" )
                    
pc give_item2 "27003" 200 )
                    
pc give_item2 "27003" 200 )
                    
pc give_item2 "27003" 200 )
                    
pc give_item2 "27003" 200 )
                    
pc give_item2 "27003" 200 )
                    
pc give_item2 "27006" 200 )
                    
pc give_item2 "27006" 200 )
                    
pc give_item2 "71050" 200 )
                    
pc give_item2 "72702" )
                
end
            end
        end
    end
end 
Probiers so ;)