Ir para conteúdo

Featured Replies

Postado
  • Autor
  Em 04/06/2017 em 19:19, Radamanthys Wov disse:

Não entendi nada que você disse, explica direitinho aí.

uma print. Poderá demostrar e entender melhor. Obs: Somente quando passei pra otx ficou assim e então acredito que é o script que tem que mudar para base otx.
Ex: coloquei pra entregar a bandeira na pos // 1 ,1,1  // e o piso do pos 1 ,1,1 é branco. Automaticamente todos os piso branco ficará com a mesma função de entregar a bandeira.

zc.png

Quando era tfs funcionava normalmente, Depois que transformei meu ot otx Ficoou assim.

  Em 04/06/2017 em 20:11, KotZletY disse:

@helix758 comentar up par subir tópico é proibido, leia as regras. Utilize nosso sistema criado justamente para isso:

1.thumb.png.247aa7af60fb80de731fdcf59dea778a.png

bLZ MANO Brau :D 

  • Respostas 8
  • Visualizações 842
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
  • Autor
  Em 05/06/2017 em 01:35, Reconnect disse:

Primeiro, mano!

 

A programação do mapa do evento mostra um andar para pegar a bandeira e outro andar de entrega, sendo assim não bugaria essa parte se é que eu entendi o erro que está acontecendo

Vc viu errado cara, Tipo o "tapete vermelho" é o local de entregar a bandeira (Pós) sendo que de baixo do tapete é um piso "branco" e todos os piso branco do mapa bugam. Todos piso ficam como fosse para entregar a bandeira. Se eu mudar o piso de branco para preto, Todos os piso preto bugam.... 

 

OBS: TFS NÃO OCORRIA ESSE BUG, SOMENTE DEPOIS DE PASSAR PARA OTX 

OBS:2 NÃO APRESENTA ERRO NA DISTRO, ACREDITO EU QUE SEJA DEVIDO SER UMA OTX O SCRIPT MUDA  UM POUCO.

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

Postado

é por lib né? 

troque sua lib por essa versão pra otx , e configure as coordenadas 

  Citar

local conditionGreen = createConditionObject(CONDITION_OUTFIT)
setConditionParam(conditionGreen, CONDITION_PARAM_TICKS, -1)
addOutfitCondition(conditionGreen, {lookType = 129, lookHead = 82, lookBody = 82, lookLegs = 82, lookFeet = 82})
local conditionRed = createConditionObject(CONDITION_OUTFIT)
setConditionParam(conditionRed, CONDITION_PARAM_TICKS, -1)
addOutfitCondition(conditionRed, {lookType = 129, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94})
        

CTF = {

    ips = {},

    tp_pos = {x = 171, y = 44, z = 7},
    exit_ = {x = 160, y = 50, z = 4},
    
    storages = {greenFlag = 822067, redFlag = 822068, greenTeam = 822069, redTeam = 822070},
    
    greenFlag = 1437,
    redFlag = 1435,
    
    greenFlagPos = {x = 963, y = 393, z = 6},
    redFlagPos = {x = 963, y = 334, z = 6},

    waitingRoom = {x = 268, y = 45, z = 7},
    fromposWait = {x = 260, y = 38, z = 7},
    toposWait = {x = 275, y = 53, z = 7},
    
    base_A = {x = 953, y = 394, z = 7},
    base_B = {x = 953, y = 332, z = 7},
    
    getFirstPlayer = function()
        for x = CTF.fromposWait.x, CTF.toposWait.x do
            for y = CTF.fromposWait.y, CTF.toposWait.y do
                local area = {x = x, y = y, z = CTF.fromposWait.z}
                if getTopCreature(area) and getTopCreature(area).uid > 0 and isPlayer(getTopCreature(area).uid) then
                    return getTopCreature(area).uid
                end
            end
        end
    end,

    start = function()
        local function removeFlag(pos, id)
            local pp = pos
            for i = 1, 255 do
                pp.stackpos = i
                local flag = getThingFromPos(pos)
                if flag and flag.uid > 0 and flag.itemid == id then
                    doRemoveItem(flag.uid, 1)
                end
            end
        end
        
        if getGlobalStorageValue(822066) >= 2 then
            if getGlobalStorageValue(822066) % 2 ~= 0 then
                local player = CTF.getFirstPlayer()
                doTeleportThing(player, getTownTemplePosition(getPlayerTown(player)))
                doPlayerSetStorageValue(player, 822066, -1)
                setGlobalStorageValue(822066, getGlobalStorageValue(822066) - 1)
                doPlayerSendTextMessage(player, MESSAGE_STATUS_WARNING, "Que azar! Você foi retirado do evento por excesso de participantes :(")
            end
            removeFlag(CTF.redFlagPos, CTF.redFlag)
            removeFlag(CTF.greenFlagPos, CTF.greenFlag)
            setGlobalStorageValue(CTF.storages.greenTeam, 0)
            setGlobalStorageValue(CTF.storages.redTeam, 0)
            warnPlayersWithStorage(822066, 1, MESSAGE_STATUS_WARNING, "O evento começou, boa sorte a todos. O time que chegar a 10 pontos primeiro ganha!")
            local a = getGlobalStorageValue(822066) / 2
            for i = 1, a do
                local player = CTF.getFirstPlayer()
                doAddCondition(player, conditionGreen)
                doPlayerSetStorageValue(player, CTF.storages.greenTeam, 1)
                doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_BLUE, "Você entrou no time verde, boa sorte!")
                    doTeleportThing(player, CTF.base_A)
            end
            for j = 1, a do
                local player = CTF.getFirstPlayer()
                doAddCondition(player, conditionRed)
                doPlayerSetStorageValue(player, CTF.storages.redTeam, 1)
                doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_BLUE, "Você entrou no time vermelho, boa sorte!")
                   doTeleportThing(player, CTF.base_B)
            end
            local green = doCreateItem(CTF.greenFlag, 1, CTF.greenFlagPos)
            doItemSetAttribute(green, 'aid', 5434)
            local red = doCreateItem(CTF.redFlag, 1, CTF.redFlagPos)
            doItemSetAttribute(red, 'aid', 5435)
        else
            if getPlayersInArea(CTF.fromposWait, CTF.toposWait) then
                for _, pid in pairs(getPlayersInArea(CTF.fromposWait, CTF.toposWait)) do
                    doPlayerSendTextMessage(pid, MESSAGE_STATUS_WARNING, "O evento não teve pelo menos 10 participantes e foi cancelado.")
                    doPlayerSetStorageValue(pid, 822066, -1)
                    doTeleportThing(pid, CTF.exit_)
                end
            end
        end
    end,

    removeFlags = function()
        local posGreen = CTF.greenFlagPos
        local posRed = CTF.redFlagPos
        for i = 1, 255 do
            posGreen.stackpos = i
            posRed.stackpos = i
            local green = getThingFromPos(posGreen)
            local red = getThingFromPos(posRed)
            if green and green.uid > 0 and green.itemid == CTF.greenFlag then
                doRemoveItem(green.uid, 1)
            end
            if red and red.uid > 0 and red.itemid == CTF.redFlag then
                    doRemoveItem(red.uid, 1)
            end
        end
    end,
        
    
    doPlayerAddFlag = function(cid, flag)
        local function removeFlag(pos, id)
            local pp = pos
            for i = 1, 255 do
                pp.stackpos = i
                local flag = getThingFromPos(pos)
                if flag and flag.uid > 0 and flag.itemid == id then
                    doRemoveItem(flag.uid, 1)
                end
            end
        end
        
        if isPlayer(cid) then
            removeFlag(getThingPos(cid), getPlayerStorageValue(cid, CTF.storages.greenFlag) == 1 and "green" or "red")
            
            local pos = getThingPos(cid)
            
            if flag == "green" then
                if getPlayerStorageValue(cid, CTF.storages.greenFlag) == 1 then
                    doCreateItem(CTF.greenFlag, 1, pos)
                    addEvent(removeFlag, 400, pos, CTF.greenFlag)
                    addEvent(CTF.doPlayerAddFlag, 550, cid, flag)
                    doSendAnimatedText(pos, "CTF", 18)
                end
            elseif flag == "red" then
                if getPlayerStorageValue(cid, CTF.storages.redFlag) == 1 then
                    doCreateItem(CTF.redFlag, 1, pos)
                    addEvent(removeFlag, 400, pos, CTF.redFlag)
                    addEvent(CTF.doPlayerAddFlag, 550, cid, flag)
                    doSendAnimatedText(pos, "CTF", 18)
                end
            end
        end
    end,
    
    stop = function()
        local players = {}
        local str = ""
        for _, pid in pairs(getPlayersOnline()) do
            if getPlayerStorageValue(pid, 822066) == 1 then
                table.insert(players, pid)
            end
        end
        if #players >= 1 then
            if getStorageZero(CTF.storages.redTeam) > getStorageZero(CTF.storages.greenTeam) then
                for _, pid in pairs(players) do
                    if getPlayerStorageValue(pid, CTF.storages.redTeam) == 1 then
                        local am = {12626, 12627, 5957}
                        doPlayerAddItem(pid, 2157, 30)
                        doPlayerAddItem(pid, 10558, 4)
                    end
                end
                str = "O time Vermelho venceu o evento! Placar: Time Vermelho ["..getStorageZero(CTF.storages.redTeam).."] VS ["..getStorageZero(CTF.storages.greenTeam).."] Time Verde. Os jogadores do time Vermelho receberam prêmios!"
            elseif getStorageZero(CTF.storages.greenTeam) > getStorageZero(CTF.storages.redTeam) then
                for _, pid in pairs(players) do
                    if getPlayerStorageValue(pid, CTF.storages.greenTeam) == 1 then
                        local am = {12626, 12627, 5957}
                        doPlayerAddItem(pid, 2157, 30)
                        doPlayerAddItem(pid, 10558, 4)
                    end
                end
                str = "O time Verde venceu o evento! Placar: Time Verde ["..getStorageZero(CTF.storages.greenTeam).."] VS ["..getStorageZero(CTF.storages.redTeam).."] Time Vermelho. Os jogadores do time Verde receberam prêmios!" 
            elseif getStorageZero(CTF.storages.greenTeam) == getStorageZero(CTF.storages.redTeam) then
                for _, pid in pairs(players) do
                    doPlayerAddItem(pid, 10558, 1)
                    doPlayerAddItem(pid, 2157, 20)
                end
                str = "Houve um empate! Os dois times fizeram "..getStorageZero(CTF.storages.greenTeam).." pontos!"
            end
            warnPlayersWithStorage(822066, 1, 25, "O evento acabou pois excedeu o limite 1 hora de duração! "..str)
            CTF.removeFlags()
            for _, pid in pairs(players) do
                if getPlayerStorageValue(pid, CTF.storages.greenFlag) == 1 or getPlayerStorageValue(pid, CTF.storages.redFlag) == 1 then
                    doPlayerSetStorageValue(pid, CTF.storages.greenFlag, -1)
                    doPlayerSetStorageValue(pid, CTF.storages.redFlag, -1)
                end
                doTeleportThing(pid, CTF.exit_)
                doPlayerSetStorageValue(pid, 822066, -1)
                doPlayerSetStorageValue(pid, CTF.storages.greenTeam, -1)
                doPlayerSetStorageValue(pid, CTF.storages.redTeam, -1)
                doPlayerSetStorageValue(pid, CTF.storages.greenFlag, -1)
                doPlayerSetStorageValue(pid, CTF.storages.redFlag, -1)
                doRemoveCondition(pid, CONDITION_OUTFIT)
            end
        else
            return false
        end
    end
    }

rep?

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

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo