Ir para conteúdo

Posts Recomendados

Olá eu estou com um problema em um script que peguei de outro servidor coloquei tudo eu acho quando ele tenta iniciar o evento ele apenas Fecha não Inicia

Screenshot_1.png.8e672c68b7e259cba094e97175d3446e.pngScreenshot_2.png.590232ff40a98e08e2e8654a4707bc03.png

 

da esse seguinte erro

uso TFs4 8.60

 

realcastle.lua: 

 

local function announce(message, times)
    if times == 0 then return true end
    doBroadcastMessage(message)
    addEvent(announce,5*60000,message,times - 1)
end

--[[function onTime()
    if not realCastle.isOpen() then
        announce("[Real Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!",11)
        for i = 1,4 do
            addEvent(doBroadcastMessage,60000 * i,"[Real Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!")
        end
        realCastle.open()
    else
        realCastle.close()
    end
    return true
end]]

function onTime()
    if realCastle.isOpen() then
        realCastle.close()
    else
        if isInArray(realCastle.open_days, os.date("%A")) then
            announce("[Real Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!",11)
            for i = 1,4 do
                addEvent(doBroadcastMessage,60000 * i,"[Real Castle] O acesso à área de dominar do castelo está liberado até as 20:00. Boa sorte a todas as guilds!")
            end
            realCastle.open()
        else
            doBroadcastMessage("[Real Castle] O castelo foi fechado para os plebeus poderem prepará-lo para a próxima batalha, que ocorrerá amanhã às 19:00!")
            realCastle.release()
        end
    end
    return true
end
 

 

Screenshot_1.png.8e672c68b7e259cba094e97175d3446e.png

Screenshot_2.png.590232ff40a98e08e2e8654a4707bc03.png

Link para o comentário
https://xtibia.com/forum/topic/246035-encerrado-pf-ajuda/
Compartilhar em outros sites

Eu baixei de um servidor de baiak mais veio sem as sources ai fui pegando oque eu achei no rme so que falto essa parada ai e eu não achei e nem sei como colocar :c

 

ele ta funcionando direito so que em vez de iniciar o evento ele ja fecha logo de começo.

Editado por igordutra
Link para o comentário
https://xtibia.com/forum/topic/246035-encerrado-pf-ajuda/#findComment-1721118
Compartilhar em outros sites

Se tu ainda tiver o servidor, busca na pasta lib algum arquivo relacionado a functions; pode ser que esteja nele.

Não sei se vai servir a teu proposito, mas tenta usar esse aqui:

function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers)    local creaturesList,radiusx,radiusy = {},radiusx or 0,radiusy or 0    for x = -radiusx, radiusx do        for y = -radiusy, radiusy do		local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE})			if (creature.type == 1 and showPlayers == true) or (creature.type == 2 and showMonsters == true) then				table.insert(creaturesList, creature.uid)			end        end    end    return creaturesListend

lembrando que tu vai ter que fazer as devidas adaptações de parâmetros.

Link para o comentário
https://xtibia.com/forum/topic/246035-encerrado-pf-ajuda/#findComment-1721120
Compartilhar em outros sites

é isso daqui ? 

 

realCastle = {
    
    open_storage = 722374,
    guild_storage = 722375,
    date_storages = {722376,722377,722378},
    open_days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Wednesday","Saturday"},
    frompos = {x = 194, y = 393, z = 7},
    topos = {x = 167, y = 50, z = 8}

}

realCastle.removePlayers = function()    
    local first_cave = getPlayersInArea({x = 2079, y = 1332, z = 6},{x = 2111, y = 1314, z = 3})
    local second_cave = getPlayersInArea({x = 1995, y = 1307, z = 7},{x = 2014, y = 1328, z = 7})
    local third_cave = getPlayersInArea({x = 2069, y = 1277, z = 7},{x = 2119, y = 1328, z = 7})
       local fourth_cave = getPlayersInArea({x = 2172, y = 1286, z = 7},{x = 2226, y = 1312, z = 7})
    local fifith_cave = getPlayersInArea({x = 1527, y = 1388, z = 7},{x = 1539, y = 1448, z = 7})
    local sixth_cave = getPlayersInArea({x = 1606, y = 1392, z = 7},{x = 1645, y = 1453, z = 7})
    local area7 = getPlayersInArea({x = 1736, y = 1385, z = 6}, {x = 1778, y = 1437, z = 6})
    local area8 = getPlayersInArea({x = 1714, y = 1293, z = 7}, {x = 1704, y = 1353, z = 7})
    local area9 = getPlayersInArea({x = 1792, y = 1310, z = 7}, {x = 1806, y = 1362, z = 7})
    local area10 = getPlayersInArea({x = 1682, y = 1208, z = 7}, {x = 1687, y = 1257, z = 7})
    local area11 = getPlayersInArea({x = 1766, y = 1205, z = 7}, {x = 1836, y = 1271, z = 7})
    local area12 = getPlayersInArea({x = 1907, y = 1293, z = 7}, {x = 1920, y = 1365, z = 7})
    local area13 = getPlayersInArea({x = 1834, y = 1383, z = 7}, {x = 1805, y = 1449, z = 7})
    local area14 = getPlayersInArea({x = 1911, y = 1387, z = 7}, {x = 1920, y = 1459, z = 7})
    local area15 = getPlayersInArea({x = 2013, y = 1094, z = 7}, {x = 2016, y = 1205, z = 7})
    local area16 = getPlayersInArea({x = 2278, y = 1186, z = 7}, {x = 2339, y = 1293, z = 7})
    local area17 = getPlayersInArea({x = 2223, y = 1227, z = 6}, {x = 2253, y = 1198, z = 5})
    local area18 = getPlayersInArea({x = 1910, y = 1471, z = 6}, {x = 1878, y = 1404, z = 6})
    local castle_area = getPlayersInArea(realCastle.frompos,realCastle.topos)
    if first_cave then
        for _, pid in pairs(first_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if second_cave then
        for _, pid in pairs(second_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if third_cave then
        for _, pid in pairs(third_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if fourth_cave then
        for _, pid in pairs(fourth_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 2288 and pos.x <= 2364 and pos.y >= 433 and pos.y <= 509 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 2148 and pos.x <= 2189 and pos.y >= 641 and pos.y <= 679 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    for _, tid in pairs(getPlayersOnline()) do
        local pos = getThingPos(tid)
        if pos.x >= 2229 and pos.x <= 622 and pos.y >= 2320 and pos.y <= 704 then
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(tid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if fifith_cave then
        for _, pid in pairs(fifith_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if sixth_cave then
        for _, pid in pairs(sixth_cave) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area10 then
        for _, pid in pairs(area10) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area11 then
        for _, pid in pairs(area11) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area12 then
        for _, pid in pairs(area12) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area13 then
        for _, pid in pairs(area13) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area14 then
        for _, pid in pairs(area14) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area15 then
        for _, pid in pairs(area15) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area16 then
        for _, pid in pairs(area16) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area17 then
        for _, pid in pairs(area17) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
    if area18 then
        for _, pid in pairs(area18) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end

    if castle_area then
        for _, pid in pairs(castle_area) do
            doTeleportThing(pid,getTownTemplePosition(1))
            doPlayerPopupFYI(pid,"O domínio de sua guild sob o castelo acabou e uma nova batalha está se iniciando.")
        end
    end
end

realCastle.open = function()
    setGlobalStorageValue(realCastle.open_storage,1)
    setGlobalStorageValue(realCastle.guild_storage,-1)
    realCastle.removePlayers()
end

realCastle.release = function()
    setGlobalStorageValue(realCastle.guild_storage,-1)
    realCastle.removePlayers()
end

realCastle.close = function()
    setGlobalStorageValue(realCastle.open_storage,-1)
    local tomorrow = getTomorrowsDate(getTomorrowsDate()[1])
    for i = 1,3 do
        setGlobalStorageValue(realCastle.date_storages,tomorrow)
    end
    local players = getPlayersInArea(realCastle.frompos, realCastle.topos)
    if players then
        for _, pid in pairs(players) do
            doTeleportThing(pid,getTownTemplePosition(1))
        end
    end
    if getGlobalStorageValue(realCastle.guild_storage) == -1 then
        doBroadcastMessage("[Real Castle] A batalha terminou e nenhuma guild conseguiu dominar o castelo! Amanhã às 19:00 vocês podem tentar novamente!")
    else
        doBroadcastMessage("[Real Castle] A batalha terminou e a guild vencedora foi "..getGuildNameByID(getGlobalStorageValue(realCastle.guild_storage)).."! Todos os jogadores dessa guild agora podem aproveitar o castelo até amanhâ às 19:00!")
    end
    doSaveServer()
end

realCastle.broadcast = function(message)
    local players = getPlayersInArea(realCastle.frompos, realCastle.topos)
    if players then
        for _, pid in pairs(players) do
            doPlayerSendTextMessage(pid,MESSAGE_STATUS_WARNING,message)
        end
    end
end

realCastle.domain = function(cid)
    local guild_id = getPlayerGuildId(cid)
    setGlobalStorageValue(realCastle.guild_storage,guild_id)
    realCastle.broadcast("[Real Castle] O jogador "..getPlayerName(cid).." da guild "..getPlayerGuildName(cid).." dominou o castelo! As outras guilds têm até às 20:00 para conseguir tirar o domínio deles, não desistam!")
end

realCastle.isDominating = function(cid)
    local guild_id = getPlayerGuildId(cid)
    return guild_id == getGlobalStorageValue(realCastle.guild_storage)
end

realCastle.isOpen = function()
    return getGlobalStorageValue(realCastle.open_storage) == 1
end

Link para o comentário
https://xtibia.com/forum/topic/246035-encerrado-pf-ajuda/#findComment-1721121
Compartilhar em outros sites

adiciona essa função a seu servidor.

function getPlayersInArea(frompos,topos) --[[( Marcryzius )]]--local players = {}	for X = frompos.x,topos.x do		for Y = frompos.y,topos.y do		local get = getThingfromPos({x=X,y=Y,z=topos.z, stackpos=253})			if(get and isPlayer(get.uid))then 				table.insert(players,get.uid)			end		end	end	return playersend

 

Link para o comentário
https://xtibia.com/forum/topic/246035-encerrado-pf-ajuda/#findComment-1721122
Compartilhar em outros sites

2 horas atrás, igordutra disse:

onde eu coloco ela tentei faze umas gambiarra e aqui e não deu começo da um monte de error e derrubava o servidor :/

 

Poem o codigo que do @Poccnn  no arquivo 050-function ou crie um arquivo .lua na pasta data/lib

(o arquivo 050-function fica localizado na mesma pasta lib)

Link para o comentário
https://xtibia.com/forum/topic/246035-encerrado-pf-ajuda/#findComment-1721130
Compartilhar em outros sites

Coloquei e agora deu esse error Screenshot_1.png.a15006b2aad7d2ca60b91ba9c8618384.png

 

Eu tinha colocado no function e tinha dado esse error antes ai criei uma nova lua na lib e deu o mesmo error :x

 

Eu copiei os script desse server http://www.mediafire.com/file/q9m75ovnk7h6g9q/otserv.zip

 

 

Screenshot_1.png.a15006b2aad7d2ca60b91ba9c8618384.png

Editado por igordutra
Link para o comentário
https://xtibia.com/forum/topic/246035-encerrado-pf-ajuda/#findComment-1721145
Compartilhar em outros sites

3 horas atrás, igordutra disse:

Coloquei e agora deu esse error Screenshot_1.png.a15006b2aad7d2ca60b91ba9c8618384.png

 

Eu tinha colocado no function e tinha dado esse error antes ai criei uma nova lua na lib e deu o mesmo error :x

 

Eu copiei os script desse server http://www.mediafire.com/file/q9m75ovnk7h6g9q/otserv.zip

 

 

Deixe o script dentro do arquivo function. 

Esse erro se deu por não existir o tile. Verifique as posições se estão corretas; quando digo corretas, digo na posição certa e onde exista tiles.

Link para o comentário
https://xtibia.com/forum/topic/246035-encerrado-pf-ajuda/#findComment-1721155
Compartilhar em outros sites

  • 3 months later...
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...