Resursa Folosita : svf-pentru-resurse/serverfiles-craciun- ... ient%20fox
Tip Server : PVM
Problema : Dupa ce pornesc dojang playeri nu primesc quest la misiuni prin care sa se teleporteze in mapa de dojang !
las pe pastebin quest.Multumesc
Ps am bagat asta in server il folosesc si la alte questuri : scroll_open_purple.tga
Quest Dojang
Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
- tutunaru
- Utilizator interzis !

- Mesaje: 182
- Membru din: 23 Iun 2016, 12:17
- Server: Prodomo2
- Aprecieri: 476
- Mulţumiri: 70
- Discord: Copiază ID
- Contact:
- [Reizo]
- Ţepar / Untrusted User

- Mesaje: 1301
- Membru din: 22 Oct 2019, 15:44
- Server: SAPPHIRE2
- Regat: Chunjo
- Aprecieri: 409
- Mulţumiri: 4322
- Discord: Copiază ID
- Contact:
Apare doar cand jucatorul se teleporteaza in mapa / se logheaza. Nu apare daca esti deja. Fa-i un timer la quest sa verifice daca e activat, si cand e activat sa l trimita, cred ca ar trb sa mearga daca i faci asta.

Afișează semnătura
- tutunaru
- Utilizator interzis !

- Mesaje: 182
- Membru din: 23 Iun 2016, 12:17
- Server: Prodomo2
- Aprecieri: 476
- Mulţumiri: 70
- Discord: Copiază ID
- Contact:
In questul de mai sus nu are implementat teleportarea in dojang din cate am vazut in el trebuie sa apara la misiun si cand dai pe el te teleporteaza automat
"Nu-mi daţi sfaturi! Ştiu să greşesc şi singur!"
Afișează semnătura
- [Reizo]
- Ţepar / Untrusted User

- Mesaje: 1301
- Membru din: 22 Oct 2019, 15:44
- Server: SAPPHIRE2
- Regat: Chunjo
- Aprecieri: 409
- Mulţumiri: 4322
- Discord: Copiază ID
- Contact:
tu ai zis ca nu primesc quest ca sa dea tp, ca sa primeasca tp tre sa dea pe acel quest ce nu apare, si ca sa apara questu ala tre sa faci ce am zis eu acolo, altfel apare dar doar daca dau baietii relog sau tp sau chestii de genu

Afișează semnătura
- tutunaru
- Utilizator interzis !

- Mesaje: 182
- Membru din: 23 Iun 2016, 12:17
- Server: Prodomo2
- Aprecieri: 476
- Mulţumiri: 70
- Discord: Copiază ID
- Contact:
Sunt incepator in domeniu ,te rog daca poti face tu pentru mine,Multumesc
"Nu-mi daţi sfaturi! Ştiu să greşesc şi singur!"
Afișează semnătura
- [Reizo]
- Ţepar / Untrusted User

- Mesaje: 1301
- Membru din: 22 Oct 2019, 15:44
- Server: SAPPHIRE2
- Regat: Chunjo
- Aprecieri: 409
- Mulţumiri: 4322
- Discord: Copiază ID
- Contact:
ia ti l am pus pe npc, schimba cod_npc cu un npc si aia e.
Cod: Selectaţi tot
quest pvp_manager begin
state start begin
when cod_npc.chat. "Tp la dojang" with game.get_event_flag("budokan_open") > 0 and pc.get_map_index() != 26 begin
say_title("Turneul PvP:")
if game.get_event_flag("budokan_open") == 2 then
say("Arena Dojang este acum deschisã !")
say("")
say("Alãturã-te pentru pariuri sau participã în duelele")
say("competitive cu alþi jucãtori pentru a obþine")
say("glorie ºi bani.")
say("")
local s = select("Du-mã acolo acum.","Nu, mulþumesc.")
if s == 1 then
pc.warp(844800,844800)
end
else
say("Arena Dojang se va deschide în scurt timp.")
say("")
say("Alãturã-te pentru pariuri sau participã în duelele")
say("competitive cu alþi jucãtori pentru a obþine")
say("glorie ºi bani.")
say("")
say("Când intrarea este permisã te poþi duce acolo")
say("prin acest quest. Pregãteºte-þi armele !")
say("")
end
end
when login with pc.get_map_index() == 26 and (pvp_attenders == nil or pvp_attenders[pvp_manager.get_my_attender_id()] == nil or (pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != 1 and pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != 2)) begin
if pvp_attenders == nil then
pvp_manager.guard_check_position()
timer("pvp_guard_1", 20)
return
end
if pvp_attenders[pvp_manager.get_my_attender_id()] == nil then
pvp_manager.guard_check_position()
timer("pvp_guard_1", 20)
return
end
if pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != 1 and pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != 2 then
pvp_manager.guard_check_position()
timer("pvp_guard_1", 20)
end
end
when pvp_guard_1.timer begin
if pc.get_map_index() != 115 then
return
end
pvp_manager.guard_check_position()
timer("pvp_guard_2", 20)
end
when pvp_guard_2.timer begin
if pc.get_map_index() != 115 then
return
end
pvp_manager.guard_check_position()
timer("pvp_guard_1", 20)
end
function guard_check_position()
if pc.get_local_x() >= 84 and pc.get_local_y() >= 84 and pc.get_local_x() <= 116 and pc.get_local_y() <= 116 then --arena 1
pvp_manager.guard_reset()
end
if pc.get_local_x() >= 84 and pc.get_local_y() >= 136 and pc.get_local_x() <= 116 and pc.get_local_y() <= 168 then --arena 2
pvp_manager.guard_reset()
end
if pc.get_local_x() >= 136 and pc.get_local_y() >= 84 and pc.get_local_x() <= 168 and pc.get_local_y() <= 116 then --arena 3
pvp_manager.guard_reset()
end
if pc.get_local_x() >= 136 and pc.get_local_y() >= 136 and pc.get_local_x() <= 168 and pc.get_local_y() <= 168 then --arena 4
pvp_manager.guard_reset()
end
end
function guard_reset()
notice_in_map("AUTOPVP-GUARD: "..pc.getname().." a fost dat afarã din arenã.")
pc.warp_local(pc.get_map_index(), 126*100, 24*100)
end
when 20078.chat."Închide Arena Dojang." with pc.is_gm() and pc.get_map_index() == 26 begin
say_title("Dojang:")
say("Intrarea în arena Dojand este închisã acum")
say("Cu toþii vor fi teleportaþi în oraº...")
say("")
warp_all_to_village( pc.get_map_index() , 1 )
game.set_event_flag("budokan_open", 0)
end
when 20078.chat."Înapoi în oraº." with pc.get_map_index() == 26 begin
say_title("Vesemir:")
say("")
say("Doreºti sã te întorci înapoi în oraº?")
say("")
local s = select("Da", "Nu")
if s == 1 then
warp_to_village()
end
end
when 20078.chat."GM: Anuleazã Turneul PvP" with pc.get_map_index() == 26 and pc.is_gm() and game.get_event_flag("pvp") != 0 begin
say_title("Anuleazã Turneul PvP")
say("Chiar doreºti sã opreºti turneul PvP?")
say("")
local s = select("Da", "Nu")
if s == 1 then
game.set_event_flag("pvp", 0)
pvp_attenders = nil
notice_all("Turneul PvP a fost anulat.")
say_title("Turneu PvP anulat.")
say("Turneul PvP a fost anulat.")
say("")
end
end
when 20078.chat."GM: Porneºte Turneul PvP" with pc.get_map_index() == 26 and pc.is_gm() and game.get_event_flag("pvp") == 0 begin
say_title("Porneºte Turneul PvP")
say("Te rugãm sã setezi nivelele limitã pentru")
say("Turneul PvP.")
say("")
say_reward("Nivel minim (minim 15):")
local str_min_level = input()
say_title("Începe Turneul PvP")
local min_level = tonumber(str_min_level)
if min_level == nil then
say("Nu a fost introdus nici un numãr.")
say("")
return
end
if tonumber(str_min_level) < 15 then
min_level = 15
end
say("Nivelul minim a fost setat la: "..tostring(min_level)..".")
say("Te rugãm sã introduci nivelul maxim:")
local str_max_level = input()
say_title("Începe Turneul PvP")
local max_level = tonumber(str_max_level)
if max_level == nil then
say("Nici un numãr nu a fost introdus.")
say("")
return
end
if tonumber(str_max_level) < min_level then
say("Nivelul maxim trebuie sã fie mai mare decât")
say("nivelul minim.")
say("")
return
end
game.set_event_flag("pvp_minlevel", min_level)
game.set_event_flag("pvp_maxlevel", max_level)
say("Nivelul minim a fost setat la "..tostring(min_level)..".")
say("Nivelul maxim a fost setat la "..tostring(max_level)..".")
say("")
local s = select("Începe acum.", "Închide.")
if s == 2 then
return
end
say_title("Începe Turneul PvP")
say("Turneul PvP a început. Cei ce vor sã participe")
say("se pot înscrie aici. Înscrierile pot fi")
say("închise de aici..")
say("")
say_reward("Nivelele limitã curente: "..game.get_event_flag("pvp_minlevel").." - "..game.get_event_flag("pvp_maxlevel"))
game.set_event_flag("pvp", 1)
attender_count = 0
game.set_event_flag("pvp_tournament", get_global_time())
pvp_attenders = nil
pvp_attenders = { }
arena = {
-- arena 1
{
{ 113, 100 },
{ 88, 100 },
0,
"SLEEPING",
0,
},
-- arena 2
{
{ 113, 152 },
{ 88, 152 },
0,
"SLEEPING",
0,
},
-- arena 3
{
{ 140, 152 },
{ 164, 152 },
0,
"SLEEPING",
0,
},
-- arena 4
{
{ 164, 100 },
{ 140, 100 },
0,
"SLEEPING",
0,
},
}
notice_all("Înscrierile pentru turneul PvP au fost deschise. Echipeazã-te ºi vino în Arena Dojang.")
notice_all("Nivelele limitã curente: "..game.get_event_flag("pvp_minlevel").." - "..game.get_event_flag("pvp_maxlevel"))
end
when 20078.chat."Înscrie-te în Turneul PvP" with pc.get_map_index() == 26 and game.get_event_flag("pvp") == 1 begin
say_title(mob_name(20078)..":")
say("")
if game.get_event_flag("pvp_tournament") == pc.getqf("pvp_tournament") then
say("Eºti deja înscris în Turneul PvP.")
say("")
return
end
if pc.get_level() < 15 then
say("Nivelul tãu este prea mic.")
say("")
return
end
if pc.get_level() < game.get_event_flag("pvp_minlevel") or pc.get_level() > game.get_event_flag("pvp_maxlevel") then
say("Nivelul tãu trebuie sã fie între "..game.get_event_flag("pvp_minlevel").." ºi "..game.get_event_flag("pvp_maxlevel"))
say("")
return
end
----"123456789012345678901234567890123456789012345678901234567890"|
say("Bun venit la Dojan. În acest turneu vei lupta")
say("împotriva jucãtorilor de nivele similare cu al tãu")
say("")
say("Înfrânge fiecare inamic ºi intrã în istoria")
say("Þinutului Mistic.")
say("")
say("Doreºti sã te înscrii în Turneul PvP?")
say("")
local s = select("Doresc sã particip", "N-am nici o ºansã ")
say_title(mob_name(20078)..":")
say("")
if s == 1 then
say("Vei fi chemat atunci când va veni rândul tãu, dar")
say("trebuie sã stai aici, altfel vei fi descalificat.")
say("")
say("Mult succes !")
say("")
pvp_attenders[attender_count+1] = {name = pc.getname(), level = pc.get_level(), partner = nil, winner = true, fight_mode = 0, arena = 0}
pc.setqf("attender_id", attender_count+1)
pc.setqf("pvp_tournament", game.get_event_flag("pvp_tournament"))
attender_count = attender_count + 1
elseif s == 2 then
say("Întradevãr, pari foarte slab..")
say("Unii ºi-au pierdut viaþa în acest turneu.")
say("")
end
end
when 20078.chat."Înscrierile pentru Turneul PvP" with pc.get_map_index() == 26 and pc.is_gm() and game.get_event_flag("pvp") == 1 begin
say_title("Turneul PvP")
say("Momentan sunt înscriºi "..tostring(attender_count).." de jucãtori.")
say("Ar trebui închise înscrierile ºi pornite")
say("pariurile?")
say("")
local s = select("Închide înscrierile", "Continuã cu înscrierile")
if s == 1 then
say_title("Închide înscrierile:")
say("Înscrierile au fost închise.")
say("Jucãtorii pot paria acum.")
say("")
game.set_event_flag("pvp", 2)
betting_list = {}
betting_state = {}
end
end
when 20078.chat."Pariazã pentru Turneul PvP" with pc.get_map_index() == 26 and pc.is_gm() and game.get_event_flag("pvp") == 2 begin
say_title("Turneul PvP")
say("Ar trebui oprite pariurile ºi pornit Turneul PvP?")
say("")
local s = select("Porneºte Turneul PvP acum", "Continuã cu pariurile")
if s == 1 then
say_title("Opreºte Pariurile:")
say("Timpul pentru pariuri s-a terminat.")
say("Duelele vor începe acum.")
say("")
game.set_event_flag("pvp", 3)
pvp_manager.make_duel_list()
duel_list_index = 0
playerless_mode = false
notice_all("Înscrierile pentru Turneul PvP au fost închise. Duelele vor începe acum !")
pvp_round_num = 1
pvp_manager.refresh_arenas()
end
end
when 20078.chat."Plaseazã un Pariu" with pc.get_map_index() == 26 and game.get_event_flag("pvp") == 2 and betting_state != nil and betting_state[pc.get_player_id()] == nil begin
say_title("Plaseazã un Pariu:")
say("Pe ce jucãtor doreºti sã pariezi?")
say("")
local player = input()
say_title("Plaseazã un Pariu:")
say("")
if pvp_manager.get_attender_id_by_name(player) == 0 then
say("Acest jucãtor nu este înscris.")
say("")
return
end
say("Câþi bani doreºti sã pariezi?")
say("")
local bet_amount = tonumber(input())
if bet_amount < 1 then
say_title("Eroare:")
say("Aceasta nu este o valoare validã.")
say("")
return
end
say_title("Confirmã:")
say("Doreºti sã pariezi "..bet_amount.." Yang pe")
say(player.."?")
say("")
if select("Da", "Nu") == 2 then
return
end
if pc.gold < bet_amount then
say_title("Eroare:")
say("Nu ai destui bani.")
say("")
return
end
betting_state[pc.get_player_id()] = 1
table.insert(betting_list, {pc.get_name(), bet_amount, player})
pc.change_gold(-bet_amount)
say_title("Plaseazã un Pariu:")
say("Pariul a fost plasat.")
say("Mulþumim ºi mult succes !")
say("")
end
when 20078.chat."Cine participã?" with pc.get_map_index() == 26 and game.get_event_flag("pvp") == 2 begin
setskin(NOWINDOW)
chat("Urmãtoarele persoane participã în Turneul PvP:")
for i = 1, attender_count, 4 do
local chatline = ""
for j = i, i + 4, 1 do
if pvp_attenders[j] != nil then
chatline = chatline..pvp_attenders[j].name.." "
end
end
syschat(chatline)
end
syschat("Total "..attender_count.." participanþi")
end
when 20078.chat."Cu cine voi lupta în continuare?" with pc.get_map_index() == 26 and game.get_event_flag("pvp") == 3 and game.get_event_flag("pvp_tournament") == pc.getqf("pvp_tournament") begin
say_title(mob_name(20078)..":")
say("")
if pvp_manager.get_duel_partner() == nil then
say("Nu existã nici un oponent disponibil momentan.")
say("")
say("Dacã nu gãsim pe nimeni disponibil vei merge în")
say("urmãtoarea rundã în mod automat.")
say("")
return
end
say("Conform planului curent te vei duela cu:")
say("")
say_reward(""..pvp_manager.get_duel_partner().."")
say("")
end
function make_duel_list()
duel_list = { }
local i = 0
for ai = 1, attender_count, 1 do
if pvp_attenders[ai] != nil and pvp_attenders[ai].partner == nil and pvp_attenders[ai].winner == true then
local partner_id = pvp_manager.findpartner(tostring(pvp_attenders[ai].name), pvp_attenders[ai].level)
if partner_id != nil then
pvp_attenders[ai].partner = tostring(pvp_attenders[partner_id].name)
pvp_attenders[partner_id].partner = tostring(pvp_attenders[ai].name)
duel_list[i] = {fighter_id1 = ai, fighter_id2 = partner_id}
i = i + 1
end
end
end
for ai = 1, attender_count, 1 do
if pvp_attenders[ai] != nil and pvp_attenders[ai].partner == nil and pvp_attenders[ai].winner == true then
local partner_id = pvp_manager.findpartner_for_partnerless(tostring(pvp_attenders[ai].name), pvp_attenders[ai].level)
if partner_id != nil then
pvp_attenders[ai].partner = tostring(pvp_attenders[partner_id].name)
pvp_attenders[partner_id].partner = tostring(pvp_attenders[ai].name)
duel_list[i] = {fighter_id1 = ai, fighter_id2 = partner_id}
i = i + 1
end
end
end
end
function findpartner(name, level)
local closest_level = nil
local partner_id = nil
for ai = 1, attender_count, 1 do
if pvp_attenders[ai] != nil and pvp_attenders[ai].winner == true and tonumber(pvp_attenders[ai].level) <= level + 30 and tonumber(pvp_attenders[ai].level) >= level - 30 and tostring(pvp_attenders[ai].name) != name and pvp_attenders[ai].partner == nil and pvp_manager.is_player_in_map(tostring(pvp_attenders[ai].name)) == true then
if closest_level == nil then
closest_level = pvp_attenders[ai].level
partner_id = ai
elseif tonumber(pvp_attenders[ai].level) == tonumber(level) then
closest_level = pvp_attenders[ai].level
partner_id = ai
elseif tonumber(level) < tonumber(closest_level) and tonumber(pvp_attenders[ai].level) < tonumber(closest_level) then
closest_level = pvp_attenders[ai].level
partner_id = ai
elseif tonumber(level) > tonumber(closest_level) and tonumber(pvp_attenders[ai].level) > tonumber(closest_level) then
closest_level = pvp_attenders[ai].level
partner_id = ai
end
end
end
return tonumber(partner_id)
end
function findpartner_for_partnerless(name, level)
local closest_level = nil
local partner_id = nil
for ai = 1, attender_count, 1 do
if pvp_attenders[ai] != nil and pvp_attenders[ai].winner == true and tostring(pvp_attenders[ai].name) != name and pvp_attenders[ai].partner == nil and pvp_manager.is_player_in_map(tostring(pvp_attenders[ai].name)) == true then
if closest_level == nil then
closest_level = pvp_attenders[ai].level
partner_id = ai
elseif pvp_attenders[ai].level == level then
closest_level = pvp_attenders[ai].level
partner_id = ai
elseif tonumber(level) < tonumber(closest_level) and pvp_attenders[ai].level < closest_level then
closest_level = pvp_attenders[ai].level
partner_id = ai
elseif tonumber(level) > tonumber(closest_level) and pvp_attenders[ai].level > closest_level then
closest_level = pvp_attenders[ai].level
partner_id = ai
end
end
end
return partner_id
end
function is_player_in_map(name)
if pc.getname() == name then
return true
end
local myname = pc.getname()
local target = find_pc_by_name(name)
local t = pc.select(target)
if pc.getname() == myname then
pc.select(t)
return false
end
pc.select(t)
return true
end
when 20078.chat."GM: Actualizeazã ºi Curãþã Arena" with pc.is_gm() and game.get_event_flag("pvp") == 3 begin
for aArena = 1, 4, 1 do
arena[aArena][3] = 0
arena[aArena][4] = "SLEEPING"
end
pvp_manager.refresh_arenas()
end
-- not working
--[[
when 20078.chat."GM: Opreºte Lupta" with pc.is_gm() and game.get_event_flag("pvp") == 2 begin
say_title("Opreºte Lupta:")
say("În care arenã ar trebui sfârºitã lupta?")
local s = select("Arena 1", "Arena 2", "Arena 3", "Arena 4", "Închide")
if s == 5 then
return
end
local fighter1 = nil
local fighter2 = nil
for ai = 1, attender_count, 1 do
if pvp_attenders[ai].arena == s and pvp_attenders[ai].fight_mode != 0 then
if fighter1 == nil then
fighter1 = ai
else
fighter2 = ai
end
end
end
if fighter1 == nil then
say_title("Sfârºeºte lupta:")
say("Nu existã nici un duel în arena respectivã în")
say("acest moment.")
say("")
return
end
say_title("Sfârºeºte Lupta:")
say("Cine ar trebui considerat câºtigãtor când lupta în arena "..s.." ")
say("va fi încheiatã?")
local w = select(tostring(pvp_attenders[fighter1].name), tostring(pvp_attenders[fighter1].name), "Închide")
if w == 3 then
return
end
if w == 1 then
pvp_attenders[fighter2].winner = false
notice_in_map(tostring(pvp_attenders[fighter1].name).." has won the battle against "..tostring(pvp_attenders[fighter2].name).."!", pc.get_map_index())
pvp_manager.local_pc_warp(tostring(pvp_attenders[fighter1].name, 126, 234))
pvp_manager.local_pc_warp(tostring(pvp_attenders[fighter2].name, 126, 24))
else
pvp_attenders[fighter1].winner = false
notice_in_map(tostring(pvp_attenders[fighter2].name).." has won the battle against "..tostring(pvp_attenders[fighter1].name).."!", pc.get_map_index())
pvp_manager.local_pc_warp(tostring(pvp_attenders[fighter1].name, 126, 24))
pvp_manager.local_pc_warp(tostring(pvp_attenders[fighter2].name, 126, 234))
end
pvp_attenders[fighter1].fight_mode = 0
pvp_attenders[fighter2].fight_mode = 0
arena[s][3] = 0
pvp_manager.refresh_arenas()
say_title("Sfârºeºte duelul:")
say("Duelul a luat sfârþit.")
end
--]]
when 20078.chat."GM: Recompensã Turneu PvP" with pc.is_gm() begin
say_title("Recompensã:")
say("Recompensã curentã: "..game.get_event_flag("pvp_price_count").."x "..item_name(game.get_event_flag("pvp_price_vnum")).." (vnum: "..game.get_event_flag("pvp_price_vnum")..")")
say("")
local s = select("Schimbã recompensa", "Închide")
if s == 2 then
return
end
say_title("Schimbã Recompensa:")
say("Te rog introdu codul noii recompense:")
say("")
local vnum = input()
say_title("Schimbã recompensa:")
say("Te rog introdu cantitatea noii recompense:")
say("")
local count = input()
game.set_event_flag("pvp_price_count", count)
game.set_event_flag("pvp_price_vnum", vnum)
say_title("Schimbã Recompensa:")
say("Recompensa a fost schimbatã.")
say("Noua recompensã: "..count.."x "..item_name(vnum).." (vnum: "..vnum..")")
say("")
end
when 20078.chat."GM: Yang/Rundã Turneu PvP" with pc.is_gm() begin
say_title("Recompensã-Yang-Rundã:")
say("Suma curentã: "..game.get_event_flag("pvp_round_gold"))
say("")
local s = select("Schimbã ", "Închide")
if s == 2 then
return
end
say_title("Schimbã Suma:")
say("Te rugãm sã introduci suma de yang primitã pentru")
say("câºtigãtorul unei runde:")
say("")
local gold = input()
game.set_event_flag("pvp_round_gold", gold)
say_title("Schimbã Suma:")
say("Yang-ul primit a fost schimbat.")
say("Yang actual pe rundã: "..gold)
say("")
end
function refresh_arenas()
for aArena = 1, 4, 1 do
if duel_list[duel_list_index] == nil then
if playerless_mode == true then
pvp_manager.init_next_round()
else
pvp_manager.fight_playerless()
end
return
end
if arena[aArena][3] == 0 then
arena[aArena][3] = 1
pvp_manager.fight_init(duel_list[duel_list_index].fighter_id1, duel_list[duel_list_index].fighter_id2, aArena)
end
end
end
function fight_init(pid1, pid2, arena_id)
duel_list_index = duel_list_index + 1
if pvp_manager.is_player_in_map(tostring(pvp_attenders[pid1].name)) == false then
notice_in_map(tostring(pvp_attenders[pid1].name).." nu este online, prin urmare va fi descalificat/ã.", pc.get_map_index())
pvp_attenders[pid1].winner = false
pvp_attenders[pid2].partner = nil
arena[arena_id][3] = 0
pvp_manager.refresh_arenas()
return
end
if pvp_manager.is_player_in_map(tostring(pvp_attenders[pid2].name)) == false then
notice_in_map(tostring(pvp_attenders[pid2].name).." nu este online, prin urmare va fi descalificat/ã.", pc.get_map_index())
pvp_attenders[pid2].winner = false
pvp_attenders[pid1].partner = nil
arena[arena_id][3] = 0
pvp_manager.refresh_arenas()
return
end
notice_in_map(tostring(pvp_attenders[pid1].name).." ºi "..tostring(pvp_attenders[pid2].name).." vã rugãm sã intraþi în ring!", pc.get_map_index())
--[[
local f1_accept = ask_fight(tostring(pvp_attenders[pid1].name), tostring(pvp_attenders[pid2].name))
if f1_accept != CONFIRM_OK then
notice_in_map(tostring(pvp_attenders[pid1].name).." nu a acceptat duelul împotriva lui "..tostring(pvp_attenders[pid2].name)..".", pc.get_map_index())
pvp_attenders[pid1] = nil
pvp_attenders[pid2].partner = nil
pvp_manager.refresh_arenas()
return
end
local f2_accept = confirm(find_pc_by_name(tostring(pvp_attenders[pid2].name)), "Vei lupta împotriva lui "..tostring(pvp_attenders[pid1].name).. " ?", 15)
if f2_accept != CONFIRM_OK then
notice_in_map(tostring(pvp_attenders[pid2].name).." nu a acceptat duelul împotriva lui "..tostring(pvp_attenders[pid1].name)..".", pc.get_map_index())
pvp_attenders[pid2] = nil
pvp_attenders[pid1].partner = nil
pvp_manager.refresh_arenas()
return
end
]]
pvp_attenders[pid1].fight_mode = 1
pvp_attenders[pid2].fight_mode = 1
pvp_attenders[pid1].arena = arena_id
pvp_attenders[pid2].arena = arena_id
pvp_manager.local_pc_warp(tostring(pvp_attenders[pid1].name), arena[arena_id][1][1], arena[arena_id][1][2])
pvp_manager.local_pc_warp(tostring(pvp_attenders[pid2].name), arena[arena_id][2][1], arena[arena_id][2][2])
end
when login with pc.get_map_index() == 26 and game.get_event_flag("pvp") == 3 and pvp_manager.get_fight_mode() == 1 begin
affect.add(apply.MOV_SPEED, -10000, 2)
affect.add_collect(apply.HP_REGEN, 5000, 30)
affect.add_collect(apply.SP_REGEN, 5000, 30)
pvp_manager.set_fight_mode(2)
if arena[pvp_manager.get_arena()][3] == 2 then
arena[pvp_manager.get_arena()][5] = 30
loop_timer("fight_start_countdown", 1)
else
timer("partner_timeout", 60)
end
arena[pvp_manager.get_arena()][3] = 2
end
when partner_timeout.timer begin
if pvp_manager.is_player_in_map(pvp_manager.get_duel_partner()) == true or game.get_event_flag("pvp") != 2 or pvp_manager.get_fight_mode() != 2 then
return
end
pvp_manager.set_fight_mode(3)
if arena[pvp_manager.get_arena()][3] == 3 then
return
end
arena[pvp_manager.get_arena()][3] = 3
notice_in_map(pc.getname().." a câºtigat împotriva lui "..pvp_manager.get_duel_partner().." prin abandon !", pc.get_map_index())
pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].fight_mode = 3
pvp_attenders[pvp_manager.get_my_attender_id()].winner = true
pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].winner = false
pc.warp_local(pc.get_map_index(), 12600, 23400)
end
when fight_start_countdown.timer begin
if arena[pvp_manager.get_arena()][5] == -1 then
return
end
local partner_vid = find_pc_by_name(pvp_manager.get_duel_partner())
local my_vid = pc.get_vid()
if arena[pvp_manager.get_arena()][5] == 0 then
arena[pvp_manager.get_arena()][5] = -1
pc.select(partner_vid)
command("pvp "..my_vid)
pc.select(my_vid)
command("pvp "..partner_vid)
notice_in_map("Duelul dintre "..pvp_manager.get_duel_partner().." ºi "..pc.get_name().." începe !", pc.get_map_index())
timer("fight_start_countdown_shutdown", 1)
else
pc.select(partner_vid)
if math.mod(arena[pvp_manager.get_arena()][5], 5) == 0 then
syschat("Duelul începe în "..tostring(arena[pvp_manager.get_arena()][5]).." secunde.")
end
affect.add(apply.MOV_SPEED, -10000, 2)
pc.select(my_vid)
if math.mod(arena[pvp_manager.get_arena()][5], 5) == 0 then
syschat("Duelul începe în "..tostring(arena[pvp_manager.get_arena()][5]).." secunde.")
end
affect.add(apply.MOV_SPEED, -10000, 2)
arena[pvp_manager.get_arena()][5] = arena[pvp_manager.get_arena()][5] - 1
end
end
when fight_start_countdown_shutdown.timer begin
cleartimer("fight_start_countdown")
end
when logout with game.get_event_flag("pvp") == 3 and pc.get_map_index() == 26 and pvp_manager.get_fight_mode() == 2 begin
pvp_manager.set_fight_mode(3)
arena[pvp_manager.get_arena()][3] = 3
notice_in_map(pvp_manager.get_duel_partner().." a câºtigat împotriva lui "..pc.getname().."!", pc.get_map_index())
pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].fight_mode = 3
pvp_attenders[pvp_manager.get_my_attender_id()].winner = false
pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].winner = true
local target = find_pc_by_name(pvp_manager.get_duel_partner())
local t = pc.select(target)
pc.change_gold(game.get_event_flag("pvp_round_gold")*pvp_round_num)
pc.select(t)
pvp_manager.local_pc_warp(pvp_manager.get_duel_partner(), 126, 24)
end
when kill with game.get_event_flag("pvp") == 3 and pc.get_map_index() == 26 and npc.is_pc() and pvp_manager.get_fight_mode() == 2 begin
pvp_manager.set_fight_mode(3)
if arena[pvp_manager.get_arena()][3] == 3 then
return
end
arena[pvp_manager.get_arena()][3] = 3
notice_in_map(pc.getname().." a câºtigat împotriva lui "..pvp_manager.get_duel_partner().."!", pc.get_map_index())
pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].fight_mode = 3
pvp_attenders[pvp_manager.get_my_attender_id()].winner = true
pvp_attenders[pvp_manager.get_attender_id_by_name(pvp_manager.get_duel_partner())].winner = false
pc.change_gold(game.get_event_flag("pvp_round_gold")*pvp_round_num)
timer("fight_end", 5)
end
when fight_end.timer begin
pc.warp_local(pc.get_map_index(), 12600, 23400)
pvp_manager.local_pc_warp(pvp_manager.get_duel_partner(), 126, 24)
end
when letter with pc.get_map_index() == 26 and game.get_event_flag("pvp") == 3 and pvp_manager.get_fight_mode() == 3 begin
pvp_manager.set_fight_mode(0)
if pvp_attenders[pvp_manager.get_my_attender_id()].winner == true then
arena[pvp_manager.get_arena()][3] = 0
pvp_manager.refresh_arenas()
end
end
when login with pc.get_map_index() == 26 or pc.get_map_index() == 114 or pc.get_map_index() == 121 or pc.get_map_index() == 125 or pc.get_map_index() == 110 or pc.get_map_index() == 111 begin
loop_timer("horse_block",1)
end
when horse_block.timer begin
if horse.is_riding() then
pc.unmount()
horse.unsummon()
syschat("Nu poþi folosi calul aici !")
end
end
function fight_playerless()
for aArena = 1, 4, 1 do
if arena[aArena][3] != 0 then
return
end
end
playerless_mode = true
pvp_manager.make_duel_list()
pvp_manager.refresh_arenas()
end
function init_next_round()
for aArena = 1, 4, 1 do
if arena[aArena][3] != 0 then
return
end
end
playerless_mode = false
local winner_count = 0
local winner_id = 0
for ai = 1, attender_count, 1 do
pvp_attenders[ai].partner = nil
pvp_attenders[ai].fight_mode = 0
if pvp_attenders[ai] != nil and pvp_attenders[ai].winner == true then
winner_count = winner_count + 1
winner_id = ai
end
end
if winner_count == 1 then
notice_all(pvp_attenders[winner_id].name.." a câºtigat Turneul PvP ! Avem o nouã legendã în Þinutul Mistic !")
notice_all(pvp_attenders[winner_id].name.." primeºte "..game.get_event_flag("pvp_price_count").."x "..item_name(game.get_event_flag("pvp_price_vnum")).." ca ºi recompensã !")
pvp_manager.distribute_bets(pvp_attenders[winner_id].name)
local target = find_pc_by_name(pvp_attenders[winner_id].name)
local t = pc.select(target)
pc.give_item2(game.get_event_flag("pvp_price_vnum"), game.get_event_flag("pvp_price_count"))
pc.select(t)
notice_all("Turneul PvP a luat sfârºit. Vã aºteptãm la urmãtorul Turneu !")
game.set_event_flag("pvp", 0)
pvp_attenders = nil
return
end
pvp_manager.make_duel_list()
duel_list_index = 0
if winner_count == 2 then
notice_all("Runda finalã a Turnelului PvP începe acum !")
elseif winner_count <= 4 then
notice_all("Runda semi-finalã a Turnelului PvP începe acum !")
else
notice_all("Urmãtoarea rundã a Turneului PvP începe acum !")
end
pvp_round_num = pvp_round_num + 1
pvp_manager.refresh_arenas()
end
function distribute_bets(winner_name)
--table.insert(betting_list, {pc.get_name(), bet_amount, player})
local jackpot = 0
local jackpot_winner_only = 0
local winners = 0
for i = 1, table.getn(betting_list), 1 do
if betting_list[i][3] == winner_name then
jackpot_winner_only = jackpot_winner_only + betting_list[i][2]
end
jackpot = jackpot + betting_list[i][2]
winners = winners + 1
end
for i = 1, table.getn(betting_list), 1 do
if betting_list[i][3] == winner_name then
pvp_manager.give_jackpot_gold(betting_list[i][1], math.ceil( (betting_list[i][2] / jackpot_winner_only)*jackpot ))
end
end
end
function give_jackpot_gold(name, amount)
local target = find_pc_by_name(name)
if target == 0 then
return
end
local t = pc.select(target)
pc.change_money(amount)
pc.select(t)
end
function local_pc_warp(name, x, y)
local target = find_pc_by_name(name)
local t = pc.select(target)
pc.warp_local(pc.get_map_index(), x*100, y*100)
pc.select(t)
end
function setqf_by_name(name, flag, value)
local target = find_pc_by_name(name)
local t = pc.select(target)
pc.setqf(flag, value)
pc.select(t)
end
function getqf_by_name(name, flag)
local target = find_pc_by_name(name)
local t = pc.select(target)
local rflag = pc.getqf(flag)
pc.select(t)
return rflag
end
function get_attender_id_by_name(name)
for ai = 1, attender_count, 1 do
if tostring(pvp_attenders[ai].name) == name then
return ai
end
end
return 0
end
function get_my_attender_id()
return pvp_manager.get_attender_id_by_name(pc.get_name())
end
function get_duel_partner()
if pvp_attenders[pvp_manager.get_my_attender_id()] != nil and pvp_attenders[pvp_manager.get_my_attender_id()].partner != nil then
return pvp_attenders[pvp_manager.get_my_attender_id()].partner
else
return nil
end
end
function get_fight_mode()
if pvp_attenders != nil and pvp_manager.get_my_attender_id() != 0 and pvp_attenders[pvp_manager.get_my_attender_id()] != nil and pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode != nil then
return pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode
else
return 0
end
end
function set_fight_mode(fmode)
pvp_attenders[pvp_manager.get_my_attender_id()].fight_mode = fmode
end
function get_arena()
return pvp_attenders[pvp_manager.get_my_attender_id()].arena
end
function set_arena(id)
pvp_attenders[pvp_manager.get_my_attender_id()].arena = id
end
function ask_fight(asker, target)
return confirm(find_pc_by_name(target), "Vei lupta împotriva lui "..asker.. "?", 15)
end
end
end

Afișează semnătura
- tutunaru
- Utilizator interzis !

- Mesaje: 182
- Membru din: 23 Iun 2016, 12:17
- Server: Prodomo2
- Aprecieri: 476
- Mulţumiri: 70
- Discord: Copiază ID
- Contact:
am schimbat codul la NPC am pus 20011 Uriel am dat /reload q si nu arata nimic la el
"Nu-mi daţi sfaturi! Ştiu să greşesc şi singur!"
Afișează semnătura
Înapoi la “Arhivă Probleme şi Întrebări”
Mergi la
- Comunitate
- ↳ Forumul Just4Metin
- ↳ Începători
- ↳ Prezentare membri
- ↳ Noutăţi
- ↳ Echipă
- ↳ Cunoaşte echipa
- ↳ Arhivă
- ↳ Anunţuri Oficiale
- ↳ Concursuri și Tombole
- Resurse şi informaţii servere metin2
- ↳ Ghiduri şi Tutoriale
- ↳ Ghiduri Joc
- ↳ Arhivă
- ↳ Resurse Metin2
- ↳ Serverfiles
- ↳ Serverfiles Clean
- ↳ Client-uri
- ↳ Interfete client
- ↳ Surse
- ↳ Harți
- ↳ Autopatcher
- ↳ Aplicații utile
- ↳ Altele
- ↳ Arhivă
- ↳ Dezvoltare server
- ↳ Quest-uri
- ↳ FreeBSD
- ↳ Securitate și protecție hackuri
- ↳ Arhivă
- ↳ Modele 3D
- ↳ Costume
- ↳ Arme
- ↳ Armuri
- ↳ Mobi
- ↳ Npc-uri
- ↳ Pet-uri
- ↳ Mounturi
- ↳ Eșarfe
- ↳ Frizuri
- ↳ Obiecte
- ↳ Efecte
- ↳ Pietre Metin
- ↳ Animații GR2
- ↳ Altele
- ↳ Pachet resurse
- ↳ Arhivă
- ↳ Web Scripting
- ↳ Homepage-uri Premium
- ↳ Homepage-uri Gratuite
- ↳ Tutoriale scripting
- ↳ Întrebări şi probleme
- ↳ Arhivă
- ↳ Probleme Rezolvate
- ↳ Index/Intro Page
- ↳ Arhivă
- Metin2
- ↳ Servere Certificate
- ↳ Obține Certificat
- ↳ Arhivă
- ↳ Servere Private
- ↳ Arhivă
- ↳ Servere Private - aflate în faza de proiect
- ↳ Videoclipuri Metin2
- ↳ Arhivă
- Zona ajutor
- ↳ Probleme şi Întrebări
- ↳ Arhivă Probleme şi Întrebări
- ↳ Probleme rezolvate
- ↳ Cereri
- ↳ Arhivă
- ↳ Cereri Rezolvate
- Mica publicitate
- ↳ Anunturi diverse
- ↳ Arhivă
- ↳ Intermediari
- ↳ Servicii si vanzari Metin2
- ↳ Servicii
- ↳ Serverfile si surse
- ↳ Sisteme si coduri
- ↳ Web Scripting si Design
- ↳ 3d Models
- ↳ Arhiva
- ↳ Firme de Hosting
- ↳ Reclamații
- ↳ Contestatii sau rezolvari reclamatii si conturi blocate
- Diverse
- ↳ Discuţii diverse
- ↳ Arhivă
- ↳ Zile de naștere
- ↳ Hobby-uri
- ↳ Seriale
- ↳ Filme
- ↳ Sport
- ↳ Foto/video
- ↳ Calatorii
- ↳ Alte hobby-uri
- ↳ Jocuri
- ↳ Jocuri PC
- ↳ League of Legends
- ↳ World of Warcraft
- ↳ Grand Theft Auto
- ↳ DayZ
- ↳ Minecraft
- ↳ Counter-Strike
- ↳ Alte jocuri
- ↳ Jocuri Console
- ↳ Software
- ↳ Distracţie/Divertisment
- ↳ Filmuleţe amuzante
- ↳ Muzică
- ↳ Bancuri
- ↳ Spam
- ↳ Arhivă
- ↳ Grafică
- ↳ Arhivă
- ↳ Cereri
- ↳ Subiecte vechi
- ↳ Cereri avatare
- ↳ Cereri semnături
- ↳ Portofolii
- ↳ Bătălii
- ↳ Bătălii Finalizate
- ↳ Tutoriale
- ↳ Resurse
- ↳ Cadouri
- Topicuri şi mesaje şterse
- ↳ Arhivă
- ↳ Imagini şi videoclipuri
- ↳ Discuţii generale
- ↳ Bug-uri (Erori)
- ↳ Reclamaţii
- ↳ Reclamaţii jucători
- ↳ Reclamaţii echipă
- ↳ Deblocare cont
- ↳ Punct de negoţ
- ↳ Vânzări
- ↳ Cumpărări
- ↳ Idei şi sugestii
- ↳ Cerere Moderator
- ↳ Arhivă
- ↳ Metin2 - Site-ul serverului.
- ↳ Punct de negoţ
- ↳ Vânzări
- ↳ Cumpărări
- ↳ Probleme şi întrebări
- ↳ Idei şi sugestii
- ↳ Metin2 - Loc Liber
- ↳ Anunţuri şi Noutăţi
- ↳ Loc Liber- Facebook
- ↳ Reclamaţii
- ↳ Reclamaţii jucători
- ↳ Reclamaţii echipă
- ↳ Bug-uri (Erori)
- ↳ Prezentări
- ↳ Prezentare breaslă
- ↳ Imagini şi videoclipuri
- ↳ Contestaţii
- ↳ Discuţii generale
- ↳ Arhivă
- ↳ Cerere Moderator
- Clubul Just4Metin
- ↳ Clubul Just4Metin - Alătură-te nouă
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Baidu [Spider], Google [Bot] și 2 vizitatori