Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Então galeraa, estou eu aqui, mais uma vez para pedir a ajuda de vocês. Meu servidor está ficando cada vez melhor em termos de equilibrios e diminuição de bugs, mas, estou com um problema no Coliseum Event, quando o pessoal entra e tal, quem morre perde level, loot, e skill.

Não sei muito bem o porque disso, alguém sabe como arrumar?

 

Um outro problema é a WoE, a guild que conquista o castelo, não consegue entrar nele depois.

 

Alguém saberia arrumar esses 2 problemas? ou pelo menos 1 deles, o principal é o Coliseum Event, que está me dando uma certa dor de cabeça, tem vezes até que o players fica preso lá e eu tenho q puxar ele.

 

REP+ a quem souber arrumar.

 

6cb96129-c6fb-49ca-8267-4cbf4f41578c.gif

Link para o post
Compartilhar em outros sites

Então galeraa, estou eu aqui, mais uma vez para pedir a ajuda de vocês. Meu servidor está ficando cada vez melhor em termos de equilibrios e diminuição de bugs, mas, estou com um problema no Coliseum Event, quando o pessoal entra e tal, quem morre perde level, loot, e skill.

Não sei muito bem o porque disso, alguém sabe como arrumar?

 

Um outro problema é a WoE, a guild que conquista o castelo, não consegue entrar nele depois.

 

Alguém saberia arrumar esses 2 problemas? ou pelo menos 1 deles, o principal é o Coliseum Event, que está me dando uma certa dor de cabeça, tem vezes até que o players fica preso lá e eu tenho q puxar ele.

 

REP+ a quem souber arrumar.

Tente postar o script do WoE.

Att.

Giovani Rodrigo

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

aqui está amigo: 

 

 

dofile("./_woe.lua")
 
local config = woe_config
 
function onSay(cid, words, param)
 
if words == "/woe" and param == "/!/SETUP" then
Woe.setup()
return true
end
 
Woe.getInfo()
 
local myTable = {}
 
for _, i in ipairs({"%d", "%B", "%Y", "%X"}) do
table.insert(myTable, os.date(i, infoLua[4]))
end
 
if Woe.isStarted() then
text = "time left = " ..  Woe.timeToEnd().mins .. ":" .. Woe.timeToEnd().secs .. "\nActually the castle " .. Castle.name .. " is owned by " .. Woe.guildName() .. ".\n" .. Woe.breakerName() .. " broke the empe at "..myTable[1].." / "..myTable[2].." / "..myTable[3].." at time "..myTable[4].."."
else
text = "the last woe was won by " .. Woe.guildName() .. ".\n" .. Woe.breakerName() .. " broke the empe at "..myTable[1].." / "..myTable[2].." / "..myTable[3].." at time "..myTable[4].."."
end
 
if words == "/woe" then
if getPlayerAccess(cid) >= config.accessToStar then
if param == "on" then
if Woe.isTime() ~= true then
doBroadcastMessage("War of Emperium will start in next 5 minutes...", config.bcType)
doBroadcastMessage("will have a duration of " .. config.timeToEnd .. " Minutes.", config.bcType)
setGlobalStorageValue(stor.WoeTime, 1)
else
doPlayerSendCancel(cid, "WoE is already running.")
end
elseif param == "off" then
if Woe.isTime() == true then
doBroadcastMessage("WoE was canceled...", config.bcType)
setGlobalStorageValue(stor.WoeTime, 0)
setGlobalStorageValue(stor.Started, 0)
if isCreature(getThingFromPos(Castle.empePos).uid) == TRUE then
doRemoveCreature(getThingFromPos(Castle.empePos).uid)
end
if getThingFromPos(Castle.desde).itemid > 0 then
doRemoveItem(getThingFromPos(Castle.desde).uid)
end
Woe.removePre()
Woe.removePortals()
else
doPlayerSendCancel(cid, "WoE is not running.")
end
elseif param == "empe" then
doSummonCreature("empe", Castle.empePos)
elseif param == "go" then
local newPos = Castle.empePos
newPos.y = newPos.y + 1
doTeleportThing(cid, newPos, FALSE)
elseif param == "info" then
doPlayerPopupFYI(cid, text)
else
doPlayerSendCancel(cid, "not valid param.")
end
elseif getPlayerAccess(cid) < config.accessToStar then
if param == "info" then
doPlayerPopupFYI(cid, text)
end
else
doPlayerSendCancel(cid, "not possible.")
end
elseif words == "!recall" then
if Woe.isStarted() == true then
if getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER then
if Woe.isInCastle(cid) == true then
local members = Woe.getGuildMembers(getPlayerGuildId(cid))
if #members > 1 then
if(exhaust(cid, stor.recall, config.recallTime) == 1) then
for _, i in ipairs(members) do
if getPlayerGuildLevel(i) ~= GUILDLEVEL_LEADER then
local pos = getClosestFreeTile(cid, getCreaturePosition(cid), FALSE, TRUE)
doTeleportThing(i, pos, FALSE)
end
end
doCreatureSay(cid, "Emergency Recall", TALKTYPE_SAY)
else
doPlayerSendCancel(cid, "you can only use this every " .. config.recallTime / 60 .. " minutes.")
end
else
doPlayerSendCancel(cid, "no members online.")
end
else
doPlayerSendCancel(cid, "only can be used in the castle.")
end
else
doPlayerSendCancel(cid, "you are not the leader.")
end
else
doPlayerSendCancel(cid, "woe is not running.")
end
end
return true
end

 
 
@edit: Continuo com o problema no evento Coliseum e já verifiquei no Rme e está tudo em PVP Zone.
 
         Script Coliseum:

local config = {
    semana_mes = "semana",
    days = {2,5,7},
    goblet = 5805, -- id of the gold goblet you'll get when finishing the event.
    rewards = {2195, 2152, 2160}, -- You will get this +  a gold goblet with your name on.
    moneyReward = {2160, 10, 1}, -- second collumn(count) 0 if you don't want money to be used. or a stackable item you want more than 1 of.
    playerCount = 12001, -- Global storage for counting the players left/entered in the event
    teleportActionId = 12008, -- Action id of the teleport needed for the movement script
    teleportPosition = {x = 32364, y = 32233, z = 7, stackpos = 1}, -- Where the teleport will be created
    teleportToPosition = {x = 32143, y = 32202, z = 7}, -- Where the teleport will take you
    teleportId = 1387, -- Id of the teleport
    timeToStartEvent = 10, -- Minutes, after these minutes the teleport will be removed and the event will be declared started
    coliseumName = "event lion", -- Name of the coliseum that should be summoned
coliseumName2 = "event tiger", -- Name of the coliseum that should be summoned
    playersNeededToStartEvent = 3, -- Players needed before the coliseums can spawn.
   
    -- Should be the same as in the creaturescript!
    -- The coliseums will spawn randomly inside this area
    fromPosition = {x = 32129, y = 32188, z = 7}, -- top left cornor of the playground
    toPosition = {x = 32159, y = 32215, z = 7}, -- bottom right cornor of the playground
        posportoescima={{{x = 32143, y = 32188, z = 7},{x = 32144, y = 32188, z = 7}},{{x = 32144, y = 32215, z = 7},{x = 32145, y = 32215, z = 7}}},
        posportoeslado={{{x = 32131, y = 32202, z = 7},{x = 32131, y = 32201, z = 7}},{{x = 32156, y = 32202, z = 7},{x = 32156, y = 32203, z = 7}}},
        idportaocima = 1547,
        idportaolado = 1546,
        tempoparaabrir = 120, --em segundos
        poslion = {{x = 32142, y = 32187, z = 7},{x = 32130, y = 32201, z = 7},{x = 32146, y = 32216, z = 7}, {x = 32157, y = 32201, z = 7}},
postigre = {{x = 32142, y = 32187, z = 7},{x = 32129, y = 32203, z = 7},{x = 32143, y = 32216, z = 7}, {x = 32157, y = 32204, z = 7}}
    }
 
 
function onTime()
    local time = os.date("*t")
local asd = config.timeToStartEvent*60
for x=0,3 do
local pol = asd + (x*config.tempoparaabrir)
addEvent(doBroadcastMessage,pol*1000,"The next coliseum gate will open in " .. config.tempoparaabrir .. " seconds! Good luck!",MESSAGE_EVENT_ADVANCE)
end
    if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.days,time.day)) or config.semana_mes == "" then
local tt = config.timeToStartEvent*60000
for p,u in pairs(config.posportoescima) do
for a,b in pairs(u) do
doCreateItem(config.idportaocima,b)
addEvent(rrport,tt,b,config.idportaocima)
end
tt = tt + (config.tempoparaabrir*(p - 1)*1000)
end
for p,u in pairs(config.posportoeslado) do
for a,b in pairs(u) do
doCreateItem(config.idportaolado,b)
addEvent(rrport,tt,b,config.idportaolado)
end
tt = tt + (config.tempoparaabrir*p*1000)
end
 
   local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition)
   doItemSetAttribute(tp, "aid", config.teleportActionId)
   doBroadcastMessage("Coliseum event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING)
   setGlobalStorageValue(config.playerCount, 0)
   addEvent(startEvent2, config.timeToStartEvent * 1000 * 60)
for _,k in pairs(config.poslion) do
doCreateMonster(config.coliseumName, k,false)
end
for _,k in pairs(config.postigre) do
doCreateMonster(config.coliseumName2, k,false)
end
    end
    return TRUE
end
 
function rrport(pos,id)
local uid = getTileItemById(pos,id).uid
doRemoveItem(uid)
end
 
function startEvent2()
    local get = getThingfromPos(config.teleportPosition)
    if get.itemid == config.teleportId then
        doRemoveItem(get.uid, 1)
    end
    
    local fromp, top = config.fromPosition, config.toPosition
 
    if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then
        doBroadcastMessage("Good luck in the Coliseum event people! The teleport has closed!", MESSAGE_STATUS_WARNING)
        for x = fromp.x, top.x do
            for y = fromp.y, top.y do
                for z = fromp.z, top.z do
                    areapos = {x = x, y = y, z = z, stackpos = 253}
                    getPlayers = getThingfromPos(areapos)
                    if isPlayer(getPlayers.uid) then
                        --doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The next coliseum gate will open in " .. config.tempoparaabrir .. " seconds! Good luck!")
pvgaylord2()
return true
                    end
                end
            end
        end
    else
        doBroadcastMessage("The coliseum event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING)
        for x = fromp.x, top.x do
            for y = fromp.y, top.y do
                for z = fromp.z, top.z do
                    areapos = {x = x, y = y, z = z, stackpos = 253}
                    getPlayers = getThingfromPos(areapos)
                    if isPlayer(getPlayers.uid) then
                        doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false)
                        doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT)
elseif isMonster(getPlayers.uid) then
doRemoveCreature(getPlayers.uid)
                    end
                end
            end
        end
    end
end
 
function spawncoliseum(p)
    if getGlobalStorageValue(config.playerCount) >= 2 then
if p ~= getGlobalStorageValue(config.playerCount) then
doBroadcastMessage("There is currently " .. getGlobalStorageValue(config.playerCount) .. " players in the coliseum event!", MESSAGE_STATUS_CONSOLE_RED)
end
    else
local fromp, top = config.fromPosition, config.toPosition
        for x = fromp.x, top.x do
            for y = fromp.y, top.y do
                for z = fromp.z, top.z do
                    areapos = {x = x, y = y, z = z, stackpos = 253}
                    cid = getThingfromPos(areapos).uid
                    if isPlayer(cid) then
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)
doBroadcastMessage(getCreatureName(cid)..' has survived at coliseum event!')
local n = #config.rewards
if config.moneyReward[3] then
n = n + 1
end
if config.rewards[math.random(1,n)] then
doPlayerAddItem(cid, items, 1)
else
doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2])
end
doBroadcastMessage(getPlayerName(cid) .. " won the coliseum event! Congratulations!", MESSAGE_STATUS_WARNING)
local goblet = doPlayerAddItem(cid, config.goblet, 1)
doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the coliseum event.")
doPlayerAddLevel(cid, 1, "You advanced from level " ..getPlayerLevel(cid).. " to level " ..(getPlayerLevel(cid) + 1).. " in Coliseum Event.")
elseif isMonster(cid) then
doRemoveCreature(cid)
                    end
                end
            end
        end
    end
end
 
 
 
function pvgaylord2()
local fromp, top, p, m = config.fromPosition, config.toPosition, 0, 0
for x = fromp.x, top.x do
        for y = fromp.y, top.y do
            for z = fromp.z, top.z do
                local areapos = {x = x, y = y, z = z, stackpos = 253}
                local cid = getThingfromPos(areapos).uid
                if isPlayer(cid) then
p = p+1
elseif isMonster(cid) then
m = m+1
                end
            end
        end
    end
local ll = getGlobalStorageValue(config.playerCount)
if p ~= getGlobalStorageValue(config.playerCount) then
setGlobalStorageValue(config.playerCount, p)
end
spawncoliseum(ll)
if p < 2 then
return true
end
addEvent(pvgaylord2,300,nil)
end

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

 

6cb96129-c6fb-49ca-8267-4cbf4f41578c.gif

Link para o post
Compartilhar em outros sites

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