Ir para conteúdo
  • Cadastre-se

[CTF] Capture The Flag 2.0(Automático)


Posts Recomendados

  • Respostas 116
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

#Introdução Este é um sistema de rouba bandeira, no qual tem dois times que se enfrentam e tentam se infiltrar na fortaleza do inimigo, roubar a bandeira dele e retornar para sua base com ela.  

maluco se você é analfabeto e não sabe ler o problema não é do autor do script moro QI 80 do caralho depois fala merda quando os desenvolvedores param de fazer sistemas e postar eles, mas se postam

Não é necessário dizer que o Max é foda... Ele mostra isso com as atitudes dele... Faz scripts para o povo, sem pedir nada em troca... Merece 1000 rep+ pela dedicação em compartilhar e emprestar seu c

Posted Images

Amigo funciona em server de poketibia?

Editado por ZORAN (veja o histórico de edições)

UM GRANDE ABRAÇO E FIQUE COM DEUS!

 

Meu Server:

 

( Pokémon Alpha )

 

http://pokemonalpha.zapto.org

 

Meus Trabalhos:

Meus Trabalhos:

1) Entrada Para Morden Acc Ou Gensio

2) Client Parecido com PXG (Não Criei só modifiquei um pouco)

 

3) Tutotial compilando TFS 1.0 com MSVC 2013 

Link para o post
Compartilhar em outros sites

Amigo funciona em server de poketibia.

Que bom {;

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Que bom {;

Amigo talvez tenha entendido errado por minha falda de sintaxe no português eu peço desculpas, eu quero saber se talvez funcionem em poketibia e onde eu posso mudar algum ID se não funcionar como deveria.

Editado por ZORAN (veja o histórico de edições)

UM GRANDE ABRAÇO E FIQUE COM DEUS!

 

Meu Server:

 

( Pokémon Alpha )

 

http://pokemonalpha.zapto.org

 

Meus Trabalhos:

Meus Trabalhos:

1) Entrada Para Morden Acc Ou Gensio

2) Client Parecido com PXG (Não Criei só modifiquei um pouco)

 

3) Tutotial compilando TFS 1.0 com MSVC 2013 

Link para o post
Compartilhar em outros sites

muito bom cara, script bem feito.

se eu quiser por pra abrir o evento com comando, vai afetar alguma coisa ou ja tem outros scripts com isso?

 

Max adora cortar

principalmente quando não precisa huehuehuehue

Link para o post
Compartilhar em outros sites

Olá!

Caro Amigo Max, venho deste texto lhe agradeçer o quanto eu o precisava desse Script!

Mais do que um presente, o que me deixou mais feliz foi sua atitude.
Todos os agradecimentos seriam poucos para demonstrar a minha alegria
e a satisfação por ter lembrado do meu script.
Essa mensagem é um simples gesto de carinho diante da grandiosidade do seu coração.
Agradeço mais uma vez pelo momento maravilhoso que você proporcionou
com a sua lembrança. Saiba que você sempre teve o meu respeito e admiração.
Por isso, diante dessa surpresa, eu não pude conter a minha ansiedade de dizer:
Mil vezes obrigado e um grande abraço caro amigo Max!
Conte comigo oque preciso for. 10 Beijos.

DEDICADO BRASIL

Professional Internet Datacenter

banner_divulgativo_468x60.gif

 

Tudo oque você precisa para ter certeza de que não há nada que vai estragar teus planos em seu projeto Gamer/Engine, nós somos uma empresa qualificada em Segurança em servidores, obtemos técnicos especializados, que possam lhe alertar sobre qualquer falha que você esteja sofrendo.

 

- Visite o site

Link para o post
Compartilhar em outros sites

Amigo talvez tenha entendido errado por minha falda de sintaxe no português eu peço desculpas, eu quero saber se talvez funcionem em poketibia e onde eu posso mudar algum ID se não funcionar como deveria.

Olha, não tem nada que impeça de funcionar em Poketibias [:

muito bom cara, script bem feito.

se eu quiser por pra abrir o evento com comando, vai afetar alguma coisa ou ja tem outros scripts com isso?

Obrigado! Essa nova versão só funciona automaticamente, com comando não abre mais.

Olá!

Caro Amigo Max, venho deste texto lhe agradeçer o quanto eu o precisava desse Script!

Mais do que um presente, o que me deixou mais feliz foi sua atitude.

Todos os agradecimentos seriam poucos para demonstrar a minha alegria

e a satisfação por ter lembrado do meu script.

Essa mensagem é um simples gesto de carinho diante da grandiosidade do seu coração.

Agradeço mais uma vez pelo momento maravilhoso que você proporcionou

com a sua lembrança. Saiba que você sempre teve o meu respeito e admiração.

Por isso, diante dessa surpresa, eu não pude conter a minha ansiedade de dizer:

Mil vezes obrigado e um grande abraço caro amigo Max!

Conte comigo oque preciso for. 10 Beijos.

Lol. Por nada cara ! [:

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Oi MaXwEllDeN,
Instalei o script, porém não entendi uma coisa...
 
Quando os jogadores morrem, a bandeira não deveria voltar pro lugar de origem? Testei aqui com o mapa em áreas PVP + NoLogout e PVP sem o NoLogout, acontecendo o mesmo nos dois casos. O player volta para a base sem perder a bandeira.
 
Além disso está dando um bug quando termina o evento. Segue imagem:
 
pwcf.jpg

 

Minha lib do evento:

 

CTF_LIB = {


waitpos = {x = 1155, y = 1036, z = 7}, -- Posição da sala de espera
tppos = {x = 161, y = 54, z = 7}, -- Onde o TP vai aparecer

days = {2, 3, 5, 7}, -- Dias que o evento vai abrir
xp_percent = 0.5, -- Porcentagem de exp que o player vai ganhar
timeclose = 1, -- Tempo, em minutos, para iniciar o CTF
winp = 2, -- Quantos pontos uma equipe precisa marcar para vencer

teams = {
["Vermelho"] = {
temple = 5, -- TownID da equipe vermelha
outfit = {lookHead = 0, lookBody = 132, lookLegs = 113, lookFeet = 94},

flag = {
id = 1435,
flag_pos = {x = 1218, y = 1057, z = 7}, -- Posição onde a bandeira vermelha vai ser criada
gnd_pos = {x = 1216, y = 1057, z = 7}, -- Onde os players da equipe vermelha entregarão a bandeira.
},
},

["Verde"] = {
temple = 6, -- TownID da equipe verde
outfit = {lookHead = 0, lookBody = 121, lookLegs = 101, lookFeet = 101},

flag = {
id = 1437,
flag_pos = {x = 1262, y = 1057, z = 7}, -- Posição onde a bandeira verde vai ser criada
gnd_pos = {x = 1264, y = 1057, z = 7}, -- Onde os players da equipe verde entregarão a bandeira.
},
},
},
}

local CTF = CTF_LIB

function CTF.getMembers()
local members = {}

for _, cid in pairs(getPlayersOnline()) do
if getPlayerStorageValue(cid, 16700) ~= -1 then
table.insert(members, cid)
end
end

return members
end

function CTF.getTeamMembers(team)
local members = {}

for _, cid in pairs(CTF.getMembers()) do
if getPlayerStorageValue(cid, 16700) == team then
table.insert(members, cid)
end
end

return members
end

function CTF.removePlayer(uid)
setPlayerStorageValue(uid, 16700, -1)
doPlayerSetTown(uid, getPlayerStorageValue(uid, 16701))
doTeleportThing(uid, getTownTemplePosition(getPlayerStorageValue(uid, 16701)))
setPlayerStorageValue(uid, 16701, -1)

doRemoveCondition(uid, CONDITION_OUTFIT)
doCreatureAddHealth(uid, getCreatureMaxHealth(uid))
doCreatureAddMana(uid, getCreatureMaxMana(uid))
return true
end

function CTF.addPlayer(uid)
local team = CTF.getTeamLivre()
local n_team = CTF.teams[team]

setPlayerStorageValue(uid, 16700, team)
setPlayerStorageValue(uid, 16701, getPlayerTown(uid))

doPlayerSetTown(uid, n_team.temple)
doTeleportThing(uid, CTF.waitpos)

doPlayerSendTextMessage(uid, 22, "Você agora faz parte do time ".. team .. ".")

local outfit = getCreatureOutfit(uid)

for i, v in pairs(n_team.outfit) do
outfit = v
end

registerCreatureEvent(uid, "CTFLogout")
registerCreatureEvent(uid, "CTFAttack")
registerCreatureEvent(uid, "CTFCombat")
registerCreatureEvent(uid, "CTFDeath")
doSetCreatureOutfit(uid, outfit, -1)
return true
end

function CTF.getTeamLivre()
local teams = {}

for i, _ in pairs(CTF.teams) do
table.insert(teams, {i, #CTF.getTeamMembers(i)})
end

if (teams[1][2] < teams[2][2]) then
return teams[1][1]
elseif (teams[1][2] > teams[2][2]) then
return teams[2][1]
end

return teams[math.random(2)][1]
end

function CTF.broadCast(msg, class)
for _, uid in pairs(CTF.getMembers()) do
doPlayerSendTextMessage(uid, class or 20, msg)
end

return true
end

function CTF.getFlagTeam(flag)
for i, v in pairs(CTF.teams) do
if v.flag.id == flag then
return i
end
end

return ""
end

local score_sto = {}
local a = 0
for i, _ in pairs(CTF.teams) do
score_sto = 42314 + a
a = a + 1
end

function CTF.createFlags()
for i, v in pairs(CTF.teams) do
local flag = doCreateItem(v.flag.id, 1, v.flag.flag_pos)
doItemSetAttribute(flag, "aid", 63218)

v.flag.gnd_pos.stackpos = 0
local gnd = getThingFromPos(v.flag.gnd_pos).uid
doItemSetAttribute(gnd, "aid", 63200)
doItemSetAttribute(gnd, "team", i)

setGlobalStorageValue(score_sto, 0)
end

return true
end

function CTF.removeFlags()
for i, v in pairs(CTF.teams) do
local flag = doFindItemInPos({v.flag.id}, v.flag.flag_pos)[1]
doRemoveItem(flag.uid, 1)

v.flag.gnd_pos.stackpos = 0
local gnd = getThingFromPos(v.gnd_pos).uid
doItemSetAttribute(gnd, "aid", 0)
end

return true
end

function CTF.start()
doRemoveItem(doFindItemInPos({1387}, CTF.tppos)[1].uid, 1)
setGlobalStorageValue(16705, -1)

if #CTF.getMembers() < 2 then
doBroadcastMessage("O CTF não pôde ser iniciado por falta de players.")

for _, cid in pairs(CTF.getMembers()) do
CTF.removePlayer(cid)
end

return false
end

CTF.broadCast("O CTF foi iniciado. Bom jogo!")

for _, uid in pairs(CTF.getMembers()) do
doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))
end

CTF.createFlags()
return true
end

function CTF.returnFlag(uid, status)
local team = getPlayerStorageValue(uid, 16702)

if status then
local msg = "O player ".. getCreatureName(uid) .. ", estava com a bandeira do time ".. team .. " "

if status == 1 then
msg = msg .. "e foi eliminado. "
elseif status == 2 then
msg = "e foi removido do evento. "
end

msg = msg .. "Portanto a bandeira do time ".. team .. " foi devolvida."
CTF.broadCast(msg)
end

local flag = doCreateItem(CTF.teams[team].flag.id, 1, CTF.teams[team].flag.flag_pos)
doItemSetAttribute(flag, "aid", 63218)

setPlayerStorageValue(uid, 16702, -1)
return true
end

function CTF.addPoint(uid)
local finish
local msg = "Capture The Flag:"

setGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)], getGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)]) + 1)

for i, _ in pairs(CTF.teams) do
msg = msg .. "\nTime ".. i .. ": ".. getGlobalStorageValue(score_sto)

if getGlobalStorageValue(score_sto) >= CTF.winp then
finish = i
end
end

CTF.broadCast(getCreatureName(uid) .. " marcou um ponto para o time ".. getPlayerStorageValue(uid, 16700) .. ".", 22)
CTF.broadCast(msg)
if finish then
CTF.close(finish)
end

return true
end

function CTF.close(win)
for i, _ in pairs(CTF.teams) do
setGlobalStorageValue(score_sto, 0)
end

if not win then
doBroadcastMessage("O CTF acabou sem vencedores.")
else
CTF.broadCast("O time ".. win .. " marcou ".. CTF.winp .. " ponto(s) e venceu o evento.")
end

for _, cid in pairs(CTF.getMembers()) do
if getPlayerStorageValue(cid, 16700) == win then
local xp = math.ceil(getPlayerExperience(cid) * (CTF.xp_percent / 100), 215)
doPlayerSendTextMessage(cid, 22, "Parabéns! Você ganhou o evento e obteve ".. CTF.xp_percent .."% de sua experiência total(".. xp ..").")
doSendAnimatedText(getThingPos(cid), xp, 215)
doPlayerAddExperience(cid, xp)
end

if getPlayerStorageValue(cid, 16702) ~= -1 then
CTF.returnFlag(cid)
end

CTF.removePlayer(cid)
end

CTF.removeFlags()
return true
end

local function Alert(uid)
if (isCreature(uid)) then
if getPlayerStorageValue(uid, 16702) == -1 or getPlayerStorageValue(uid, 16700) == -1 then
return false
end

doSendAnimatedText(getThingPos(uid), "Flag!", math.random(50, 200))

local bla = {18, 19, 21, 22, 23, 24}
doSendMagicEffect(getThingPos(uid), bla[math.random(#bla)])

if (os.time() - getPlayerStorageValue(uid, 16703) >= 60) then
CTF.returnFlag(uid)
return setPlayerStorageValue(uid, 16703, -1)
end

addEvent(Alert, 500, uid)
return true
end

return false
end

function CTF.stealFlag(uid, team)
setPlayerStorageValue(uid, 16702, team)
setPlayerStorageValue(uid, 16703, os.time())

CTF.broadCast(getCreatureName(uid) .. " roubou a bandeira do time ".. team .. "!")
Alert(uid)
return true
end

function doFindItemInPos(ids, pos) -- By Undead Slayer
local results = {}

for _ = 0, 255 do
local findPos = {x = pos.x, y = pos.y, z = pos.z, stackpos = _}
if isInArray(ids, getThingFromPos(findPos).itemid) then
table.insert(results, getThingFromPos(findPos))
end
end

return results
end

 

Meu CTFMax.lua do movements:

 


local CTF = CTF_LIB

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
local team = getItemAttribute(item.uid, "team")

if team ~= getPlayerStorageValue(cid, 16700) then
return doTeleportThing(cid, fromPosition)
end

if getPlayerStorageValue(cid, 16702) == -1 then
doPlayerSendCancel(cid, "Você não está com a bandeira.")
return doTeleportThing(cid, fromPosition)
end

CTF.addPoint(cid)
doTeleportThing(cid, fromPosition)

CTF.returnFlag(cid)
return true
end

 

Fora isso, toda vez que muda algo no CTFMax.lua da pasta movements, dá um erro no console na hora de abrir o server. Se eu digito a mesma coisa que estava antes, persiste o erro. Só volta a funcionar quando coloco de volta o arquivo original do download.

 

Estou usando TFS 0.4.0

 

Pode me ajudar?

Editado por johnarde (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Oi MaXwEllDeN,

Instalei o script, porém não entendi uma coisa...

 

Quando os jogadores morrem, a bandeira não deveria voltar pro lugar de origem? Testei aqui com o mapa em áreas PVP + NoLogout e PVP sem o NoLogout, acontecendo o mesmo nos dois casos. O player volta para a base sem perder a bandeira.

 

Além disso está dando um bug quando termina o evento. Segue imagem:

 

pwcf.jpg

 

Minha lib do evento:

 

CTF_LIB = {

waitpos = {x = 1155, y = 1036, z = 7}, -- Posição da sala de espera

tppos = {x = 161, y = 54, z = 7}, -- Onde o TP vai aparecer

days = {2, 3, 5, 7}, -- Dias que o evento vai abrir

xp_percent = 0.5, -- Porcentagem de exp que o player vai ganhar

timeclose = 1, -- Tempo, em minutos, para iniciar o CTF

winp = 2, -- Quantos pontos uma equipe precisa marcar para vencer

teams = {

["Vermelho"] = {

temple = 5, -- TownID da equipe vermelha

outfit = {lookHead = 0, lookBody = 132, lookLegs = 113, lookFeet = 94},

flag = {

id = 1435,

flag_pos = {x = 1218, y = 1057, z = 7}, -- Posição onde a bandeira vermelha vai ser criada

gnd_pos = {x = 1216, y = 1057, z = 7}, -- Onde os players da equipe vermelha entregarão a bandeira.

},

},

["Verde"] = {

temple = 6, -- TownID da equipe verde

outfit = {lookHead = 0, lookBody = 121, lookLegs = 101, lookFeet = 101},

flag = {

id = 1437,

flag_pos = {x = 1262, y = 1057, z = 7}, -- Posição onde a bandeira verde vai ser criada

gnd_pos = {x = 1264, y = 1057, z = 7}, -- Onde os players da equipe verde entregarão a bandeira.

},

},

},

}

local CTF = CTF_LIB

function CTF.getMembers()

local members = {}

for _, cid in pairs(getPlayersOnline()) do

if getPlayerStorageValue(cid, 16700) ~= -1 then

table.insert(members, cid)

end

end

return members

end

function CTF.getTeamMembers(team)

local members = {}

for _, cid in pairs(CTF.getMembers()) do

if getPlayerStorageValue(cid, 16700) == team then

table.insert(members, cid)

end

end

return members

end

function CTF.removePlayer(uid)

setPlayerStorageValue(uid, 16700, -1)

doPlayerSetTown(uid, getPlayerStorageValue(uid, 16701))

doTeleportThing(uid, getTownTemplePosition(getPlayerStorageValue(uid, 16701)))

setPlayerStorageValue(uid, 16701, -1)

doRemoveCondition(uid, CONDITION_OUTFIT)

doCreatureAddHealth(uid, getCreatureMaxHealth(uid))

doCreatureAddMana(uid, getCreatureMaxMana(uid))

return true

end

function CTF.addPlayer(uid)

local team = CTF.getTeamLivre()

local n_team = CTF.teams[team]

setPlayerStorageValue(uid, 16700, team)

setPlayerStorageValue(uid, 16701, getPlayerTown(uid))

doPlayerSetTown(uid, n_team.temple)

doTeleportThing(uid, CTF.waitpos)

doPlayerSendTextMessage(uid, 22, "Você agora faz parte do time ".. team .. ".")

local outfit = getCreatureOutfit(uid)

for i, v in pairs(n_team.outfit) do

outfit = v

end

registerCreatureEvent(uid, "CTFLogout")

registerCreatureEvent(uid, "CTFAttack")

registerCreatureEvent(uid, "CTFCombat")

registerCreatureEvent(uid, "CTFDeath")

doSetCreatureOutfit(uid, outfit, -1)

return true

end

function CTF.getTeamLivre()

local teams = {}

for i, _ in pairs(CTF.teams) do

table.insert(teams, {i, #CTF.getTeamMembers(i)})

end

if (teams[1][2] < teams[2][2]) then

return teams[1][1]

elseif (teams[1][2] > teams[2][2]) then

return teams[2][1]

end

return teams[math.random(2)][1]

end

function CTF.broadCast(msg, class)

for _, uid in pairs(CTF.getMembers()) do

doPlayerSendTextMessage(uid, class or 20, msg)

end

return true

end

function CTF.getFlagTeam(flag)

for i, v in pairs(CTF.teams) do

if v.flag.id == flag then

return i

end

end

return ""

end

local score_sto = {}

local a = 0

for i, _ in pairs(CTF.teams) do

score_sto = 42314 + a

a = a + 1

end

function CTF.createFlags()

for i, v in pairs(CTF.teams) do

local flag = doCreateItem(v.flag.id, 1, v.flag.flag_pos)

doItemSetAttribute(flag, "aid", 63218)

v.flag.gnd_pos.stackpos = 0

local gnd = getThingFromPos(v.flag.gnd_pos).uid

doItemSetAttribute(gnd, "aid", 63200)

doItemSetAttribute(gnd, "team", i)

setGlobalStorageValue(score_sto, 0)

end

return true

end

function CTF.removeFlags()

for i, v in pairs(CTF.teams) do

local flag = doFindItemInPos({v.flag.id}, v.flag.flag_pos)[1]

doRemoveItem(flag.uid, 1)

v.flag.gnd_pos.stackpos = 0

local gnd = getThingFromPos(v.gnd_pos).uid

doItemSetAttribute(gnd, "aid", 0)

end

return true

end

function CTF.start()

doRemoveItem(doFindItemInPos({1387}, CTF.tppos)[1].uid, 1)

setGlobalStorageValue(16705, -1)

if #CTF.getMembers() < 2 then

doBroadcastMessage("O CTF não pôde ser iniciado por falta de players.")

for _, cid in pairs(CTF.getMembers()) do

CTF.removePlayer(cid)

end

return false

end

CTF.broadCast("O CTF foi iniciado. Bom jogo!")

for _, uid in pairs(CTF.getMembers()) do

doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)))

end

CTF.createFlags()

return true

end

function CTF.returnFlag(uid, status)

local team = getPlayerStorageValue(uid, 16702)

if status then

local msg = "O player ".. getCreatureName(uid) .. ", estava com a bandeira do time ".. team .. " "

if status == 1 then

msg = msg .. "e foi eliminado. "

elseif status == 2 then

msg = "e foi removido do evento. "

end

msg = msg .. "Portanto a bandeira do time ".. team .. " foi devolvida."

CTF.broadCast(msg)

end

local flag = doCreateItem(CTF.teams[team].flag.id, 1, CTF.teams[team].flag.flag_pos)

doItemSetAttribute(flag, "aid", 63218)

setPlayerStorageValue(uid, 16702, -1)

return true

end

function CTF.addPoint(uid)

local finish

local msg = "Capture The Flag:"

setGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)], getGlobalStorageValue(score_sto[getPlayerStorageValue(uid, 16700)]) + 1)

for i, _ in pairs(CTF.teams) do

msg = msg .. "\nTime ".. i .. ": ".. getGlobalStorageValue(score_sto)

if getGlobalStorageValue(score_sto) >= CTF.winp then

finish = i

end

end

CTF.broadCast(getCreatureName(uid) .. " marcou um ponto para o time ".. getPlayerStorageValue(uid, 16700) .. ".", 22)

CTF.broadCast(msg)

if finish then

CTF.close(finish)

end

return true

end

function CTF.close(win)

for i, _ in pairs(CTF.teams) do

setGlobalStorageValue(score_sto, 0)

end

if not win then

doBroadcastMessage("O CTF acabou sem vencedores.")

else

CTF.broadCast("O time ".. win .. " marcou ".. CTF.winp .. " ponto(s) e venceu o evento.")

end

for _, cid in pairs(CTF.getMembers()) do

if getPlayerStorageValue(cid, 16700) == win then

local xp = math.ceil(getPlayerExperience(cid) * (CTF.xp_percent / 100), 215)

doPlayerSendTextMessage(cid, 22, "Parabéns! Você ganhou o evento e obteve ".. CTF.xp_percent .."% de sua experiência total(".. xp ..").")

doSendAnimatedText(getThingPos(cid), xp, 215)

doPlayerAddExperience(cid, xp)

end

if getPlayerStorageValue(cid, 16702) ~= -1 then

CTF.returnFlag(cid)

end

CTF.removePlayer(cid)

end

CTF.removeFlags()

return true

end

local function Alert(uid)

if (isCreature(uid)) then

if getPlayerStorageValue(uid, 16702) == -1 or getPlayerStorageValue(uid, 16700) == -1 then

return false

end

doSendAnimatedText(getThingPos(uid), "Flag!", math.random(50, 200))

local bla = {18, 19, 21, 22, 23, 24}

doSendMagicEffect(getThingPos(uid), bla[math.random(#bla)])

if (os.time() - getPlayerStorageValue(uid, 16703) >= 60) then

CTF.returnFlag(uid)

return setPlayerStorageValue(uid, 16703, -1)

end

addEvent(Alert, 500, uid)

return true

end

return false

end

function CTF.stealFlag(uid, team)

setPlayerStorageValue(uid, 16702, team)

setPlayerStorageValue(uid, 16703, os.time())

CTF.broadCast(getCreatureName(uid) .. " roubou a bandeira do time ".. team .. "!")

Alert(uid)

return true

end

function doFindItemInPos(ids, pos) -- By Undead Slayer

local results = {}

for _ = 0, 255 do

local findPos = {x = pos.x, y = pos.y, z = pos.z, stackpos = _}

if isInArray(ids, getThingFromPos(findPos).itemid) then

table.insert(results, getThingFromPos(findPos))

end

end

return results

end

 

Meu CTFMax.lua do movements:

 

local CTF = CTF_LIB

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)

local team = getItemAttribute(item.uid, "team")

if team ~= getPlayerStorageValue(cid, 16700) then

return doTeleportThing(cid, fromPosition)

end

if getPlayerStorageValue(cid, 16702) == -1 then

doPlayerSendCancel(cid, "Você não está com a bandeira.")

return doTeleportThing(cid, fromPosition)

end

CTF.addPoint(cid)

doTeleportThing(cid, fromPosition)

CTF.returnFlag(cid)

return true

end

 

Fora isso, toda vez que muda algo no CTFMax.lua da pasta movements, dá um erro no console na hora de abrir o server. Se eu digito a mesma coisa que estava antes, persiste o erro. Só volta a funcionar quando coloco de volta o arquivo original do download.

 

Estou usando TFS 0.4.0

 

Pode me ajudar?

 

Opa, obrigado por reportar os bugs, já corrigi!

 

 

@Tópico

 

Corrigido bug de morrer no CTF.

Corrigido bug de não remover bandeiras no fim do evento.

Corrigido bug no Utana vid.

 

Tópico atualizado - 15/08/2013.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

OK Max,

Os bugs reportados foram devidamente corrigidos, mas acho que ocorreu um bug pequeno novamente.

 

Os jogadores da equipe vencedora, no final do evento não estão sendo teleportadas para suas respectivas cidades. O jogo acontece normalmente mas no final acaba ocorrendo isso.

 

Além disso está dando outro erro no console, acho que isso pode ajudar a resolver.

 

8qj3.jpg

 

Aguardo sua resposta, até mais ;)

Link para o post
Compartilhar em outros sites

OK Max,

Os bugs reportados foram devidamente corrigidos, mas acho que ocorreu um bug pequeno novamente.

 

Os jogadores da equipe vencedora, no final do evento não estão sendo teleportadas para suas respectivas cidades. O jogo acontece normalmente mas no final acaba ocorrendo isso.

 

Além disso está dando outro erro no console, acho que isso pode ajudar a resolver.

 

8qj3.jpg

 

Aguardo sua resposta, até mais ;)

 

Eles não foram teletransportados por culpa desse erro que aparece no console, modifiquei aqui e acho que já está ok, pode fazer o download.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Eles não foram teletransportados por culpa desse erro que aparece no console, modifiquei aqui e acho que já está ok, pode fazer o download.

 

Ok, vou testar!

 

@EDIT: Os players do time vencedor continuam sem voltar para suas cidades originais. Dessa vez nenhum erro apareceu no console.

 

@EDIT2: Andei fazendo os testes aqui, na verdade, apenas o jogador que marca o último ponto não está sendo teletransportado

Editado por johnard (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Sim, já upei ai no tópico uma nova versão, creio que tenha corrigido já, desculpe pela demora e obrigado!

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites
  • 2 months later...

Eu instalei no meu servidor muito bom o evento... apenas está dando um erro.

 

O erro - Os players ficam presos na cidade do evento... Ex: os players do time verde quando acaba o evento vão pra cidade do time vermelho e vice-versa. Não vão para a cidade principal....

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.




×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo