Ir para conteúdo

[Encerrado] Pf ajuda ?


igordutra

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
Compartilhar em outros sites

8 minutos atrás, igordutra disse:

como eu aplico getplayersinarea no script não manjo faze script :X

Onde tu pegou esses scripts? lá deveria ter.

Link para o comentário
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
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
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
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
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
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
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
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...