Ir para conteúdo

Tingasgo

Artesão
  • Total de itens

    103
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Posts postados por Tingasgo

  1. 4 horas atrás, wevertonvrb disse:

    ok vai em data/actions e crie ou copie e cole um arquivo e renomei para bau.lua 
    e cole isso dentro

    bau.lua

      Ocultar conteúdo

    local Bau = {???????} -- id do bau
    local id_items = {????, ?????, ?????, ??????, ??????} -- coloca os ids dos items aleatorios que podera vir
    function onUse(cid, item, fromPosition, itemEx, toPosition)
        if(itemEx.itemid == Bau) then
            local w = math.random (1,#id_items) -- no lugar do 1 voce coloca quantos premions o player vai receber
            doPlayerAddItem(cid, id_items[w])
            doTransformItem(itemEx.uid, 0)
            --doRemoveItem(item.uid, 1) -- caso queira que a chave suma junto com o bau tere isso os --- do inicio desta linha
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Vc conseguil abrir o bau e ganhou  >>> ["..getItemNameById(id_items[w]).."] <<<")
            else
             doPlayerSendCancel(cid,"voce precisa da chave para abrir este bau ")
            end

        return true
    end


    depois vai em actions.xml e adicione esta linha
    <action itemid="???????" event="script" value="bau.lua"/>
    onde tem essas interrogação voce deve colocar o id da chave

    se ajudei rep+
    se gerar erro me manda o erro

    Nao gerou erro mas quando eu clico na chave que aparece o erro que eu preciso da chave :/

  2. 13 horas atrás, wevertonvrb disse:

    OK MAS...

    preciso de + detalhes de que jeito você quer??
    1- você usa a chave no bau.... então ele ira virar um bau aberto e pronto?
    2- voce usa a chave no bau.... então ele ira virar um bau aberto e você também ganha algum outro item
    3- voce usa a chave no bau.... então ele ira sumir e você ganha algum outro item

    4- caso n seja nenhum desses me diga exatamente oque acontece ao usar a chave
     

    Voce usa a chave no bau e ele some e te da alguns itens aleatorios

  3. Ola um topico rapido para pedir um script basico...

    Seria assim... uma box comum mas para abrir ela precisa de uma chave... 

     

    Nao e um bau nao precisa de storage e uma box que voce dropa e para abrir ela e necessario usar uma chave...

     

    Grato pela atencao rep++ 

     

    PS:Motivo de nao usar acento porque estou utilizando um teclado americano :) 

  4. 56 minutos atrás, PxN disse:

    Ola amigo, estou tentando usar o com level e chance mas da este erro:

     

    [17/08/2017 19:12:46] [Error - Action Interface] [17/08/2017 19:12:46] data/actions/scripts/timechest.lua:onUse[17/08/2017 19:12:46] Description: [17/08/2017 19:12:46] data/actions/scripts/timechest.lua:70: attempt to compare number with nil[17/08/2017 19:12:46] stack traceback:[17/08/2017 19:12:46]     data/actions/scripts/timechest.lua:70: in function <data/actions/scripts/timechest.lua:8>

    Linha numero 70:

     

    if(chance < rewarditems[level].chance) then

     

    Tem como me ajudar?

    Envia o script inteiro caso tenha feito alguma alteração

  5. Testado em TFS 0.3.6l 8.54

     

    Estou apenas trazendo para o fórum pois não encontrei ^^ caso tenha eu removo... explicando o sistema seria um baú que a cada determinado tempo ele pode ser aberto novamente mas sempre irá vir algum item diferente (configurável)...

     

    Vamos ao script...

     

    Primeiro adicione isso em

     

    actions.xml

     

    <action uniqueid="4005" event="script" value="quests/timechest.lua"/>

     

    Dentro da pasta scripts crie um arquivo chamado "timechest.lua" e adicione isso dentro

     

     

     


    -- Time Chest by Limos
    local config = {
        exhausttime = 7200, -- time in seconds
        exhauststorage = 2301,
        level = 50 -- minimum level to open the chest
    }
     
    function onUse(cid, item, fromPosition, itemEx, toPosition)
     
    local rewarditems = {
        {id = 2152, count = math.random(1, 50)},
        {id = 2498, count = 1},
        {id = 2492, count = 1},
        {id = 2488, count = 1}
    }
     
        if(getPlayerLevel(cid) < config.level) then
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            doPlayerSendCancel(cid, "You need to be level "..config.level.." to open the chest.")
            return true
        end
        if(exhaustion.check(cid, config.exhauststorage)) then
            local time = exhaustion.get(cid, config.exhauststorage)
            local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)
            if time >= 3600 then
                text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")
            elseif time >= 120 then
                text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")
            else
                text = seconds.." "..(seconds > 1 and "seconds" or "second")
            end
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "It is empty. You need to wait "..text.." before you can get a reward again.")
            return true
        end
        local i = math.random(1, #rewarditems)
        local info = getItemInfo(rewarditems.id)
        if(rewarditems.count > 1) then  
            text = rewarditems.count .. " " .. info.plural
        else
                    text = info.article .. " " .. info.name
        end
        local item = doCreateItemEx(rewarditems.id, rewarditems.count)
        if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            text = "You have found a reward. It is to heavy or you have not enough space."
        else
            text = "You have found " .. text .. "."
            exhaustion.set(cid, config.exhauststorage, config.exhausttime)
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)
        return true
    end

     

     

     

    Versão com chance:

     

     

     

     


    -- Time Chest by Limos
    local config = {
        exhausttime = 7200, -- time in seconds
        exhauststorage = 2301,
        level = 50 -- minimum level to open the chest
    }
     
    function onUse(cid, item, fromPosition, itemEx, toPosition)
     
    local rewarditems = {
        {id = 2492, chance = 5, count = 1}, -- start with the lowest chances
        {id = 2498, chance = 10, count = 1},
        {id = 2488, chance = 15, count = 1},
        {id = 2152, chance = 70, count = math.random(1, 50)}
    }
     
        if(getPlayerLevel(cid) < config.level) then
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            doPlayerSendCancel(cid, "You need to be level "..config.level.." to open the chest.")
            return true
        end
     
        if(exhaustion.check(cid, config.exhauststorage)) then
            local time = exhaustion.get(cid, config.exhauststorage)
            local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)
            if time >= 3600 then
                text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")
            elseif time >= 120 then
                text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")
            else
                text = seconds.." "..(seconds > 1 and "seconds" or "second")
            end
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "It is empty. You need to wait "..text.." before you can get a reward again.")
            return true
        end
     
        local chance = math.random(1,100)
        for i = 1, #rewarditems, 1 do
            if(chance < rewarditems.chance) then
                local info = getItemInfo(rewarditems.id)
                if(rewarditems.count > 1) then  
                    text = rewarditems.count .. " " .. info.plural
                else
                            text = info.article .. " " .. info.name
                end
     
                local item = doCreateItemEx(rewarditems.id, rewarditems.count)
                if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
                    doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
                    text = "You have found a reward. It is to heavy or you have not enough space."
                else
                    text = "You have found " .. text .. "."
                    exhaustion.set(cid, config.exhauststorage, config.exhausttime)
                end
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)
                return true
            else
                chance = chance - rewarditems.chance
            end
        end
    end

     

     

     

    Versão com level e chance:

     

     

     

     


    -- Time Chest by Limos
    local config = {
        exhausttime = 7200, -- time in seconds
        exhauststorage = 2301,
        level = 25 -- minimum level to open the chest
    }
     
    function onUse(cid, item, fromPosition, itemEx, toPosition)
     
    local rewarditems = {
        [25] = {
            tilllevel = 50,
            {id = 3982, chance = 5, count = 1}, -- start with the lowest chances
            {id = 2476, chance = 10, count = 1},
            {id = 2479, chance = 15, count = 1},
            {id = 2148, chance = 70, count = math.random(1, 50)}
        },
        [50] = {
            tilllevel = 100,
            {id = 7730, chance = 5, count = 1},
            {id = 2466, chance = 10, count = 1},
            {id = 2497, chance = 15, count = 1},
            {id = 2152, chance = 70, count = math.random(1, 20)}
        },
        [100] = {
            tilllevel = 200,
            {id = 2492, chance = 5, count = 1},
            {id = 2498, chance = 10, count = 1},
            {id = 2195, chance = 15, count = 1},
            {id = 2152, chance = 70, count = math.random(20, 50)}
        },
        [200] = {
            tilllevel = 10000,
            {id = 2472, chance = 5, count = 1},
            {id = 2470, chance = 10, count = 1},
            {id = 2157, chance = 15, count = 1},
            {id = 2160, chance = 70, count = math.random(1, 5)}
        }
    }
     
        if(getPlayerLevel(cid) < config.level) then
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            doPlayerSendCancel(cid, "You need to be level "..config.level.." to open the chest.")
            return true
        end
     
        if(exhaustion.check(cid, config.exhauststorage)) then
            local time = exhaustion.get(cid, config.exhauststorage)
            local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)
            if time >= 3600 then
                text = hours.." "..(hours == 1 and "hour" or "hours")..", "..minutes.." "..(minutes == 1 and "minute" or "minutes").." and "..seconds.." "..(seconds == 1 and "second" or "seconds")
            elseif time >= 120 then
                text = minutes.." "..(minutes == 1 and "minute" or "minutes").." and "..seconds.." "..(seconds == 1 and "second" or "seconds")
            else
                text = seconds.." "..(seconds == 1 and "second" or "seconds")
            end
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "It is empty. You need to wait "..text.." before you can get a reward again.")
            return true
        end
     
        local chance = math.random(1,100)
        for v, x in pairs(rewarditems) do
            if(getPlayerLevel(cid) >= v and getPlayerLevel(cid) < x.tilllevel) then
                level = v
            end
        end
     
        for i = 1, #rewarditems[level], 1 do
            if(chance < rewarditems[level].chance) then
                local info = getItemInfo(rewarditems[level].id)
                if(rewarditems[level].count > 1) then   
                    text = rewarditems[level].count .. " " .. info.plural
                else
                            text = info.article .. " " .. info.name
                end
     
                local item = doCreateItemEx(rewarditems[level].id, rewarditems[level].count)
                if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
                    doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
                    text = "You have found a reward. It is to heavy or you have not enough space."
                else
                    text = "You have found " .. text .. "."
                    exhaustion.set(cid, config.exhauststorage, config.exhausttime)
                end
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)
                return true
            else
                chance = chance - rewarditems[level].chance
            end
        end
    end

     

     

     

    Creio que seja facíl de configurar é só da uma lida ali no começo do script estou sem tempo de ficar explicando muito tempo só queria trazer pra k esse conteúdo ^^

     

    Créditos: Limos "Otland"

     
     

     

  6. Em 2017-3-9 at 10:19, rohfagundes disse:

    algumas partes eu posso disponibilizar

    como alterar a cor dos monstros e talz

    agora o sistema inteiro fica complicado ja q entra edição na source do servidor e do cliente

    e o pessoal tem muita dificuldade nessa parte e eu n tenho tanto tempo pra ficar explicando

    Pode ensinar a como mudar a cor :p?

  7. 44 minutos atrás, mamihipercarlos disse:

    Servidor novo, via hamachi, cliente proprio sem precisar de ip changer, precisa apenas estar na nossa rede do hamachi.

     

    download do cliente: https://www.4shared.com/rar/YkNnImk6ca/cliente_pokemon_luminismo.html?

     

    redes do hamachi obrigatório estar em pelo menos uma rede para conseguir jogar!

     

    id: pokemonluminismo

    senha: 123

     

    id: pokemonluminismo1

    senha: 123

     

    assim em diante..... temos até a rede 10 por enquanto.

     

    Evento: todas as terças as 14:00!

    Posta prints por favor :p

  8. 1 hora atrás, Brunds disse:

    Fala guys gostaria de estar fazendo um pedido a vocês que é o seguinte estava pensando em dar uma função mais elaborada para o food do servidor e pensei no seguinte fazer com que certas comidas de atributos especiais e únicos por exemplo:

    Meat: Ao consumir o player ganhe mais vida (Max health) por um (tempo configurado, se aplica a todos os foods) que seria o tempo que a comida sustenta o player no caso

    Sopa: Ao consumir a regeneração de mana  do player aumente em um valor configurável

    obs: não a reneração por segundo que é a velocidade mas a quantidade que irá regenerar por segundo caso ele recupere 10 ao consumir a sopa irá aumentar 15 por segundo

    Chocolate: Ao consumir a absorção de elementos do player aumente em 10%, seria o atributo absorv que se pode colocar em itens mas pensei que seria legal usa-lo dessa forma, caso o player receba 100 de dano de fogo ao comer o chocolate iria ganhar 10% de absorver o elemento fogo então receberia 90 de dano

     

    e assim vai caso tiverem alguma dúvida comento que posso explicar mais detalhadamente em termos técnicos

     

    ficarei no aguardo ^^

     

    Qual teu tfs ?

  9. Boa Noite, Boa Tarde e bom Dia :p 

     

    Queria pedir para vocês me ajudarem a colocarem esses pots infinitos xD segue o script:

     

     

     



    local config = {
        -- strong health potion
        [7588] = {health = {min = 250, max = 350}, vocations = {3, 4}, text = 'paladins and knights', level = 50, emptyId = 7634},
        -- strong mana potion
        [7589] = {mana = {min = 115, max = 185}, vocations = {1, 2, 3}, text = 'sorcerers, druids and paladins', level = 50, emptyId = 7634},
        -- great mana potion
        [7590] = {mana = {min = 150, max = 250}, vocations = {1, 2}, text = 'sorcerers and druids', level = 80, emptyId = 7635},
        -- great health potion
        [7591] = {health = {min = 425, max = 575}, vocations = {4}, text = 'knights', level = 80, emptyId = 7635},
        -- health potion
        [7618] = {health = {min = 125, max = 175}, emptyId = 7636},
        -- mana potion
        [7620] = {mana = {min = 75, max = 125}, emptyId = 7636},
        -- great spirit potion
        [8472] = {health = {min = 300, max = 350}, mana = {min = 150, max = 150}, vocations = {3}, text = 'paladins', level = 80, emptyId = 7635},
        -- ultimate health potion
        [8473] = {health = {min = 650, max = 850}, vocations = {4}, text = 'knights', level = 130, emptyId = 7635},
        
        -- POT NOVOS
        
        -- ultimate mana potion 26029
        [26029] = {mana = {min = 425, max = 575}, vocations = {1, 2}, text = 'sorcerers and druids', level = 130, emptyId = 7635},
        
        -- Supreme Health Potion 26031
        [26031] = {health = {min = 875, max = 1125}, vocations = {4}, text = 'knights', level = 200, emptyId = 7635},
        
        -- Ultimate Spirit Potion 26030
        [26030] = {health = {min = 420, max = 580}, mana = {min = 140, max = 250}, vocations = {3}, text = 'paladins', level = 130, emptyId = 7635},
        
        
        -- antidote potion
        [8474] = {antidote = true, emptyId = 7636},
        -- small health potion
        [8704] = {health = {min = 60, max = 85}, emptyId = 7636}
    }

    local antidote = Combat()
    antidote:setParameter(COMBAT_PARAM_TYPE, COMBAT_HEALING)
    antidote:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
    antidote:setParameter(COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
    antidote:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
    antidote:setParameter(COMBAT_PARAM_DISPEL, CONDITION_POISON)

    local exhaust = Condition(CONDITION_EXHAUST_HEAL)
    exhaust:setParameter(CONDITION_PARAM_TICKS, (configManager.getNumber(configKeys.EX_ACTIONS_DELAY_INTERVAL) - 1000))
    -- 1000 - 100 due to exact condition timing. -100 doesn't hurt us, and players don't have reminding ~50ms exhaustion.

    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
        local potion = config[item.itemid]
        if not potion then
            return true
        end

        if target.itemid ~= 1 or target.type ~= THING_TYPE_PLAYER then
            return false
        end

        if player:getCondition(CONDITION_EXHAUST_HEAL) then
            player:sendTextMessage(MESSAGE_STATUS_SMALL, Game.getReturnMessage(RETURNVALUE_YOUAREEXHAUSTED))
            return true
        end

        if potion.antidote and not antidote:execute(target, Variant(target.uid)) then
            return false
        end

        if (potion.level and player:getLevel() < potion.level)
                or (type(potion.vocations) == 'table' and not isInArray(potion.vocations, player:getVocation():getBase():getId()))
                and not (player:getGroup():getId() >= 2) then
            player:say(string.format('This potion can only be consumed by %s of level %d or higher.', potion.text, potion.level), TALKTYPE_MONSTER_SAY)
            return true
        end

        if type(potion.health) == 'table' and not doTargetCombatHealth(0, target, COMBAT_HEALING, potion.health.min, potion.health.max, CONST_ME_MAGIC_BLUE) then
            return false
        end

        if type(potion.mana) == 'table' and not doTargetCombatMana(0, target, potion.mana.min, potion.mana.max, CONST_ME_MAGIC_BLUE) then
            return false
        end

        player:addAchievementProgress('Potion Addict', 100000)

        player:addCondition(exhaust)
        doCreatureSayWithRadius(target, 'Aaaah...', TALKTYPE_MONSTER_SAY, 2, 2)

        local topParent = item:getTopParent()
        if topParent.isItem and (not topParent:isItem() or topParent.itemid ~= 460) then
                local parent = item:getParent()
                   if not parent:isTile() and (parent:addItem(potion.emptyId, 1) or topParent:addItem(potion.emptyId, 1)) then
                 item:remove(1)
                return true
            end
        end

        Game.createItem(potion.emptyId, 1, item:getPosition())
        item:remove(1)
        
        return true
    end

     

     

    Grato desde já ^^ Rep ++

  10. 1 hora atrás, ondanny disse:

     Global Full with Halls of Hope - 10.00

    NEW DEPOT, NEW SPAWN, NEW CAST SYSTEM, NEW NPC SYSTEM VIA BANK BALANCE, NEW CRITICAL BOOST SYSTEM, NEW POTIONS, REWARD SYSTEM, PREY SYSTEM...

    IP: reverseot.servegame.com

    Site: reverseot.servegame.com

    Versão: 10.00

    Port: 7171

     Características:

    ├ Global Full

    ├ Task System. 

    ├ Balanced vocation 

    ├ War System 

    ├ Cast System 

    ├ New npc system via bank balance 

    ├ New Critical boost system

    ├ Reward System

    └ Prey System

     

     Eventos:

    ├ War-Antientrosa

    ├ Capture the Flag

    ├ Last Standing Man

    ├ Zombie Event

    └ Battlefield Event

     Rates Stages:

    ├ rateLevel = In Stage ( Stages)

    ├ RateSkill = 15

    ├ rateMagic = 10

    └ rateLoot = 2

     Imagens :

    lolo.png

     

    wu2016_earth_framed.png

     

    wu2016_death_framed.png.37c363ecb5ee987691fa232fc6f4b81e.png

     

    wu2016_holy_framed.png

     

    teaser_imbue_50percent.thumb.png.55b7d929e7508a3ae384a6531afac5d6.png

    teaser_preysystem1.thumb.png.5991d563140bccc2e48deee365572fab.png

     

     

    Global Full by Malucooo

    Desculpa, mas o que você editou... entendo que colocar global normalmente é pra ser igual mas o que faria eu jogar no seu ot se tem vários iguais ai :p com mais players? a única coisa que vc fez foi colocar os sistemas e prints do próprio post do maluco aqui ;-;

  11. 1 hora atrás, victorfasano disse:

     

    Antes de adquirir algo, esteja ciente de que vai suprir as suas necessidades... Pergunte antes sempre para qualquer empresa se os seus arquivos (disponibilize um anexo) é suportado pelo serviço prestado.

     

    @topic

     

    OTPanel é bom para quem nao entende de linux. Sem demais...

    Eu perguntei e falaram que tinham suporte para compilar minha base na época quando adquiri a vps eles pegaram minha base e falaram que precisaria contratar algum profissional para compilar... mesmo que eu tinha pagado o plano que supostamente era pra eles compilarem para mim mas em vez de passar raiva... só falo uma coisa se não for usar uma das bases deles não compre ^^

  12. Agora, osanjos disse:

    alguém aqui usar o OTpanel ?? ele é bom ?

    Nada conta eles mas ultima vez que paguei me arrependi...

     

    Paguei caro para eles compilarem para mim e falaram que não tinha suporte fiquei 28 dias estudando linux e consegui compilar faltando 1 dia pra minha vps acabar...

     

    Resumindo: Eu paguei pra eles compilarem pra mim e não souberam fazer isso...

     

    Bah não curto Otpanel

  • Quem Está Navegando   0 membros estão online

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