Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 01:05

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[SERVICE] Die Questkontrolle

Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 06/29/2019, 21:15   #12616
 
levita2's Avatar
 
elite*gold: 0
Join Date: Sep 2017
Posts: 20
Received Thanks: 0
Nächstes problem xD, bei meiner quest (Regenbogenstein) benötigt man 20k rang-punkte, dass mit dem abziehen habe ich schon hin bekommen, aber mann kann das trotzdem nutzen obwohl man -20k rang-punkte hat, ich hätte es gerne so das man wieder auf neutrale rang-punkte kommen muss das man es erst wieder nutzen kann.

DIE QUEST

Quote:
quest regenbogenstein begin
state start begin
function BuildPerfectMasterSkillList(job, group)
GRAND_MASTER_SKILL_LEVEL = 20
PERFECT_MASTER_SKILL_LEVEL = 40

local skill_list = special.active_skill_list[job+1][group]
local ret_vnum_list = {}
local ret_name_list = {}

-- test_chat(string.format("job=%d, group=%d", job, group))

table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)

-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then

table.insert(ret_vnum_list, skill_vnum)
local name=locale.GM_SKILL_NAME_DICT[skill_vnum]
if name == nil then name=skill_vnum end
table.insert(ret_name_list, name)
end
end)
return {ret_vnum_list, ret_name_list}


--return {ret_vnum_list, ret_name_list}
end
when 50512.use begin
local count = pc.count_item(50512)
pc.setqf("regen_count", count)
if pc.get_skill_group() == 0 then
say("Du hast noch keine Fertigkeiten.")
say("Versuche es später erneut.")
return
end
local result = regenbogenstein.BuildPerfectMasterSkillList(pc.get _job(), pc.get_skill_group())
local vnum_list = result[1]
local name_list = result[2]
if table.getn(vnum_list) == 0 then
say("Du hast keine Meister-Fertigkeiten.")
return
end
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
local s=select_table(menu_list)
if table.getn(menu_list) == s then
return
end
local skill_name=name_list[s]
local skill_vnum=vnum_list[s]
say_title(""..pc.get_name().." : Fortsetzung deines Trainings?")
say("Möchtest du "..skill_name.."")
say("auf Perfekt Meister Trainieren?")
say("")
say("Du verlierst dadurch Rangpunkte.")
say("")
say_reward("Das Training kostet - 20.000 Rangpunkte!")
local wahl = select("Ja", "Nein")
if wahl == 1 then
if pc.count_item(50512) == pc.getqf("regen_count") then
pc.set_skill_level(skill_vnum, 59)
say(skill_name.." wurde auf Perfekten Meister Trainiert!")
say_reward("Du hast nun - 20.000 Rangpunke!")
say("")
else
say("Buguser bekommen keine P-Skills ! ")
end
elseif wahl == 2 then
return
end
pc.remove_item(50512)
pc.change_alignment(-20000)
end
end
end
levita2 is offline  
Old 06/30/2019, 13:32   #12617
 
elite*gold: 0
Join Date: May 2018
Posts: 25
Received Thanks: 19
Quote:
Originally Posted by levita2 View Post
Nächstes problem xD, bei meiner quest (Regenbogenstein) benötigt man 20k rang-punkte, dass mit dem abziehen habe ich schon hin bekommen, aber mann kann das trotzdem nutzen obwohl man -20k rang-punkte hat, ich hätte es gerne so das man wieder auf neutrale rang-punkte kommen muss das man es erst wieder nutzen kann.

DIE QUEST
Versuch es mal so:
.Moon is offline  
Old 07/01/2019, 13:02   #12618
 
levita2's Avatar
 
elite*gold: 0
Join Date: Sep 2017
Posts: 20
Received Thanks: 0
Quote:
Originally Posted by .Moon View Post
Versuch es mal so:

nein funkt nicht
levita2 is offline  
Old 07/09/2019, 11:46   #12619

 
G.I Duke's Avatar
 
elite*gold: 313
Join Date: Apr 2013
Posts: 585
Received Thanks: 122
Servus Leute, folgendes Problem: es handelt sich um die PowerMount quest
funktioniert auch soweit einwandfrei, nur was mich stört ist wenn ich bereits auf
dem Mount sitze und das Siegel nochmal anklicke setzt er mich ab und wieder auf
das möchte ich nicht...

PHP Code:
----------------------------------------------------
-- 
Power Mount System
-- lvl x
-- Copyright ©Zymos
----------------------------------------------------
quest p_mount begin
state start begin
    when 80024.
use begin
    chat
("hi")
    
end
    when 20349.take begin
    
if pc.is_mount() then
    say_title
(""..mob_name(20349).."")
    
say("")
    
say("könntest du bitte von deinem Mount absteigen,")
    
say("solange wir miteinander reden? Ich habe einen")
    
say("steifen Nacken und es ist ziemlich anstregend,")
    
say("die ganze Zeit zu dir aufzuschauen zu müssen.")
    
say("")
    return
    
end
    chat
("time "..item.get_socket(2).."")
    
chat("pos "..item.get_cell().."")
    
item.set_socket2,)
    
local vnum item.get_vnum()
    if 
vnum >= 20201 and vnum <= 52090 then
        
if pc.count_item(38100) >= --Powersnack (7 Tage
        or 
pc.count_item(38101) >= --Powersnack (15 Tage
        or 
pc.count_item(38102) >= --Powersnack (30 Tage
        
then
        say_title
(""..mob_name(20349).."")
        
say("")
        
say("Ich sehe, du besitzt einen Powersnack. Diese")
        
say("wertvolle Heilplane versorgt dein Power Mount")
        
say("mit reiner Energie, um seine Lebenszeit für")
        
say("einige Tage zu verlängern. Was soll ich für dich")
        
say("tun? Möchtest du, dass ich das Leben deines")
        
say("Mounts verlängere oder möchtest du es verbessern")
        
say("lassen?")
        
say("")
        
local i select ("Verlängern","Verbessern","Abrechen")
        if 
== 1 then
        local t 
select("7 Tage","15 Tage","30 Tage","Abrechen")
        if 
== 1 then --7 Tage
            
if pc.count_item(38100) >= 1 then --Powersnack (7 Tage)
                
say("verlängern 7 tage")
                
pc.removeitem(38100,1)
            else
            
p_mount.fail_message()
            
end
        
elseif == 2 then --15 Tage
            
if pc.count_item(38101) >= 1 then --Powersnack (15 Tage)
                
say("verlängern 15 tage")
                
pc.removeitem(38101,1)
            else
            
p_mount.fail_message()
            
end
        
elseif == 3 then --30 Tage
            
if pc.count_item(38102) >= 1 then --Powersnack (30 Tage)
                
say("verlängern 30 tage")
                
pc.removeitem(38102,1)
            else
            
p_mount.fail_message()
            
end
        
else
            return
        
end
        
elseif == 2 then
            
if p_mount.upgrade(vnum) == true then
                pc
.give_item2(vnum +5,1)
                
item.remove()
            else
                
p_mount.fail_message()
            
end
        end
    local blub 
1
    
elseif blub == 2 then --item.get_socket(2) <= 1440 then
        say_title
(""..mob_name(20349).."")
        
say("")
        
say("Dein Mountsiegel hält weniger als 1 Tag noch.")
        
say("Text... Text.. Text..")
        
local f select("Ja möchte ich","Nein noch nicht")
        
say(""..pc.get_gold().." "..pc.count_item(50068).."")
        
say(""..f.."")
        if 
== 1 then
            
if pc.get_gold() <= 200000 then
                say_title
(""..mob_name(20349).."")
                
say("")
                
say("Um die Laufzeit deines Mounts zu verlängern.")
                
say("Benötigst du 200.000 Yang.")
                return
            elseif 
pc.count_item(50068) == 0 then --Rolle der Mutation
                say_title
(""..mob_name(20349).."")
                
say("")
                
say("Um die Laufzeit deines Mounts zu verlängern.")
                
say("Benötigst du eine "..item_name(50068)..".")
                
say("")
                
say_item_vnum(50068)
                return
            elseif 
pc.get_gold() >= 200000 and pc.count_item(50068) >= 1 then
                pc
.remove_item(50068,1)
                
pc.changegold(-200000)
                    if 
number(1,2) == 1 then
                    local wert 
item.get_socket(2)
                    
item.set_socket(2,wert 60*24number(1,3))
                    
say("Zeit wurde verlängert")
                    else
                        
say("Die Zeitaufwertung ist fehlgeschlagen")
                    
end
            
else
            
p_mount.fail_message()
            
end
        
else --Nein noch nicht
        
return
        
end
        
elseif vnum >= 52011 and vnum <= 52015
        
or vnum >= 52026 and vnum <= 52030
        
or vnum >= 52041 and vnum <= 52045
        
or vnum >= 52056 and vnum <= 52060
        
or vnum >= 52071 and vnum <= 52075
        
or vnum >= 52086 and vnum <= 52090    then --Tapferere Mounts
        say_title
(""..mob_name(20349).."")
        
say("")
        
say("Dieses Siegel kannst du nicht weiter verbessern.")
        return
        elseif 
pc.count_item(50067) >= or pc.count_item(50068) >= 1 then
        say_title
(""..mob_name(20349).."")
        
say("")
        
say("Wie ich sehe möchtest du wohl dein Mount verbessern.")
        
say("")
        
say("Möchtest du dies?")
        
say("")
        
local m select("Ja","Nein")
        if 
== 1 then --Ja
            
if p_mount.upgrade(vnum) == true then
                pc
.give_item2(vnum +5,1)
                --
local wert item.get_socket(2)
                --
Upgrade 1-4 erhöhen laufzeit? ? item.set_socket(2,wert 60*24number(1,3))
                
item.remove()
            else
                
p_mount.fail_message()
            
end
        
else --Nein
            
return
        
end
    
else
    
p_mount.fail_message()
    
end
    end
    end
    
function upgrade(vnum)
        if (
vnum >= 52001 and vnum <= 52005
        
or vnum >= 52016 and vnum <= 52020
        
or vnum >= 52031 and vnum <= 52035
        
or vnum >= 52046 and vnum <= 52050
        
or vnum >= 52061 and vnum <= 52065
        
or vnum >= 52076 and vnum <= 52080) and pc.count_item(50067) >= 1 then --junge Mounts und Rolle der Evolution
            pc
.remove_item(50067,1)
            return 
true
        
elseif  (vnum >= 52006 and vnum <= 52010
        
or vnum >= 52021 and vnum <= 52025
        
or vnum >= 52036 and vnum <= 52040
        
or vnum >= 52051 and vnum <= 52055
        
or vnum >= 52066 and vnum <= 52070
        
or vnum >= 52081 and vnum <= 52085) and pc.count_item(50068) >= 1 then --Wilde Mounts und Rolle der Mutation
            pc
.remove_item(50068,1)
            return 
true
        
else
            return 
false
        end
        
    end
    when 20349.chat
."Ich will mein Mount verbessern" begin
        say_title
(""..mob_name(20349).."")
        
say("")
        
say("Du willst also dein Mount verbessern? Weisst du")
        
say("weißt du denn, wie das geht? Also gut,")
        
say("ich werde es dir erklären.")
        
wait()
        
say_title(""..mob_name(20349).."")
        
say("")
        
say("Um den Mount zu einem Wilden Reittier zu")
        
say("verwandeln, musst du dich auf der Suche nach der")
        
say("Rolle der Evolution begeben. Finde die Rolle der")
        
say("Mutation, damit du das Wilde zu einem Tapferen")
        
say("Reittier ausbilden kanns. Es heisst, sie seien in")
        
say("eineim fernen Land, bewohnt von gefährlichen")
        
say("giganen versteckt!")
        
wait()
        
say_title(""..mob_name(20349).."")
        
say("")
        
say("Bring mir eine dieser Rollen und ich werde den")
        
say("Mount verbessern. Du hast sie nicht zuäfflig")
        
say("schon bei dir?")
        
local v select("Ja, ich möchte mein Mount verbessern!","Nein, jetzt nicht.")
        if 
== 1 then
        say
("Ziehe das Mount Siegel auf mich hierfür")
        
end
    end
    when 20349.chat
."Urkunde gegen Mount eintauschen" begin 
        say_title
(""..mob_name(20349).."")
        
say("")
        
say("Du möchtest deine Urkunde gegen ein Mount")
        
say("eintauschen? Lass mich sehen, welche du dabei")
        
say("hast. Besitzt du mehere Urkunden, kannst du")
        
say("dich in den folgenden Schritten für eine")
        
say("entscheiden.")
        
wait()
        
say_title(""..mob_name(20349).."")
        
say("")
        if 
pc.count_item(52701) >= 1 then --Löwen-Urkunde
            say
("du bringst mir ein "..item_name(52701).."")
            
pc.setqf("mount",1)
        elseif 
pc.count_item(52702) >= 1 then --Tiger-Urkunde
            say
("du bringst mir ein "..item_name(52702).."")
            
pc.setqf("mount",2)
        elseif 
pc.count_item(52703) >= 1 then --Keiler-Urkunde
            say
("du bringst mir ein "..item_name(52703).."")
            
pc.setqf("mount",3)
        elseif 
pc.count_item(52704) >= 1 then --Wolfs-Urkunde
            say
("du bringst mir ein "..item_name(52704).."")
            
pc.setqf("mount",4)
        elseif 
pc.count_item(52705) >= 1 then --Rentier-Urkunde (m)
            
say("du bringst mir ein "..item_name(52705).."")
            
pc.setqf("mount",5)
        elseif 
pc.count_item(52706) >= 1 then --Rentier-Urkunde (w)
            
say("du bringst mir ein "..item_name(52706).."")
            
pc.setqf("mount",6)
        else
            
say("Du hast keine Mount-Urkunde bei dir")
            return
        
end
        
--
        
say("Für Welcchen Boni entscheidest du dich?")
        
say("")
        
local b select("Stark gegen Monster","Erfahrung (EXP)","Trefferpunkte (TP)","Verteidigung (DEF)","Angriffswert (AW)","Nein, lieber doch nichht.")
        if 
== 1 then --Stark gegen Monster
            p_mount
.give_seal(pc.getqf("mount"),1)
        elseif 
== 2 then --Erfahrung (EXP)
            
p_mount.give_seal(pc.getqf("mount"),2)
        elseif 
== 3 then --Trefferpunkte (TP)
            
p_mount.give_seal(pc.getqf("mount"),3)
        elseif 
== 4 then --Verteidigung(DEF)
            
p_mount.give_seal(pc.getqf("mount"),4)
        elseif 
== 5 then --Angriffswert (AW)
            
p_mount.give_seal(pc.getqf("mount"),5)
        
end
    end
    
function fail_message()
        
say_title(""..mob_name(20349).."")
        
say("")
        
say("Tut mir leid, ohne die richtigen Dokumente kann")
        
say("ich nichts für dich tun, Versuche nicht nochmal,")
        
say("mich übers Ohr zu hauenn, sonst lass ich dich")
        
say("dafür bezahlen.")
    
end
    
function give_seal(a,b)
    if 
== 1 then --Löwen-Urkunde
        
if == 1 then --Start
            pc
.give_item252031 )
            
item.set_socket52031 100 )
    
            --
pc.give_item2(52031,1) --Stark gegen Monster
            pc
.remove_item(52701,1) --Löwen-Urkunde
            
return true
        
elseif == 2 then
            pc
.give_item2(52032,1) --Erfahrung
            pc
.remove_item(52701,1) --Löwen-Urkunde
        
elseif == 3 then
            pc
.give_item2(52033,1) --Tp
            pc
.remove_item(52701,1) --Löwen-Urkunde
        
elseif == 4 then
            pc
.give_item2(52034,1) --Verteidigungswert
            pc
.remove_item(52701,1) --Löwen-Urkunde
        
elseif == 5 then
            pc
.give_item2(52035,1) --Angriffswert
            pc
.remove_item(52701,1) --Löwen-Urkunde
        
else
            return
        
end
    
elseif == 2 then --Tiger-Urkunde
        
if == 1 then --Start
            pc
.give_item2(52046,1) --Stark gegen Monster
            pc
.remove_item(52702,1) --Tiger-Urkunde
        
elseif == 2 then
            pc
.give_item2(52047,1) --Erfahrung
            pc
.remove_item(52702,1) --Tiger-Urkunde
        
elseif == 3 then
            pc
.give_item2(52048,1) --Tp
            pc
.remove_item(52702,1) --Tiger-Urkunde
        
elseif == 4 then
            pc
.give_item2(52049,1) --Verteidigungswert
            pc
.remove_item(52702,1) --Tiger-Urkunde
        
elseif == 5 then
            pc
.give_item2(52050,1) --Angriffswert
            pc
.remove_item(52702,1) --Tiger-Urkunde
        
else
            return
        
end
    
elseif == 3 then --Keiler-Urkunde
        
if == 1 then --Start
            pc
.give_item2(52001,1) --Stark gegen Monster
            pc
.remove_item(52703,1) --Keiler-Urkunde
        
elseif == 2 then
            pc
.give_item2(52002,1) --Erfahrung
            pc
.remove_item(52703,1) --Keiler-Urkunde
        
elseif == 3 then
            pc
.give_item2(52003,1) --Tp
            pc
.remove_item(52703,1) --Keiler-Urkunde
        
elseif == 4 then
            pc
.give_item2(52004,1) --Verteidigungswert
            pc
.remove_item(52703,1) --Keiler-Urkunde
        
elseif == 5 then
            pc
.give_item2(52005,1) --Angriffswert
            pc
.remove_item(52703,1) --Keiler-Urkunde
        
else
            return
        
end
    
elseif == 4 then --Wolfs-Urkunde
        
if == 1 then --Start
            pc
.give_item2(52016,1) --Stark gegen Monster
            pc
.remove_item(52704,1) --Wolfs-Urkunde
        
elseif == 2 then
            pc
.give_item2(52017,1) --Erfahrung
            pc
.remove_item(52704,1) --Wolfs-Urkunde
        
elseif == 3 then
            pc
.give_item2(52018,1) --Tp
            pc
.remove_item(52704,1) --Wolfs-Urkunde
        
elseif == 4 then
            pc
.give_item2(52019,1) --Verteidigungswert
            pc
.remove_item(52704,1) --Wolfs-Urkunde
        
elseif == 5 then
            pc
.give_item2(52020,1) --Angriffswert
            pc
.remove_item(52704,1) --Wolfs-Urkunde
        
else
            return
        
end
    
elseif == 5 then --Rentier-Urkunde m
        
if == 1 then --Start
            pc
.give_item2(52016,1) --Stark gegen Monster
            pc
.remove_item(52705,1) --Rentier-Urkunde
        
elseif == 2 then
            pc
.give_item2(52062,1) --Erfahrung
            pc
.remove_item(52705,1) --Rentier-Urkunde
        
elseif == 3 then
            pc
.give_item2(52063,1) --Tp
            pc
.remove_item(52705,1) --Rentier-Urkunde
        
elseif == 4 then
            pc
.give_item2(52064,1) --Verteidigungswert
            pc
.remove_item(52705,1) --Rentier-Urkunde
        
elseif == 5 then
            pc
.give_item2(52065,1) --Angriffswert
            pc
.remove_item(52705,1) --Rentier-Urkunde
        
else
            return
        
end
    
elseif == 6 then --Rentier-Urkunde w
        
if == 1 then --Start
            pc
.give_item2(52076,1) --Stark gegen Monster
            pc
.remove_item(52706,1) --Rentier-Urkunde
        
elseif == 2 then
            pc
.give_item2(52077,1) --Erfahrung
            pc
.remove_item(52706,1) --Rentier-Urkunde
        
elseif == 3 then
            pc
.give_item2(52078,1) --Tp
            pc
.remove_item(52706,1) --Rentier-Urkunde
        
elseif == 4 then
            pc
.give_item2(52079,1) --Verteidigungswert
            pc
.remove_item(52706,1) --Rentier-Urkunde
        
elseif == 5 then
            pc
.give_item2(52080,1) --Angriffswert
            pc
.remove_item(52706,1) --Rentier-Urkunde
        
else
            return
        
end
    end
    end
    when 52001.
use or 52002.use or 52003.use or 52004.use or 52005.use or 52006.use or 52007.use or 52008.use or 52009.use or 52010.use
     or 
52011.use or 52012.use or 52013.use or 52014.use or 52015.use or 52016.use or 52017.use or 52018.use or 52019.use or 52020.use
     or 
52021.use or 52022.use or 52023.use or 52024.use or 52025.use or 52026.use or 52027.use or 52028.use or 52029.use or 52030.use
     or 
52031.use or 52032.use or 52033.use or 52034.use or 52035.use or 52036.use or 52037.use or 52038.use or 52039.use or 52040.use
     or 
52041.use or 52042.use or 52043.use or 52044.use or 52045.use or 52046.use or 52047.use or 52048.use or 52049.use or 52050.use
     or 
52051.use or 52052.use or 52053.use or 52054.use or 52055.use or 52056.use or 52057.use or 52058.use or 52059.use or 52060.use 
     or 
52061.use or 52062.use or 52063.use or 52064.use or 52065.use or 52066.use or 52067.use or 52068.use or 52069.use or 52070.use
     or 
52071.use or 52072.use or 52073.use or 52074.use or 52075.use or 52076.use or 52077.use or 52078.use or 52079.use or 52080.use
     or 
52081.use or 52082.use or 52083.use or 52084.use or 52085.use or 52086.use or 52087.use or 52088.use or 52089.use or 52090.use begin
        local vnum 
item.get_vnum()
        
local mounts_horse_lvl horse.get_level()
        
local player_level pc.get_level()
        if 
pc.getf("pets","pet_active") == or horse.is_summon() and horse.get_level() >= 22 then
        mounts_horse_lvl 
pc.getf("pets","old_horse_level")
        
end
    
if pc.is_polymorphed() then
        say
("Du kannst nicht reiten während du Verwandelt bist!")
        return
    elseif 
pc.is_mount() then
        pc
.unmount()
        return
    
end
    
if vnum >= 52006 and vnum <= 52010
        
or vnum >= 52021 and vnum <= 52025
        
or vnum >= 52036 and vnum <= 52040
        
or vnum >= 52051 and vnum <= 52055
        
or vnum >= 52066 and vnum <= 52070
        
or vnum >= 52081 and vnum <= 52085 then --Wilde Mounts 
        
if player_level 35 then 
            syschat
("Dein Level ist zu niedrig um dieses Mount zu benutzen!")
            return
        
end    
        
if mounts_horse_lvl 11 then 
            syschat
("Dein Pferde-level ist zu niedrig um dieses Mount zu benutzen!")
            return
        
end
    
elseif vnum >= 52011 and vnum <= 52015
        
or vnum >= 52026 and vnum <= 52030
        
or vnum >= 52041 and vnum <= 52045
        
or vnum >= 52056 and vnum <= 52060
        
or vnum >= 52071 and vnum <= 52075
        
or vnum >= 52086 and vnum <= 52090    then --Tapferere Mounts
        
if player_level 50 then 
            syschat
("Dein Level ist zu niedrig um dieses Mount zu benutzen!")
            return
        
end    
        
if mounts_horse_lvl 21 then 
            syschat
("Dein Pferde-level ist zu niedrig um dieses Mount zu benutzen!")
            return
        
end
    end
        local check 
p_mount.give_mount_bonus(vnum)
        if 
check == true then
        local timee 
3600 --item.get_socket(2)*60
        syschat
("Dein Mount wurde erfolgreich gerufen.")
        else
        
syschat("Es ist ein Fehler aufgetreten als du dein Mount rufen wolltest.")
        
end
    end
    
function give_mount_bonus(a)
    
pc.delqf("mount")
    
local vnum a
    local mounts_bonus 
= {
        [
20201] = { 20201,'NO_SKILL',0},                 --Junger Keiler
        
[52002] = { 20201,'NO_SKILL',0},                 --Junger Keiler
        
[52003] = { 20201,'NO_SKILL',0},                 --Junger Keiler
        
[52004] = { 20201,'NO_SKILL',0},                 --Junger Keiler
        
[52005] = { 20201,'NO_SKILL',0},                 --Junger Keiler
        
[52006] = { 20205,apply.ATTBONUS_MONSTER,3},     --Wilder Keiler
        
[52007] = { 20205,apply.EXP_DOUBLE_BONUS,3},    --Wilder Keiler
        
[52008] = { 20205,apply.MAX_HP,250},             --Wilder Keiler
        
[52009] = { 20205,apply.DEF_GRADE_BONUS,50},    --Wilder Keiler
        
[52010] = { 20205,apply.ATT_GRADE_BONUS,30},     --Wilder Keiler
        
[52011] = { 20209,apply.ATTBONUS_MONSTER,5},     --Tapferer Keiler
        
[52012] = { 20209,apply.EXP_DOUBLE_BONUS,5},     --Tapferer Keiler
        
[52013] = { 20209,apply.MAX_HP,500},             --Tapferer Keiler
        
[52014] = { 20209,apply.DEF_GRADE_BONUS,150},    --Tapferer Keiler
        
[52015] = { 20209,apply.ATT_GRADE_BONUS,100},     --Tapferer Keiler

        
[52016] = { 20202,'NO_SKILL',0},                 --Junger Wolf
        
[52017] = { 20202,'NO_SKILL',0},                 --Junger Wolf
        
[52018] = { 20202,'NO_SKILL',0},                 --Junger Wolf
        
[52019] = { 20202,'NO_SKILL',0},                 --Junger Wolf
        
[52020] = { 20202,'NO_SKILL',0},                 --Junger Wolf
        
[52021] = { 20206,apply.ATTBONUS_MONSTER,3},     --Wilder Wolf
        
[52022] = { 20206,apply.EXP_DOUBLE_BONUS,3},    --Wilder Wolf
        
[52023] = { 20206,apply.MAX_HP,250},             --Wilder Wolf
        
[52024] = { 20206,apply.DEF_GRADE_BONUS,50},    --Wilder Wolf
        
[52025] = { 20206,apply.ATT_GRADE_BONUS,30},     --Wilder Wolf
        
[52026] = { 20210,apply.ATTBONUS_MONSTER,5},     --Tapferer Wolf
        
[52027] = { 20210,apply.EXP_DOUBLE_BONUS,5},     --Tapferer Wolf
        
[52028] = { 20210,apply.MAX_HP,500},             --Tapferer Wolf
        
[52029] = { 20210,apply.DEF_GRADE_BONUS,150},    --Tapferer Wolf
        
[52030] = { 20210,apply.ATT_GRADE_BONUS,100},     --Tapferer Wolf        
        
        
[52031] = { 20204,'NO_SKILL',0},                 --Junger Löwe
        
[52032] = { 20204,'NO_SKILL',0},                 --Junger Löwe
        
[52033] = { 20204,'NO_SKILL',0},                 --Junger Löwe
        
[52034] = { 20204,'NO_SKILL',0},                 --Junger Löwe
        
[52035] = { 20204,'NO_SKILL',0},                 --Junger Löwe
        
[52036] = { 20208,apply.ATTBONUS_MONSTER,3},     --Wilder Löwe
        
[52037] = { 20208,apply.EXP_DOUBLE_BONUS,3},    --Wilder Löwe
        
[52038] = { 20208,apply.MAX_HP,250},             --Wilder Löwe
        
[52039] = { 20208,apply.DEF_GRADE_BONUS,50},    --Wilder Löwe
        
[52040] = { 20208,apply.ATT_GRADE_BONUS,30},     --Wilder Löwe
        
[52041] = { 20212,apply.ATTBONUS_MONSTER,5},     --Tapferer Löwe
        
[52042] = { 20212,apply.EXP_DOUBLE_BONUS,5},     --Tapferer Löwe
        
[52043] = { 20212,apply.MAX_HP,500},             --Tapferer Löwe
        
[52044] = { 20212,apply.DEF_GRADE_BONUS,150},    --Tapferer Löwe
        
[52045] = { 20212,apply.ATT_GRADE_BONUS,100},     --Tapferer Löwe
        
        
[52046] = { 20203,'NO_SKILL',0},                 --Junger Tiger
        
[52047] = { 20203,'NO_SKILL',0},                 --Junger Tiger
        
[52048] = { 20203,'NO_SKILL',0},                 --Junger Tiger
        
[52049] = { 20203,'NO_SKILL',0},                 --Junger Tiger
        
[52050] = { 20203,'NO_SKILL',0},                 --Junger Tiger
        
[52051] = { 20207,apply.ATTBONUS_MONSTER,3},     --Wilder Tiger
        
[52052] = { 20207,apply.EXP_DOUBLE_BONUS,3},    --Wilder Tiger
        
[52053] = { 20207,apply.MAX_HP,250},             --Wilder Tiger
        
[52054] = { 20207,apply.DEF_GRADE_BONUS,50},    --Wilder Tiger
        
[52055] = { 20207,apply.ATT_GRADE_BONUS,30},     --Wilder Tiger
        
[52056] = { 20211,apply.ATTBONUS_MONSTER,5},     --Tapferer Tiger
        
[52057] = { 20211,apply.EXP_DOUBLE_BONUS,5},     --Tapferer Tiger
        
[52058] = { 20211,apply.MAX_HP,500},             --Tapferer Tiger
        
[52059] = { 20211,apply.DEF_GRADE_BONUS,150},    --Tapferer Tiger
        
[52060] = { 20211,apply.ATT_GRADE_BONUS,100},     --Tapferer Tiger
        
        
[52061] = { 20213,'NO_SKILL',0},                 --Junger Rentier-Siegel (m)
        [
52062] = { 20213,'NO_SKILL',0},                 --Junger Rentier-Siegel (m)
        [
52063] = { 20213,'NO_SKILL',0},                 --Junger Rentier-Siegel (m)
        [
52064] = { 20213,'NO_SKILL',0},                 --Junger Rentier-Siegel (m)
        [
52065] = { 20213,'NO_SKILL',0},                 --Junger Rentier-Siegel (m)
        [
52066] = { 20214,apply.ATTBONUS_MONSTER,3},     --Wilder Rentier-Siegel (m)
        [
52067] = { 20214,apply.EXP_DOUBLE_BONUS,3},    --Wilder Rentier-Siegel (m)
        [
52068] = { 20214,apply.MAX_HP,250},             --Wilder Rentier-Siegel (m)
        [
52069] = { 20214,apply.DEF_GRADE_BONUS,50},    --Wilder Rentier-Siegel (m)
        [
52070] = { 20214,apply.ATT_GRADE_BONUS,30},     --Wilder Rentier-Siegel (m)
        [
52071] = { 20215,apply.ATTBONUS_MONSTER,5},     --Tapferer Rentier-Siegel (m)
        [
52072] = { 20215,apply.EXP_DOUBLE_BONUS,5},     --Tapferer Rentier-Siegel (m)
        [
52073] = { 20215,apply.MAX_HP,500},             --Tapferer Rentier-Siegel (m)
        [
52074] = { 20215,apply.DEF_GRADE_BONUS,150},    --Tapferer Rentier-Siegel (m)
        [
52075] = { 20215,apply.ATT_GRADE_BONUS,100},     --Tapferer Rentier-Siegel (m)
        
        [
52076] = { 20216,'NO_SKILL',0},                 --Junger Rentier-Siegel (w)
        [
52077] = { 20216,'NO_SKILL',0},                 --Junger Rentier-Siegel (w)
        [
52078] = { 20216,'NO_SKILL',0},                 --Junger Rentier-Siegel (w)
        [
52079] = { 20216,'NO_SKILL',0},                 --Junger Rentier-Siegel (w)
        [
52080] = { 20216,'NO_SKILL',0},                 --Junger Rentier-Siegel (w)
        [
52081] = { 20217,apply.ATTBONUS_MONSTER,3},     --Wilder Rentier-Siegel (w)
        [
52082] = { 20217,apply.EXP_DOUBLE_BONUS,3},    --Wilder Rentier-Siegel (w)
        [
52083] = { 20217,apply.MAX_HP,250},             --Wilder Rentier-Siegel (w)
        [
52084] = { 20217,apply.DEF_GRADE_BONUS,50},    --Wilder Rentier-Siegel (w)
        [
52085] = { 20217,apply.ATT_GRADE_BONUS,30},     --Wilder Rentier-Siegel (w)
        [
52086] = { 20218,apply.ATTBONUS_MONSTER,5},     --Tapferer Rentier-Siegel (w)
        [
52087] = { 20218,apply.EXP_DOUBLE_BONUS,5},     --Tapferer Rentier-Siegel (w)
        [
52088] = { 20218,apply.MAX_HP,500},             --Tapferer Rentier-Siegel (w)
        [
52089] = { 20218,apply.DEF_GRADE_BONUS,150},    --Tapferer Rentier-Siegel (w)
        [
52090] = { 20218,apply.ATT_GRADE_BONUS,100}     --Tapferer Rentier-Siegel (w)
        --
20201    boar_0 --junger
        
--20202    dog_god_0 --junger
        
--20203    fire_tiger_0 --junger
        
--20204    lion_0 --junger

        
--20205    boar_2 --Wilder
        
--20206    dog_god_2 --Wilder
        
--20207    fire_tiger_2 --Wilder
        
--20208    lion_2 --Wilder

        
--20209    boar_3 --Tapfer
        
--20210    dog_god_3 --Tapfer
        
--20211    fire_tiger_3 --Tapfer
        
--20212    lion_3 --Tapfer --Tapfer

        
--20213    reindeer_male1  --junger
        
--20214    reindeer_male2 --Wilder
        
--20215    reindeer_male3

        
--20216    reindeer_female1  --junger
        
--20217    reindeer_female2 --Wilder
        
--20218    reindeer_female3 --Tapfer
        
}
        
local ride_npc mounts_bonus[a][1]
        
local ride_time 60*60*--item.get_socket(2)*60
        local ride_skill 
mounts_bonus[a][2]
        
local ride_value mounts_bonus[a][3]
        
pc.mount(ride_npc,ride_time)
    if 
vnum >= 52001 and vnum <= 52005
        
or vnum >= 52016 and vnum <= 52020
        
or vnum >= 52031 and vnum <= 52035
        
or vnum >= 52046 and vnum <= 52050
        
or vnum >= 52061 and vnum <= 52065
        
or vnum >= 52076 and vnum <= 52080    then --Junge Mounts (30Bewegungspeed)
        
pc.mount_bonus(apply.MOV_SPEED30ride_time )
        return 
true
    
elseif vnum >= 52006 and vnum <= 52010
        
or vnum >= 52021 and vnum <= 52025
        
or vnum >= 52036 and vnum <= 52040
        
or vnum >= 52051 and vnum <= 52055
        
or vnum >= 52066 and vnum <= 52070
        
or vnum >= 52081 and vnum <= 52085    then --Wilde Mounts (40Bewegungspeed)
        
pc.mount_bonus(apply.MOV_SPEED40ride_time )
        
pc.mount_bonus(ride_skillride_valueride_time)
        return 
true
    
elseif vnum >= 52011 and vnum <= 52015
        
or vnum >= 52026 and vnum <= 52030
        
or vnum >= 52041 and vnum <= 52045
        
or vnum >= 52056 and vnum <= 52060
        
or vnum
        
>= 52071 and vnum <= 52075
        
or vnum >= 52086 and vnum <= 52090    then --Tapferere Mounts (50Bewegungspeed)
        
pc.mount_bonus(apply.MOV_SPEED50ride_time)
        
pc.mount_bonus(ride_skillride_valueride_time )
        return 
true
    
else
        
syschat("Power Mount: FEHLERCODE #00123#")
        return 
false
    end
    end
    
end
end 
ich kanns mir auch nicht ganz erklären da in Zeile 396-399
PHP Code:
elseif pc.is_mount() then
        pc
.unmount()
        return
    
end 
eingetragen ist.

Danke für die Hilfe im Voraus

kind regards
G.I Duke is offline  
Old 08/20/2019, 09:50   #12620
 
elite*gold: 0
Join Date: Apr 2010
Posts: 16
Received Thanks: 0
SD3 Bossquest

Moin, kann jemand helfen?

Fehlermeldung:
PHP Code:
Runs/sd3boss.quest:184:syntax error : [string "startpc . in_dungeon ( )"]:1: `then' expected near `begin'
Error occured on compile Runs/sd3boss.quest 
Quest:
PHP Code:
quest sd3boss begin
    state start begin

    
function setting()
        return

        {

        [
"object"] = 30324,
        [
"droped_object"] = 30327,
        [
"sp"] = { ["MinLv"] = 49, ["MaxLv"] = 75},
        [
"map"] = { ["index_map"] = 217, ["coordx"] = 880, ["coordy"] = 6143},
        [
"monster"] = { ["vnum"] = 2094, ["coordx"] = 368, ["coordy"] = 562}

        }
    
end    

---***npc

        when 20404.chat
."Die Bruthöhle betreten!" begin

            
if not party.is_party then
                say
("Du brauchst eine Gruppe für die Bruthöhle!")
                return
            
end

---***party check :3

            local pids 
= {party.get_member_pids()}
                
local notEnoughLevelMembers = {}
                
local noTicketMembers = {}
                
local notEnoughtTime = {}
                
local levelCheck true
                local ticketCheck 
true
                    
for ipid in nextpidsnil do

                    
q.begin_other_pc_block(pid)
                    
local canPass false

                        
if pc.count_item(spider_dungeon3.setting().object) >= 1 then
                            canPass 
true
                        end
                        
                        
if not canPass then
                            table
.insert(noTicketMemberspc.get_name())
                            
ticketCheck false
                        end    

                        
if pc.get_level() < spider_dungeon3.setting().sp.MinLv or pc.get_level() > spider_dungeon3.setting().sp.MaxLv then
                            table
.insert(notEnoughLevelMemberspc.get_name())
                            
levelCheck false
                        end    


                    q
.end_other_pc_block(pid)

                    
end

                    
if not ticketCheck then
                        say
("Folgende Gruppenmitglieder haben keinen Arachnidenschlüssel:")
                        for 
iname in nextnoTicketMembersnil do
                            
say("    "..name)
                        
end    
                        
return
                    
end                    

                    
if not levelCheck then
                        say_title
(mob_name(20404))
                        
say()
                        
say("Folgende Gruppenmitglieder sind nicht Lv 50 - 74:")
                        for 
iname in nextnotEnoughLevelMembersnil do
                            
say("    "..name)
                        
end

                        
return
                    
end    

                    
if party.is_leader() then                            
                        say_title
("Guardian Spider dungeon")
                        
say("")
                        
say("Du willst die Spinnenbaroness töten?")

                        
local s select("Ja ich will!""Nein doch nicht...")

                        if 
== 1 then
                            timer
("spider_one"4)
                            
notice_all("Die Gruppe von "..pc.get_name().." versucht die Spinnenbaroness zu töten!")
                        else
                            return
                        
end
                    end
        end


---*** login for remove object

        when login with pc
.in_dungeon() begin
            
if d.getf("spider_dungeon") == and pc.getqf("object") == 0 begin
                pc
.remove_item(spider_dungeon3.setting().object 1)
                
pc.setqf("object"1)
            
end
        end

---****logout 

        when logout with d
.getf("spider_dungeon") == 1 begin
            pc
.setqf("object"0)
        
end

---***timer dungeon

        when spider_one
.timer begin
            d
.new_jump_party(spider_dungeon3.setting().map.index_mapspider_dungeon3.setting().map.coordxspider_dungeon3.setting().map.coordy)
            
d.setf("spider_dungeon"1)
            
d.spawn_mob(spider_dungeon3.setting().monster.vnumspider_dungeon3.setting().monster.coordxspider_dungeon3.setting().monster.coordy)
            
d.regen_file("data/dungeon/spider_dungeon3/spiders.txt")

        
end


---***kill first monster

        when 2094.kill with d
.getf("spider_dungeon") == and pc.in_dungeon() begin

            pc
.give_item2(spider_dungeon3.setting().droped_object ,1)
            
d.notice("Du hast die Arachnidenflöte in dein Inventar gelegt! Spiele sie um die Eier zu spawnen!")
        
end

----****use object droped by the monster

        when 30327.
use with d.getf("spider_dungeon") == and pc.in_dungeon() begin

            d
.setf("little_spiders"6)

            
local t = {

            {
393571},
            {
391591},
            {
378593},
            {
354583},
            {
351559},
            {
370548},

            }

            for 
1,do
                
d.spawn_mob(2095t[i][1], t[i][2])
            
end

        end

---***kill little spiders

        when 2095.kill with d
.getf("spider_dungeon") == and pc.in_dungeon() begin

            d
.setf("little_spiders"d.getf("little_spiders")-1)

            if 
d.getf("little_spiders") == 0 then

                d
.notice("Du hast alle Eier zerstört! Nun erscheint die Spinnenbaroness!")

                
vid d.spawn_mob(2092370587)

                
d.set_unique("boss"vid)    
            else
                
d.notice("Ein Spinnen-Ei wurde zerstört! Die Spinnenbaroness ist wütend!")
            
end

            
---d.unique_set_def_grade("boss", -50)
        
end

---***boss queen

        when 2092.kill with d
.getf("spider_dungeon") == and pc.in_dungeon() begin
            d
.notice("Gute Arbeit, die Spinne wurde besiegt!")
            
notice_all("Die Gruppe von "..pc.get_name().." hat die Spinnenbaroness getötet! ")
            
d.notice("Ihr habt anschließend 45 Sekunden um die Drops aufzuheben!")
            
timer("bye_spiders"45)
        
end

        when bye_spiders
.timer begin
            d
.exit_all()
        
end
    end
end 
Danke!
Bossunso is offline  
Old 08/21/2019, 00:00   #12621

 
Dome_X's Avatar
 
elite*gold: 70
Join Date: Oct 2015
Posts: 102
Received Thanks: 121
Quote:
Originally Posted by Bossunso View Post
Moin, kann jemand helfen?

Fehlermeldung:
PHP Code:
Runs/sd3boss.quest:184:syntax error : [string "startpc . in_dungeon ( )"]:1: `then' expected near `begin'
Error occured on compile Runs/sd3boss.quest 
Quest:
PHP Code:
quest sd3boss begin
    state start begin

    
function setting()
        return

        {

        [
"object"] = 30324,
        [
"droped_object"] = 30327,
        [
"sp"] = { ["MinLv"] = 49, ["MaxLv"] = 75},
        [
"map"] = { ["index_map"] = 217, ["coordx"] = 880, ["coordy"] = 6143},
        [
"monster"] = { ["vnum"] = 2094, ["coordx"] = 368, ["coordy"] = 562}

        }
    
end    

---***npc

        when 20404.chat
."Die Bruthöhle betreten!" begin

            
if not party.is_party then
                say
("Du brauchst eine Gruppe für die Bruthöhle!")
                return
            
end

---***party check :3

            local pids 
= {party.get_member_pids()}
                
local notEnoughLevelMembers = {}
                
local noTicketMembers = {}
                
local notEnoughtTime = {}
                
local levelCheck true
                local ticketCheck 
true
                    
for ipid in nextpidsnil do

                    
q.begin_other_pc_block(pid)
                    
local canPass false

                        
if pc.count_item(spider_dungeon3.setting().object) >= 1 then
                            canPass 
true
                        end
                        
                        
if not canPass then
                            table
.insert(noTicketMemberspc.get_name())
                            
ticketCheck false
                        end    

                        
if pc.get_level() < spider_dungeon3.setting().sp.MinLv or pc.get_level() > spider_dungeon3.setting().sp.MaxLv then
                            table
.insert(notEnoughLevelMemberspc.get_name())
                            
levelCheck false
                        end    


                    q
.end_other_pc_block(pid)

                    
end

                    
if not ticketCheck then
                        say
("Folgende Gruppenmitglieder haben keinen Arachnidenschlüssel:")
                        for 
iname in nextnoTicketMembersnil do
                            
say("    "..name)
                        
end    
                        
return
                    
end                    

                    
if not levelCheck then
                        say_title
(mob_name(20404))
                        
say()
                        
say("Folgende Gruppenmitglieder sind nicht Lv 50 - 74:")
                        for 
iname in nextnotEnoughLevelMembersnil do
                            
say("    "..name)
                        
end

                        
return
                    
end    

                    
if party.is_leader() then                            
                        say_title
("Guardian Spider dungeon")
                        
say("")
                        
say("Du willst die Spinnenbaroness töten?")

                        
local s select("Ja ich will!""Nein doch nicht...")

                        if 
== 1 then
                            timer
("spider_one"4)
                            
notice_all("Die Gruppe von "..pc.get_name().." versucht die Spinnenbaroness zu töten!")
                        else
                            return
                        
end
                    end
        end


---*** login for remove object

        when login with pc
.in_dungeon() begin
            
if d.getf("spider_dungeon") == and pc.getqf("object") == 0 begin
                pc
.remove_item(spider_dungeon3.setting().object 1)
                
pc.setqf("object"1)
            
end
        end

---****logout 

        when logout with d
.getf("spider_dungeon") == 1 begin
            pc
.setqf("object"0)
        
end

---***timer dungeon

        when spider_one
.timer begin
            d
.new_jump_party(spider_dungeon3.setting().map.index_mapspider_dungeon3.setting().map.coordxspider_dungeon3.setting().map.coordy)
            
d.setf("spider_dungeon"1)
            
d.spawn_mob(spider_dungeon3.setting().monster.vnumspider_dungeon3.setting().monster.coordxspider_dungeon3.setting().monster.coordy)
            
d.regen_file("data/dungeon/spider_dungeon3/spiders.txt")

        
end


---***kill first monster

        when 2094.kill with d
.getf("spider_dungeon") == and pc.in_dungeon() begin

            pc
.give_item2(spider_dungeon3.setting().droped_object ,1)
            
d.notice("Du hast die Arachnidenflöte in dein Inventar gelegt! Spiele sie um die Eier zu spawnen!")
        
end

----****use object droped by the monster

        when 30327.
use with d.getf("spider_dungeon") == and pc.in_dungeon() begin

            d
.setf("little_spiders"6)

            
local t = {

            {
393571},
            {
391591},
            {
378593},
            {
354583},
            {
351559},
            {
370548},

            }

            for 
1,do
                
d.spawn_mob(2095t[i][1], t[i][2])
            
end

        end

---***kill little spiders

        when 2095.kill with d
.getf("spider_dungeon") == and pc.in_dungeon() begin

            d
.setf("little_spiders"d.getf("little_spiders")-1)

            if 
d.getf("little_spiders") == 0 then

                d
.notice("Du hast alle Eier zerstört! Nun erscheint die Spinnenbaroness!")

                
vid d.spawn_mob(2092370587)

                
d.set_unique("boss"vid)    
            else
                
d.notice("Ein Spinnen-Ei wurde zerstört! Die Spinnenbaroness ist wütend!")
            
end

            
---d.unique_set_def_grade("boss", -50)
        
end

---***boss queen

        when 2092.kill with d
.getf("spider_dungeon") == and pc.in_dungeon() begin
            d
.notice("Gute Arbeit, die Spinne wurde besiegt!")
            
notice_all("Die Gruppe von "..pc.get_name().." hat die Spinnenbaroness getötet! ")
            
d.notice("Ihr habt anschließend 45 Sekunden um die Drops aufzuheben!")
            
timer("bye_spiders"45)
        
end

        when bye_spiders
.timer begin
            d
.exit_all()
        
end
    end
end 
Danke!
ein "when" beendet man in der zeile immer mit einem "begin".
Ein "if" beendet man in der zeile immer mit einem "then".


Code:
 when login with pc.in_dungeon() begin
            if d.getf("spider_dungeon") == 1 and pc.getqf("object") == 0 begin
                pc.remove_item(spider_dungeon3.setting().object , 1)
                pc.setqf("object", 1)
            end
        end
MfG
Dome_X is offline  
Thanks
1 User
Old 09/07/2019, 16:23   #12622
 
elite*gold: 0
Join Date: Dec 2011
Posts: 37
Received Thanks: 2
Exclamation [Quest] Nochmal eine Quest frage nach Tot in stadt porten

Guten Tag,

Bin gerade am Quest schreiben und stehe vor dem Problem ich möchte, dass wenn sich ein Spieler Ausloggt oder gestorben ist in sein Dorf zurück teleportiert wird.

LG

Quote:
quest pvp begin
state start begin
when login or levelup with pc.get_level() > 14 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Battle Royal")
end
when button or info begin
say_title("Guten Tag tapferer Krieger du hast nun lvl 15 erreicht und bist bereit um zu kämpfen.")
say("Viel spass beim duelieren.")
end
when kill begin
if npc.is_pc() then
if pc.get_map_index() == 121 then
pc.give_exp2(50000)
say("Du hast 50.000 Erfahrung erhalten.")
game.set_event_flag("mapi", game.get_event_flag("mapi")+1)
if game.get_event_flag("mapi")== 4 then
notice_all("".. pc.get_name() .." hat gerade das")
notice_all("Tunier gewonnen!")
warp_all_to_village( pc.get_map_index() , 1 )

end

end
end
end
end
end
losser123456789 is offline  
Old 02/07/2020, 08:42   #12623
 
elite*gold: 0
Join Date: Feb 2020
Posts: 31
Received Thanks: 55
Quote:
Originally Posted by losser123456789 View Post
Exclamation [Quest] Nochmal eine Quest frage nach Tot in stadt porten

Guten Tag,

Bin gerade am Quest schreiben und stehe vor dem Problem ich möchte, dass wenn sich ein Spieler Ausloggt oder gestorben ist in sein Dorf zurück teleportiert wird.

LG
Dafür benötigst du einen passenden Event Trigger, der dann quasi ausgelöst wird wenn diese Aktionen ausgeführt werden.
Falls du diesen besitzen solltest, kann man das ganz einfach umsetzen.
Meld dich dann bei mir & ich helfe dir gerne dabei.
.Try is offline  
Old 02/15/2020, 06:46   #12624
 
elite*gold: 0
Join Date: Feb 2020
Posts: 1
Received Thanks: 0
This code is my quest:


This error on Syserr:

Thanks for all
NeXuS0248 is offline  
Old 02/21/2020, 13:20   #12625




 
Natsu Dragneel's Avatar
 
elite*gold: 581
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,620
Received Thanks: 2,275
Quote:
Originally Posted by NeXuS0248 View Post
This code is my quest:


This error on Syserr:

Thanks for all
Hey, is it possible that you use old-serverfiles?

maybe try this quest:
Code:
quest antiexpring begin
state start begin
when 72501.use with pc.getqf("antiexp") == 0 begin
local anti = pc.get_exp()
pc.setqf("exp", anti)
pc.setqf("antiexp", 1)
timer("antiexptimer", 1)
chat("Der Anti Expring wurde aktiviert! Du erhältst in diesem Zeitraum keine EXP!")
end
when 72501.use with pc.getqf("antiexp") == 1 begin
pc.setqf("antiexp", 0)
chat("Der Anti Expring wurde deaktiviert! Du erhältst nun wieder EXP!")
end
when kill with pc.getqf("antiexp") == 1 begin
local exp = pc.get_exp()
pc.give_exp2(-exp+pc.getqf("exp"))
end
when antiexptimer.timer with pc.getqf("antiexp") == 1 begin
local exp = pc.get_exp()
pc.give_exp2(-exp+pc.getqf("exp"))
end
end
end
Natsu Dragneel is offline  
Old 04/07/2020, 23:33   #12626
 
.Oskar's Avatar
 
elite*gold: 0
Join Date: Mar 2016
Posts: 43
Received Thanks: 15
Hallo.
Ich kann keine Gilde gründen , weil dort steht ich bin nicht Level 145.
Ich habe die Quets kontrolliert und sie passen zu 1000% auch andere benutzt, in welcher Datei finde ich es oder kann es ändern? Ich weiß es leider nicht mehr , thanks


<Gilde> Du bist nicht Level ...
Und kann deswegen keine Gilde gründen.


die Quest:

quest guild_manage begin
state start begin
when 11000.chat."Gilde verlassen" or 11002.chat."Gilde verlassen" or 11004.chat."Gilde verlassen" with pc.hasguild() and not pc.isguildmaster() and npc.get_empire() == pc.get_empire() begin
say_title("Wächter des Dorfplatzes")
say("Möchtest du deine Gilde wirklich")
say("verlassen? Ich denke deine Member")
say("werden enttäuscht von dir sein..")
local s = select("Ja", "Nein")
if s==1 then
say_title("Wächter des Dorfplatzes")
say("Du bist nun wieder Gildenlos!")
pc.remove_from_guild()
end
end
when 11000.chat."Gilde auflösen" or 11002.chat."Gilde auflösen" or 11004.chat."Gilde auflösen" with pc.hasguild() and pc.isguildmaster() and npc.get_empire() == pc.get_empire() begin
say_title("Wächter des Dorfplatzes")
say("Möchtest du deine Gilde wirklich")
say("auflösen? Ich denke deine Member")
say("werden enttäuscht von dir sein..")
local s = select("Ja", "Nein")
if s==1 then
say_title("Wächter des Dorfplatzes")
say("Deine Gilde ist nun aufgelöst!")
pc.destroy_guild()
end
end

when 11000.chat."Gilde gründen" or 11002.chat."Gilde gründen" or 11004.chat."Gilde gründen" with not pc.hasguild() and not pc.isguildmaster() and npc.get_empire() == pc.get_empire() begin
say_title("Wächter des Dorfplatzes")
say("Möchtest du eine Gilde gründen?")
local s = select("Ja", "Nein")
if s == 2 then
return
end

if s == 1 then
game.request_make_guild()
end
end
end
end
.Oskar is offline  
Old 04/08/2020, 10:19   #12627
 
.Karuzo's Avatar
 
elite*gold: 19
Join Date: Aug 2011
Posts: 588
Received Thanks: 217
Quote:
Originally Posted by levita2 View Post
Nächstes problem xD, bei meiner quest (Regenbogenstein) benötigt man 20k rang-punkte, dass mit dem abziehen habe ich schon hin bekommen, aber mann kann das trotzdem nutzen obwohl man -20k rang-punkte hat, ich hätte es gerne so das man wieder auf neutrale rang-punkte kommen muss das man es erst wieder nutzen kann.
DIE QUEST
@

____________________________________

@

Liegt nicht an der Quest sondern Source funktion.
Suche in deinem Server src nach "request_make_guild".

Dort solltest du die Level Voraussetzung für eine Gilde anpassen können.

_____________________________________
@

Hier passende Funktion:



.Karuzo is offline  
Thanks
1 User
Old 04/08/2020, 16:31   #12628
 
.Oskar's Avatar
 
elite*gold: 0
Join Date: Mar 2016
Posts: 43
Received Thanks: 15
Quote:
Originally Posted by .Karuzo View Post
@

____________________________________

@

Liegt nicht an der Quest sondern Source funktion.
Suche in deinem Server src nach "request_make_guild".

Dort solltest du die Level Voraussetzung für eine Gilde anpassen können.

_____________________________________
@

Hier passende Funktion:






Könntest du Discord mal vorbei kommen?


Wäre mies korrekt
.Oskar is offline  
Old 04/13/2020, 21:05   #12629
 
elite*gold: 0
Join Date: Jul 2016
Posts: 1
Received Thanks: 0
Select führt keinen neuen Dialog aus

Guten Tag bin neu im Questen und habe einen fehler in meinem Beispiel, könnte mir jemand sagen, wieso nach Buttonklick kein weiterer Dialog kommt und das bild sich "aufhängt". Danke im vorraus

PHP Code:
quest xxx begin
    state start begin
        when login with pc
.getqf("firstlogin") == 0 begin
            notice_all
("Wir begrüßen "..pc.get_name().." auf xx")
            
say_red("xxx, "..pc.get_name().." .")
            
say_white("xx")
        
say_white("xxx")
            
say_white("xxx")
          
local auswahl=select("Weiter reden","Schließen")
                if 
auswahl==1 then
                       say
("xxx")
                elseif 
auswahl==2 then
                    say
("xxx")
                return
            
end
        end
    end
end 
FrenchToast99 is offline  
Old 04/15/2020, 12:35   #12630

 
G.I Duke's Avatar
 
elite*gold: 313
Join Date: Apr 2013
Posts: 585
Received Thanks: 122
Quote:
Originally Posted by FrenchToast99 View Post
Guten Tag bin neu im Questen und habe einen fehler in meinem Beispiel, könnte mir jemand sagen, wieso nach Buttonklick kein weiterer Dialog kommt und das bild sich "aufhängt". Danke im vorraus

PHP Code:
quest xxx begin
    state start begin
        when login with pc
.getqf("firstlogin") == 0 begin
            notice_all
("Wir begrüßen "..pc.get_name().." auf xx")
            
say_red("xxx, "..pc.get_name().." .")
            
say_white("xx")
        
say_white("xxx")
            
say_white("xxx")
          
local auswahl=select("Weiter reden","Schließen")
                if 
auswahl==1 then
                       say
("xxx")
                elseif 
auswahl==2 then
                    say
("xxx")
                return
            
end
        end
    end
end 
PHP Code:
quest xxx begin
    state start begin
        when login with pc
.getqf("firstlogin") == 0 begin
            notice_all
("Wir begrüßen "..pc.get_name().." auf xx")
            
say_red("xxx, "..pc.get_name().." .")
            
say_white("xx")
            
say_white("xxx")
            
say_white("xxx")
            
local auswahl select("Weiter reden","Schließen")
            if 
== auswahl then
                say
("xxx")
            elseif 
== auswahl then
                say
("xxx")
            
end
        end
    end
end 
Das Return brauchst du dort nicht, was genau meinst du mit weiterem Dialog? Das er xxx sagen soll?
Vergiss nicht nach Abschluss die questflag auf 1 zu setzen [ pc.setqf("firstlogin", 1) ] sonst wiederholt sich die Quest
G.I Duke is offline  
Reply




All times are GMT +2. The time now is 01:05.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.