|
You last visited: Today at 02:39
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
11/18/2012, 13:09
|
#7141
|
elite*gold: 0
Join Date: Apr 2011
Posts: 800
Received Thanks: 188
|
wo ist der fehler? kommt keine fehlermeldung aber wnen man anklickt wird man nicht geportet...
PHP Code:
quest grotte_warp begin state start begin when letter with pc.get_level() > 74 begin send_letter("Grotte") end when info or button begin local gr,gr1,gr2 = nil,nil,nil if pc.get_level() < 75 then gr = "Nicht verfügbar" gr1 = "Nicht verfügbar" gr2 = "Nicht verfügbar" elseif pc.get_level() > 74 and pc.get_level() < 90 then gr = "Grotte1" gr1 = "Nicht verfügbar" gr2 = "Nicht verfügbar" elseif pc.get_level() > 89 and pc.get_level() < 100 then gr = "Grotte1" gr1 = "Grotte2" gr2 = "Nicht verfügbar" elseif pc.get_level() > 99 then gr = "Grotte1" gr1 = "Grotte2" gr2 = "Bossraum" end say_title("Grotte.") say() say("In welche Grotte möchtest du?") local s = select(gr,gr1,gr2,"Schließen") if s == 1 and pc.get_level() > 74 then pc.warp(100, 12078) elseif s == 2 and pc.get_level() > 89 then pc.warp(2417, 12749) elseif s == 3 and pc.get_level() > 99 then pc.warp(1717, 12204) end end end end
|
|
|
11/18/2012, 15:48
|
#7142
|
elite*gold: 0
Join Date: Nov 2012
Posts: 15
Received Thanks: 1
|
Wir haben eine Quest für die Drops aus Metins verwendet. Es droppen alle metins was außer der 90er. Wo ist der Fehler?
PHP Code:
quest drops begin
state start begin
function ab()
local ju = {
--mob-id--min-level--max-level---item-anzahl---prozent---item-ids----prozentuale----veränderung pro level
--FarmMap1
{8011, 1, 210, 3, 33,33,33, 27992, 27993, 27994, 0},
{8011, 1, 210, 1, 10, 99002, 0},
{8012, 1, 210, 3, 33,33,33, 27992, 27993, 27994, 0},
{8012, 1, 210, 1, 10, 99002, 0},
{8013, 1, 210, 3, 33,33,33, 27992, 27993, 27994, 0},
{8013, 1, 210, 1, 10, 99002, 0},
{8014, 1, 210, 3, 33,33,33, 27992, 27993, 27994, 0},
{8014, 1, 210, 1, 10, 99002, 0},
{8024, 1, 210, 3, 33,33,33, 27992, 27993, 27994, 0},
{8024, 1, 210, 1, 10, 99002, 0},
{8025, 1, 210, 3, 33,33,33, 27992, 27993, 27994, 0},
{8025, 1, 210, 1, 10, 99002, 0},
{8026, 1, 210, 3, 33,33,33, 27992, 27993, 27994, 0},
{8026, 1, 210, 1, 10, 99002, 0},
{8027, 1, 210, 3, 33,33,33, 27992, 27993, 27994, 0},
{8027, 1, 210, 1, 100, 99002, 0},
}
return ju
end
when kill with not npc.is_pc() begin
local boni,lck,per,luck,bsp = 0,0,0,0,drops.ab()
for i = 1, table.getn(bsp)+1, 1 do
if npc.get_race() == bsp[i][1] then
if pc.get_level() >= bsp[i][2] and pc.get_level() <= bsp[i][3] then
boni = (bsp[i][2] - pc.get_level()) * (-1)
boni = boni * bsp[i][bsp[i][4]*2+5]
luck = number(1,bsp[i][4])
luck = luck + 4 + bsp[i][4]
lck = luck - bsp[i][4]
per = 100 - bsp[i][lck] + boni
lck = number(1,100)
if lck > per then
game.drop_item_with_ownership(bsp[i][luck], 1)
end
end
end
end
end
end
end
|
|
|
11/18/2012, 17:17
|
#7143
|
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
|
Quote:
Originally Posted by Tentos123
wo ist der fehler? kommt keine fehlermeldung aber wnen man anklickt wird man nicht geportet...
PHP Code:
quest grotte_warp begin
state start begin
when letter with pc.get_level() > 74 begin
send_letter("Grotte")
end
when info or button begin
local gr,gr1,gr2 = nil,nil,nil
if pc.get_level() < 75 then
gr = "Nicht verfügbar"
gr1 = "Nicht verfügbar"
gr2 = "Nicht verfügbar"
elseif pc.get_level() > 74 and pc.get_level() < 90 then
gr = "Grotte1"
gr1 = "Nicht verfügbar"
gr2 = "Nicht verfügbar"
elseif pc.get_level() > 89 and pc.get_level() < 100 then
gr = "Grotte1"
gr1 = "Grotte2"
gr2 = "Nicht verfügbar"
elseif pc.get_level() > 99 then
gr = "Grotte1"
gr1 = "Grotte2"
gr2 = "Bossraum"
end
say_title("Grotte.")
say()
say("In welche Grotte möchtest du?")
local s = select(gr,gr1,gr2,"Schließen")
if s == 1 and pc.get_level() > 74 then
pc.warp(100, 12078)
elseif s == 2 and pc.get_level() > 89 then
pc.warp(2417, 12749)
elseif s == 3 and pc.get_level() > 99 then
pc.warp(1717, 12204)
end
end
end
end
|
Machs einfach per NPC, bei mir ging es per NPC 100%.
|
|
|
11/19/2012, 06:18
|
#7144
|
elite*gold: 0
Join Date: Nov 2012
Posts: 35
Received Thanks: 4
|

Quest give_basic_weapon.quest
personalizada
Code:
quest give_basic_weapon begin
state start begin
when login begin
if pc.getqf("basic_weapon") == 0 then
pc.setqf("basic_weapon", 1)
if pc.job == 0 then
pc.give_item2(27002,200 )
pc.give_item2(27002,200 )
pc.give_item2(27005,200 )
pc.give_item2(16)
pc.give_item2(11206)
pc.give_item2(12206)
pc.give_item2(13006)
pc.give_item2(14006)
pc.give_item2(15006)
pc.give_item2(16006)
pc.give_item2(17006)
pc.give_item2(72702)
pc.give_item2(71044, 20)
pc.give_item2(71045, 20)
pc.give_item2(70021)
pc.give_item2(10001)
horse . set_level ( 21 )
horse . ride ( )
pc . give_item2 ( 50053 )
pc . set_skill_level ( 131 , 59 )
pc . set_skill_level ( 137 , 59 )
pc . set_skill_level ( 138 , 59 )
pc . set_skill_level ( 139 , 59 )
pc . set_skill_level ( 140 , 59 )
nation = { "Shinsu" , "Chunjo" , "Jinno" }
notice_all ( "O player " .. pc . name .. " do reino " .. nation [ pc . getempire ( ) ] .. " acaba de logar pela primeira vez, seja bem vindo !!!" )
addimage(60, 12, "401.tga")
say ( "" )
say ( "" )
say ( "" )
say ( "" )
say ( "Bem vindo a AddictMt2 - H2O" )
say ( "espero que encontre o que procura aventureiro" )
say ( "vai receber um set especial referente a raça" )
say ( "que você selecionou, logo mais a frente tem" )
say ( "uma vila onde porderá obter informações sobre" )
say ( "o jogo, mais cuidado na vila tambem tem" )
say ( "muitos inimigos, mais á tambem vendedores" )
say ( "que podem ser muito útil nessa sua trajetória" )
say ( "então vá e tenha um bom jogo." )
say ( "" )
elseif pc.job == 1 then
pc.give_item2(27002,200 )
pc.give_item2(27002,200 )
pc.give_item2(27005,200 )
pc.give_item2(1006)
pc.give_item2(11406)
pc.give_item2(12346)
pc.give_item2(13006)
pc.give_item2(14006)
pc.give_item2(15006)
pc.give_item2(16006)
pc.give_item2(17006)
pc.give_item2(72702)
pc.give_item2(71044, 20)
pc.give_item2(71045, 20)
pc.give_item2(70021)
pc.give_item2(10001)
horse . set_level ( 21 )
horse . ride ( )
pc . give_item2 ( 50053 )
pc . set_skill_level ( 131 , 59 )
pc . set_skill_level ( 137 , 59 )
pc . set_skill_level ( 138 , 59 )
pc . set_skill_level ( 139 , 59 )
pc . set_skill_level ( 140 , 59 )
nation = { "Shinsu" , "Chunjo" , "Jinno" }
notice_all ( "O player " .. pc . name .. " do reino " .. nation [ pc . getempire ( ) ] .. " acaba de logar pela primeira vez, seja bem vindo !!!" )
addimage(60, 12, "401.tga")
say ( "" )
say ( "" )
say ( "" )
say ( "" )
say ( "Bem vindo a AddictMt2 - H2O" )
say ( "espero que encontre o que procura aventureiro" )
say ( "vai receber um set especial referente a raça" )
say ( "que você selecionou, logo mais a frente tem" )
say ( "uma vila onde porderá obter informações sobre" )
say ( "o jogo, mais cuidado na vila tambem tem" )
say ( "muitos inimigos, mais á tambem vendedores" )
say ( "que podem ser muito útil nessa sua trajetória" )
say ( "então vá e tenha um bom jogo." )
say ( "" )
elseif pc.job == 2 then
pc.give_item2(27002,200 )
pc.give_item2(27002,200 )
pc.give_item2(27005,200 )
pc.give_item2(16)
pc.give_item2(11606)
pc.give_item2(12486)
pc.give_item2(13006)
pc.give_item2(14006)
pc.give_item2(15006)
pc.give_item2(16006)
pc.give_item2(17006)
pc.give_item2(72702)
pc.give_item2(71044, 20)
pc.give_item2(71045, 20)
pc.give_item2(70021)
pc.give_item2(10001)
horse . set_level ( 21 )
horse . ride ( )
pc . give_item2 ( 50053 )
pc . set_skill_level ( 131 , 59 )
pc . set_skill_level ( 137 , 59 )
pc . set_skill_level ( 138 , 59 )
pc . set_skill_level ( 139 , 59 )
pc . set_skill_level ( 140 , 59 )
nation = { "Shinsu" , "Chunjo" , "Jinno" }
notice_all ( "O player " .. pc . name .. " do reino " .. nation [ pc . getempire ( ) ] .. " acaba de logar pela primeira vez, seja bem vindo !!!" )
addimage(60, 12, "401.tga")
say ( "" )
say ( "" )
say ( "" )
say ( "" )
say ( "Bem vindo a AddictMt2 - H2O" )
say ( "espero que encontre o que procura aventureiro" )
say ( "vai receber um set especial referente a raça" )
say ( "que você selecionou, logo mais a frente tem" )
say ( "uma vila onde porderá obter informações sobre" )
say ( "o jogo, mais cuidado na vila tambem tem" )
say ( "muitos inimigos, mais á tambem vendedores" )
say ( "que podem ser muito útil nessa sua trajetória" )
say ( "então vá e tenha um bom jogo." )
say ( "" )
elseif pc.job == 3 then
pc.give_item2(27002,200 )
pc.give_item2(27002,200 )
pc.give_item2(27005,200 )
pc.give_item2(7006)
pc.give_item2(11806)
pc.give_item2(12626)
pc.give_item2(13006)
pc.give_item2(14006)
pc.give_item2(15006)
pc.give_item2(16006)
pc.give_item2(17006)
pc.give_item2(72702)
pc.give_item2(71044, 20)
pc.give_item2(71045, 20)
pc.give_item2(70021)
pc.give_item2(10001)
horse . set_level ( 21 )
horse . ride ( )
pc . give_item2 ( 50053 )
pc . set_skill_level ( 131 , 59 )
pc . set_skill_level ( 137 , 59 )
pc . set_skill_level ( 138 , 59 )
pc . set_skill_level ( 139 , 59 )
pc . set_skill_level ( 140 , 59 )
nation = { "Shinsu" , "Chunjo" , "Jinno" }
notice_all ( "O player " .. pc . name .. " do reino " .. nation [ pc . getempire ( ) ] .. " acaba de logar pela primeira vez, seja bem vindo !!!" )
addimage(60, 12, "401.tga")
say ( "" )
say ( "" )
say ( "" )
say ( "" )
say ( "Bem vindo a AddictMt2 - H2O" )
say ( "espero que encontre o que procura aventureiro" )
say ( "vai receber um set especial referente a raça" )
say ( "que você selecionou, logo mais a frente tem" )
say ( "uma vila onde porderá obter informações sobre" )
say ( "o jogo, mais cuidado na vila tambem tem" )
say ( "muitos inimigos, mais á tambem vendedores" )
say ( "que podem ser muito útil nessa sua trajetória" )
say ( "então vá e tenha um bom jogo." )
say ( "" )
end
end
end
end
end
Contem um script que anuncia em all ( todos os reinos ) que entro um novo membro e falando o ( reino ).
Script para a img que vou explicar abaixo como inserir.
Os itens que vem no script são editáveis vai do seu servidor que queres que venha os itens no inicio.
Para inserir a imagem na quest tem que fazer da seguinte forma.
Pegar uma imagem no fixeiro do cliente - ymir work\ui\game\questboard
e converte o TGA em PNG e editar no mesmo local e tamanho que já esta a imagem,
logo depois que acabar de editar converte para TGA novamente e inserir na pasta ymir work\ui\game\questboard
ou pode criar uma pasta de sua escolha mais para isso terá que editar o arquivo
uiquest.py vou explicar abaixo.
Abra o arquivo uiquest.py que fica em - Source\root, aconselho com NOTEPAD++
Dentro do arquivo uiquest.py tem a linha QUEST_BOARD_IMAGE_DIR = 'd:/ymir work/ui/game/questboard/'
basta editar o caminho para a pasta que preferir aconselho deixar no original para não te da trabalho.
|
|
|
11/19/2012, 07:57
|
#7145
|
elite*gold: 0
Join Date: Mar 2010
Posts: 255
Received Thanks: 13
|
Hallo com,
kann mir jemand sagen wie ich die Quest ändern muss damit sie funktioniert?
quest new2 begin
state start begin
when letter begin
send_letter("Verschmelzen")
local v = find_npc_by_vnum(20023)
if v != 0 then
target.vid("target4", v, "Soon")
end
end
when button or info begin
say_title("Verschmelzen")
say("Willst du etwas verschmelzen")
say("Ich brauch dazu")
say_item_vnum(15209)
say_item_vnum(15229)
end
when target4.target.click or 20023.chat."Verschmelzen" begin
target.delete("target4")
say_title("Soon")
say("Willst du was verschmelzen?!")
say("Ich hoffe du hast alles dabei.")
say("Überreiche mir nun deine Schuhe")
say_item_vnum(15209)
say_item_vnum(15229)
if pc.count_item("15209")==0 then
if pc.count_item("15229")==0 then
say("DU hast nicht das nötige EQ")
say("Ich kann dein EQ nicht verschmelzen.")
return
end
say("Möchtest du dein EQ verschmelzen?")
local s=select("Ja", "Nein")
if s==2 then
say_title("Soon")
say("Schade, dann geh bitte wieder.")
return
end
if pc.count_item("15209")==0 then
if pc.count_item("15209")==0 then
chat("Du hast nicht das nötige EQ")
return
end
pc.remove_item("15209", 1)
pc.remove_item("15229", 1)
pc.give_item2("15009", 1)
say_title("Soon")
say("Hier ist dein neues Item.")
say("Pass gut drauf auf!")
clear_letter()
end
end
state complete begin
end
end
|
|
|
11/19/2012, 18:48
|
#7146
|
elite*gold: 0
Join Date: Aug 2009
Posts: 220
Received Thanks: 25
|
Ich bräuchte einen Port auf der Selben map (also /go xx xx) für die quest..
mit pc.warp gehts ja ned.. ich möchte halt nur das man von zb. 100 100 zu 400 400 geportet wird.
Kann mir das vll jemand sagen? (:
|
|
|
11/19/2012, 22:16
|
#7147
|
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
|
Quote:
Originally Posted by JeeX
Ich bräuchte einen Port auf der Selben map (also /go xx xx) für die quest..
mit pc.warp gehts ja ned.. ich möchte halt nur das man von zb. 100 100 zu 400 400 geportet wird.
Kann mir das vll jemand sagen? (:
|
PHP Code:
quest warp_local begin state start begin when xxx.chat begin say_reward(mob_name(npc.get_race())..':') say() say('Gib bitte die X und Y Koords ein!') local x = tonumber(input()) local y = tonumber(input()) if select('Warpen','Abbrechen') == 2 then return end pc.warp_local(x,y) end end end
Quote:
Originally Posted by JeeX
Ich bräuchte einen Port auf der Selben map (also /go xx xx) für die quest..
mit pc.warp gehts ja ned.. ich möchte halt nur das man von zb. 100 100 zu 400 400 geportet wird.
Kann mir das vll jemand sagen? (:
|
Habe eigentlich keinen Fehler gefunden, habe dir jedoch die Quest etwas gekürzt und richtig eingerückt.
PHP Code:
quest new2 begin state start begin when letter begin send_letter("Verschmelzen") local v = find_npc_by_vnum(20023) if v != 0 then target.vid("target4", v, "Soon") end end when button or info begin say_title("Verschmelzen") say("Willst du etwas verschmelzen") say("Ich brauch dazu") say_item_vnum(15209) say_item_vnum(15229) end when target4.target.click or 20023.chat."Verschmelzen" begin target.delete("target4") say_title("Soon") say("Willst du was verschmelzen?!") say("Ich hoffe du hast alles dabei.") say("Überreiche mir nun deine Schuhe") say_item_vnum(15209) say_item_vnum(15229) if pc.count_item("15209")==0 and pc.count_item("15229")== 0 then say("DU hast nicht das nötige EQ") say("Ich kann dein EQ nicht verschmelzen.") return end say("Möchtest du dein EQ verschmelzen?") if select('Ja','Nein') == 2 then return end if pc.count_item("15209")==0 and pc.count_item("15209")==0 then chat("Du hast nicht das nötige EQ") return end pc.remove_item("15209", 1) pc.remove_item("15229", 1) pc.give_item2("15009", 1) say_title("Soon") say("Hier ist dein neues Item.") say("Pass gut drauf auf!") clear_letter() end
state complete begin end end
|
|
|
11/20/2012, 14:14
|
#7148
|
elite*gold: 220
Join Date: Sep 2012
Posts: 49
Received Thanks: 6
|
Kann mir jemand sagen, was ich an der Quest ändern muss um keinen Kick + Login down
mehr zu bekommen ? Nach dem ich Azrael gekillt habe?..
Quote:
quest devilscatacomb begin
state start begin
when logout begin
pc.remove_item(30311, pc.count_item(30311))
pc.remove_item(30312, pc.count_item(30312))
pc.remove_item(30313, pc.count_item(30313))
end
when login begin
if pc.get_map_index() == special.dc_map_index then
if devilscatacomb.getLevelByCord() > 1 or not next_time_is_now() then
pc.warp((5913)*100, (993)*100, 65) -- 5913x993 591374x
end
pc.set_warp_location(65, 5913, 993)
say("Du musst den Seelenkristall-Schlüssel droppen")
say("und dann auf die Statue des Kud ziehen, um in")
say("die 2. Ebene zu gelangen...")
say("")
say_item_vnum(30311)
say("")
elseif pc.get_map_index() >= (special.dc_map_index * 10000) and pc.get_map_index() <= (special.dc_map_index_2 * 10000) then
pc.set_warp_location(65, 5913, 993)
end
end
when 20367.chat."The Devil's Catacomb" begin --Enter the Devil Catacomb
if pc.get_level() < 75 then
say_title(mob_name(npc.get_race()) ..":")
say("Du möchtest in die Katakomben des Teufels?")
say("")
say("So einfach geht das nicht, denn du hast")
say("nicht die nötige Erfahrung dazu.")
say("Komme am Besten wieder, wenn du Level 75")
say("erreicht hast... ")
else
say_title(mob_name(npc.get_race()) ..":")
say("Du möchtest in die Katakomben des Teufels?")
say("")
say("Ich kann dich gerne teleportieren, doch")
say("ich möchte dich warnen: Es sind schon viele")
say("eingetreten aber nicht mehr zurück gekommen!")
say("")
say("Soll ich dich ernsthaft teleportieren?")
say("")
local s = select("Ja","Nein")
if s == 2 then
return
elseif s == 1 then
pc.warp(315300, 1209200)
end
end
end
when kill with pc.get_map_index() == special.dc_map_index and pc.countitem(30311) < 1 begin
local rnd = number(1,100)
if rnd == 6 then
game.drop_item_with_ownership(30311, 1)
end
end
when 30101.take with item.vnum == 30311 begin --Teleport to 2nd Stage with the passenger ticket
if party.is_party() then
if party.is_leader() then
say("Das Eingangsportal wurde geöffnet.")
say("Geh schnell hindurch!")
wait()
say("Hier beginnt das wahre Abenteuer! Du hast")
say("jedoch nur eine Stunde Zeit, um die Devil's")
say("Catacomb zu erforschen.")
item.remove()
sys_log(0, "DC create try by "..pc.get_name())
d.join(special.dc_map_index)
else
say("Nur der Leiter der Gruppe darf bestimmen.")
end
else
say("Ohne Gruppe kommst du nicht weiter.")
end
end
when login with devilscatacomb.isInCatacomb() begin
say("Zerstöre das Siegel dieses Tores, um die 3. Ebene")
say("zu erreichen!")
say("Du hast noch 60 Minute(n) Zeit.")
d.spawn_mob(30103, 740, 227)
loop_timer("item_check", 10)
if party.is_leader() then
d.set_regen_file("data/dungeon/dc/dc_regen1.txt")
d.regen_file("data/dungeon/dc/dc_doors.txt")
d.setf("level", 2)
server_timer("runtime", 6, pc.get_map_index())
elseif pc.is_gm() and not party.is_party() then
d.set_regen_file("data/dungeon/dc/dc_regen1.txt")
d.regen_file("data/dungeon/dc/dc_doors.txt")
d.setf("level", 2)
server_timer("runtime", 6, pc.get_map_index())
end
end
when item_check.timer with d.getf("level") == 3 begin
if pc.countitem(30319) >= 1 then
say("Du hast den Schrumpfkopf und wirst nun auf die")
say("3. Ebene teleportiert.")
pc.remove_item(30319, 1)
timer("item_check_end", 2)
else
d.exit_all()
end
end
when item_check_end.timer begin
cleartimer("item_check")
end
when runtime.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("time", get_time()+60*60*1)
devilscatacomb.getTimeLeft()
server_timer("runtime_end", 60*60, get_server_timer_arg())
end
end
when runtime_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist um.")
d.exit_all()
end
end
when 30103.click with devilscatacomb.isInCatacomb() and devilscatacomb.getLevelByCord() == 2 and npc.lock() begin
say("Während du den Stein genauer untersuchst, kannst")
say("du eine Gravur erkennen.")
wait()
say("Lediglich der Besitzer des Schrumpfkopfes")
say("darf eintreten, nachdem die Siegel dreier Türen")
say("aufgebrochen wurden.")
say("Wenn du dieses Relikt nicht bei dir trägst,")
say("wirst du aus der Devil's Catacomb teleportiert.")
say("")
wait()
local s = select("Ja, lass mich eintreten!", "Nein, ich möchte nicht eintreten.")
if s == 2 then
return
elseif s == 1 then
if pc.count_item(30319) >= 1 then
npc.purge()
d.setf("level", 3)
d.purge()
d.clear_regen()
timer("dc_jump_3", 6)
else
say("Du hast keinen Schrumpfkopf und wirst nun")
say("aus der Höhle teleportiert ...")
pc.warp(591374, 99325, 65)
end
end
end
when dc_jump_3.timer begin
d.set_regen_file("data/dungeon/dc/dc_regen2.txt")
d.notice("Suche den richtigen Metinstein und zerstöre ihn!")
devilscatacomb.getTimeLeft()
d.jump_all(4451, 12282)
local positions = devilscatacomb.get3FloorStonePositions()
for i = 1, 6 do
d.set_unique("fake" .. i , d.spawn_mob(8037, positions[i][1], positions[i][2]))
end
d.set_unique("real", d.spawn_mob(8037, positions[7][1], positions[7][2]))
server_loop_timer('dc_stone3_update', 10, pc.get_map_index())
end
when dc_stone3_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 30 then
if not d.is_unique_dead("fake" .. i) then
d.purge_unique("fake" .. i)
end
d.setf("fakedead" .. i, 1)
d.notice("Du hast den falschen Metinstein zerstört. Finde den richtigen!");
end
end
end
else
server_timer("dc_stone_end3", 5, get_server_timer_arg())
d.notice("Der richtige Metinstein wurde zerstört. Du darfst nun die 4. Ebene betreten.")
end
else
server_timer('dc_stone3_stop_timer', 1, get_server_timer_arg())
end
end
when dc_stone3_stop_timer.server_timer begin
clear_server_timer('dc_stone3_update', get_server_timer_arg())
end
when dc_stone_end3.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer('dc_stone3_update', get_server_timer_arg())
d.setf("level", 4)
d.jump_all(3347, 12810)
d.clear_regen()
d.set_regen_file("data/dungeon/dc/dc_regen3.txt")
d.regen_file("data/dungeon/dc/dc_warps.txt")
d.spawn_mob(30104, 500, 716)
end
end
when 30104.click with devilscatacomb.isInCatacomb() and devilscatacomb.getLevelByCord() == 4 and npc.lock() begin
npc.purge()
say_in_map(pc.get_map_index(),"Du hast es geschafft! Hier ist der Ausgang des[ENTER]Labyrinths. Steige nun in die 5. Ebene hinab.")
server_timer("dc4_enter", 6, pc.get_map_index())
end
when dc4_enter.server_timer begin
if d.select(get_server_timer_arg()) then
d.jump_all(3918, 12939)
d.set_regen_file("data/dungeon/dc/dc_regen4.txt")
d.spawn_mob(30102, 848, 739)
local mob_pos = { {1006, 649}, {979, 829}, {691, 822}, {714, 653}, {848, 593} }
local rnd = number(1, 5)
d.spawn_mob(2591, mob_pos[rnd][1], mob_pos[rnd][2])
server_timer("dc4_message", 3, get_server_timer_arg())
end
end
when dc4_message.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Besiege die Dämonenwachen, um das Fratzen-Totem zu erhalten. Es dient dir als Schlüssel zur 6. Ebene.")
devilscatacomb.getTimeLeft()
end
end
when 30102.take with item.vnum == 30312 begin
say("Du hast das Fratze-Totem.")
say("Nun kannst du in die nächste Ebene!")
say("")
wait()
say("Viel Glück!")
item.remove()
npc.purge()
d.clear_regen()
timer("dc_level_5", 6)
end
when dc_level_5.timer begin
d.jump_all(4312, 12799)
timer("dc_level_5_start", 5)
end
when dc_level_5_start.timer begin
d.setf("level", 5)
d.notice("Besiege Charon und seine Schergen!")
devilscatacomb.getTimeLeft()
d.regen_file("data/dungeon/dc/dc_regen5.txt")
d.spawn_mob(2597, 1301, 699)
end
when kill begin
if devilscatacomb.isInCatacomb() then
if npc.race == 2597 then
if d.count_monster() < 1000 then
d.setf("level", 6)
d.clear_regen()
timer("dc_level_5_end", 12)
else
if d.getf("charon_spawns") < 4 then
d.spawn_mob(2597, 1301, 699)
d.setf("charon_spawns", d.getf("charon_spawns") + 1)
else
d.notice("Du hast versagt Charon hat dich mit seinen Schergen")
d.notice("überlistet. Du verlässt nun die Höhle")
local nextTime=get_time()+time_min_to_sec(1)
d.setqf("__NEXT_TIME__", nextTime)
d.exit_all()
end
end
end
if npc.race == 2598 and d.getf("level") == 6 then
clear_server_timer("runtime", pc.get_map_index())
clear_server_timer("runtime_end", pc.get_map_index())
notice_all(pc.get_name().." und "..tonumber(party.get_near_count()-1).." weitere Gruppenmitglieder haben Azrael besiegt!")
timer("glory_message", 6)
end
if npc.race == 2591 then
game.drop_item_with_ownership(30312, 1)
end
end
end
when dc_level_5_end.timer begin
say_in_map(pc.get_map_index(),"Du hast Charon besiegt! Nun wirst du[ENTER]zur letzten Ebene der Devil's Catacomb[ENTER]teleportiert.")
timer("dc_level_6", 3)
end
when dc_level_6.timer begin
d.jump_all(3145, 13187)
timer("dc_level_6_into", 3)
end
when dc_level_6_into.timer begin
d.regen_file("data/dungeon/dc/dc_regen6.txt")
d.spawn_mob(2598, 74, 1103)
d.notice("Besiege Azrael!")
end
when glory_message.timer begin
local text = "Azrael wurde besiegt. Endlich herrscht[ENTER]Frieden in der Devil's Catacomb. Du wirst nun[ENTER]an die Oberfläche teleportiert."
say_in_map(pc.get_map_index(), text)
timer("dc_end", 20)
end
when dc_end.timer begin
local nextTime=get_time()+time_min_to_sec(1)
d.setqf("__NEXT_TIME__", nextTime)
d.exit_all()
end
end
state _FUNC_ begin
function getLevelByCord()
if pc.get_local_x() > 30 and pc.get_local_y() > 45 and pc.get_local_x() < 450 and pc.get_local_y() < 450 then
return 1
elseif pc.get_local_x() > 540 and pc.get_local_y() > 39 and pc.get_local_x() < 1000 and pc.get_local_y() < 462 then
return 2
elseif pc.get_local_x() > 1048 and pc.get_local_y() > 35 and pc.get_local_x() < 1455 and pc.get_local_y() < 458 then
return 3
elseif pc.get_local_x() > 31 and pc.get_local_y() > 541 and pc.get_local_x() < 564 and pc.get_local_y() < 1058 then
return 4
elseif pc.get_local_x() > 650 and pc.get_local_y() > 540 and pc.get_local_x() < 1050 and pc.get_local_y() < 955 then
return 5
elseif pc.get_local_x() > 1175 and pc.get_local_y() > 576 and pc.get_local_x() < 1420 and pc.get_local_y() < 810 then
return 6
else
return 0
end
end
function isInCatacomb()
if pc.get_map_index() >= (special.dc_map_index * 10000) and pc.get_map_index() < (special.dc_map_index_2 * 10000) and pc.in_dungeon() then
return true
else
return false
end
end
function get3FloorStonePositions()
local positions =
{
{1365, 352}, {1349, 150}, {1133, 167}, {1151, 364},
{1234, 136}, {1255, 371}, {1132, 245},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
return positions
end
function getTimeLeft()
local secondsLeft = (d.getf("time") - get_time())
local minutesLeft = math.ceil(secondsLeft / 60)
d.notice("Du hast noch "..minutesLeft.." Minute(n) Zeit.")
end
end
end
|
|
|
|
11/20/2012, 19:44
|
#7149
|
elite*gold: 0
Join Date: Jul 2009
Posts: 39
Received Thanks: 1
|
PHP Code:
quest geheime begin state start begin when 1093.kill begin local count = pc.getqf("count") + 1 if count < 30 then pc.setqf("count", count) else pc.delqf("count") chat("Du hast es geschafft!, du bekommst als Belohnung +50% gg Monster") affect.add_collect(apply.ATT_BONUS_TO_MONSTER,50,60*60*24*365*60) -----¡V60¦~ notice_all (pc.get_name().." hat eine geheime Quest gelöst") end end end end
sie funze einfach nich... würde mich über hilfe freuen
|
|
|
11/20/2012, 23:37
|
#7150
|
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
|
Quote:
Originally Posted by christiankola
PHP Code:
quest geheime begin
state start begin
when 1093.kill begin
local count = pc.getqf("count") + 1
if count < 30 then
pc.setqf("count", count)
else
pc.delqf("count")
chat("Du hast es geschafft!, du bekommst als Belohnung +50% gg Monster")
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,50,60*60*24*365*60) -----¡V60¦~
notice_all (pc.get_name().." hat eine geheime Quest gelöst")
end
end
end
end
sie funze einfach nich... würde mich über hilfe freuen
|
PHP Code:
quest geheime begin
state start begin
when kill with npc.get_race() == 1095 begin
if pc.getqf('count') < 30 then
pc.setqf('count', pc.getqf('count')+1)
else
pc.delqf('count')
chat('Du hast es geschafft!, du bekommst als Belohnung +50% gg Monster')
affect.add_collect(63,50,60*60*24*365*60) -----¡V60¦~
notice_all (pc.get_name()..' hat eine geheime Quest gelöst')
end
end
end
end
|
|
|
11/23/2012, 04:19
|
#7151
|
elite*gold: 0
Join Date: Nov 2012
Posts: 35
Received Thanks: 4
|
Quote:
Originally Posted by ©by Noa
ich habe dich richtig Verstanden, die Gildenkonto quest wird bald verbessert.
__________
Auf Richtigkeit testen bitte.
PHP Code:
--------------------------------------
-- durchsagen.quest
-- zufall oder gewollte texte
--------------------------------------
quest durchsagen begin
state start begin
--when logout begin
-- chat(""..exact.."") -- genaue Texte beim logout
--end
when login begin -- nur zufallstexte beim login
chat(""..zufall1.."")
-- chat(""..warnung.."")
local zufall = number{1, 3} -- zufall deklariert, wenn mehrere nummern
local vote = number{6, 7} -- exacte texte
local zufall1 = texte[zufall][1][2][3] -- zufall definiert
--local exact = texte[vote][6][7] -- wenn logout dann gibt er den text in Nr.6 & 7 wieder
-- eine nummer eingeben 1-7 wenn mehrere
-- dan [1][2][3] usw, falls es ein text wird.
--local zufall1 = texte[zufall][1][7]
--local warnung = texte[acc][4][5]
local name = pc.get_name()
local texte = { -- Tabelle
{"Willkommen auf Server Name "..name.." "}, --Nr.1
{"Unsere Adresse zum Forum ist http://www.google.de/forum "}, --Nr.2
{"Unsere Homepage ist http://www.google.de/homepage"}, --Nr.3
{"Gebt niemals eure Accountdaten weiter, einen GameMaster erkennst du an den-"},--Nr.4
{"eckigen klammern [GM], ein GM wird euch niemals nach den Accdaten Fagen."}, --Nr.5
{"Bevor ihr Schlafen geht vergesst nicht für den Server zu voten"}, --Nr.6
{"Voten könnt ihr unter: http:// www.google.de/voten"}, --Nr.7
{"Text"}, --Nr.8
--...
}
end
end
end
|
Alguém pode fazer isto funcionar =D
|
|
|
11/23/2012, 14:58
|
#7152
|
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
|
Quote:
Originally Posted by ByLost
Alguém pode fazer isto funcionar =D
|
PHP Code:
quest login begin
state start begin
function list_login()
return {
{'Message 1'},
{'Message 2'},
{'Message 3'},
{'Message 4'},
}
end
when login begin
chat(login.list_login()[number(1,table.getn(login.list_login()))][1])
end
end
end
|
|
|
11/23/2012, 17:46
|
#7153
|
elite*gold: 85
Join Date: Apr 2011
Posts: 283
Received Thanks: 20
|
Kann einer helfen es funzt nur die erste auswahl
Code:
quest Questitem_erstellung begin
state start begin
when 50025.use begin
say_title("Item Auswahl für GM´s")
local ite = select("Schwarzstahl Schwert", "Schwarzstahl Klinge", "Schwarzstahl Dolche", "Schwarzstahl Bogen", "Schwarzstahl Stab", "Bye")
if ite == 1 then
pc.give_item2(9299, 1)
if ite == 2 then
pc.give_item2(9199, 1)
if ite == 3 then
pc.give_item2(9499, 1)
if ite == 4 then
pc.give_item2(9399, 1)
if ite == 5 then
pc.give_item2(9599, 1)
end
end
end
end
end
end
end
end
|
|
|
11/23/2012, 17:52
|
#7154
|
elite*gold: 258
Join Date: Feb 2011
Posts: 1,405
Received Thanks: 3,502
|
Quote:
Originally Posted by schnucki1999
Kann einer helfen es funzt nur die erste auswahl
Code:
quest Questitem_erstellung begin
state start begin
when 50025.use begin
say_title("Item Auswahl für GM´s")
local ite = select("Schwarzstahl Schwert", "Schwarzstahl Klinge", "Schwarzstahl Dolche", "Schwarzstahl Bogen", "Schwarzstahl Stab", "Bye")
if ite == 1 then
pc.give_item2(9299, 1)
if ite == 2 then
pc.give_item2(9199, 1)
if ite == 3 then
pc.give_item2(9499, 1)
if ite == 4 then
pc.give_item2(9399, 1)
if ite == 5 then
pc.give_item2(9599, 1)
end
end
end
end
end
end
end
end
|
PHP Code:
quest Questitem_erstellung begin state start begin function list_item() return { [1] = {9299}, [2] = {9119}, [3] = {9499}, [4] = {9399}, [5] = {9599}, } end when 50025.use begin say_title('Item Auswahl für GM´s') local ite = select(item_name(Questitem_erstellung.list_item()[1][1]),Questitem_erstellung.list_item()[2][1]),Questitem_erstellung.list_item()[3][1]),Questitem_erstellung.list_item()[4][1]),Questitem_erstellung.list_item()[5][1]),'Nichts') if ite == 6 then return end pc.give_item2(Questitem_erstellung.list_item()[ite][1], 1) end end end
|
|
|
11/23/2012, 21:15
|
#7155
|
elite*gold: 0
Join Date: Jul 2012
Posts: 1,036
Received Thanks: 328
|
Quote:
Originally Posted by iSouli~
PHP Code:
quest geheime begin
state start begin
when kill with npc.get_race() == 1095 begin
if pc.getqf('count') < 30 then
pc.setqf('count', pc.getqf('count')+1)
else
pc.delqf('count')
chat('Du hast es geschafft!, du bekommst als Belohnung +50% gg Monster')
affect.add_collect(63,50,60*60*24*365*60) -----¡V60¦~
notice_all (pc.get_name()..' hat eine geheime Quest gelöst')
end
end
end
end
|
PHP Code:
quest geheime begin
state start begin
when kill with npc.get_race() == 101 begin
if pc.getqf('count') < 90 then
pc.setqf('count', pc.getqf('count')+1)
else
pc.delqf('count')
chat('Du hast es geschafft!, du bekommst als Belohnung +50% gg Monster')
affect.add_collect(63,50,60*60*24*365*60) -----¡V60¦~
notice_all (pc.get_name()..' hat eine geheime Quest gelöst')
set_state(ende)
end
end
end
state ende begin
end
end
Fehlt ein State end sonst kann man die quest immer und immer wieder machen....
|
|
|
All times are GMT +1. The time now is 02:41.
|
|