Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Galera Queria Pedir 4 Script (Action) Que São Um Pouco Parecido Intao Axo Q Não Vai Dar Mt Trabalho.

 

= Um Food (ID : 12501) Q Quando O Player Desse Use Aumetasse Uma Quantidade De Vida (1000) Do Player Por Um Determinado Tempo (1 Hora) (EX: O Player Tem 1000 De Vida, O Player Passaria A Ter 2000 De Vida Durante 1 Hora, E Quando O Tempo Acabasse O Player Voltaria A Ter 1000 De Vida, (Porem Eu Queria Q O Player Não Pudesse Usar 2 Food Ao Mesmo Tempo, Ele Teria Q Espera O Tempo Acabar Para Poder Usar Outro, E Queria Q Quando O Player Deslogasse Com O Food Ativo O Tempo Continuaria Passando E Quando O Tempo Acabasse Msm O Player Estando OFF Retirasse A Storage E A Vida Dele Voltasse Ao Normal.

 

Msm Coisa Do Primeiro Só Q Com ID : 12503 E Ao Inves De Vida Seria Mana.

 

Msm Coisa Do Primeiro Só Q Com ID : 9993 E Ao Inves De Vida Ou Mana Seja Magic Lvl.

 

Msm Coisa Do Primeiro Só Q Com ID : 9994 E Ao Inves De Vida Mana Ou Magic Lvl Seja Sword Fighting.

 

 

Desde Ja Agradescido

Shadownzinho

Link para o post
Compartilhar em outros sites

Caso ninguém faça, eu crio pra você amanhã se sobrar um pouco de tempo.

 

Abraços e boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Estou criando, já posto.

 

#EDIT:

Boa noite, não testei..

Configure, teste e dê um feedback.

 

Vamos lá:

Em actions.xml, adicione a tag abaixo:

<action itemid="9993;9994;12501;12503" script="foodturnup.lua"/>

Agora o arquivo foodturnup.lua receberá o script abaixo:

local food_health = {12501, 1000, 1} -- ID, Quantidade de Life, Duração em Horas
local food_mana = {12503, 1000, 1} -- ID, Quantidade de Mana, Duração em Horas
local food_magic = {9993, 10, 1} -- ID, Quantidade de Magic Level, Duração em Horas
local food_sword = {9994, 10, 1} -- ID, Quantidade de Skill Sword, Duração em Horas
local food_axe = {XXXX, 10, 1} -- ID, Quantidade de Skill Axe, Duração em Horas
local food_club = {XXXX, 10, 1} -- ID, Quantidade de Skill Club, Duração em Horas
local food_distance = {XXXX, 10, 1} -- ID, Quantidade de Skill DISTANCE, Duração em Horas
local food_fist = {XXXX, 10, 1} -- ID, Quantidade de Skill FIST FIGHTING, Duração em Horas
local food_shield = {XXXX, 10, 1} -- ID, Quantidade de Skill SHIELD, Duração em Horas
local food_fishing = {XXXX, 10, 1} -- ID, Quantidade de Skill FISHING, Duração em Horas
local strg = {12121, 12122, 12123, 12124, 12125, 12126, 12127, 12128, 12129, 12130} -- Storages Controle {health, mana, magic, sword, axe, club, dist, fist, shield, fishing} -- NÃO PRECISA MEXER

local magiclevel = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(magiclevel, CONDITION_PARAM_TICKS, food_magic[3] * 60 * 60 * 1000)
setConditionParam(magiclevel, CONDITION_PARAM_STAT_MAGICPOINTS, food_magic[2])

local sword = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(sword, CONDITION_PARAM_TICKS, food_sword[3] * 60 * 60 * 1000)
setConditionParam(sword, CONDITION_PARAM_SKILL_SWORD, food_sword[2])

local axe = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(axe, CONDITION_PARAM_TICKS, food_axe[3] * 60 * 60 * 1000)
setConditionParam(axe, CONDITION_PARAM_SKILL_AXE, food_axe[2])

local club = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(club, CONDITION_PARAM_TICKS, food_club[3] * 60 * 60 * 1000)
setConditionParam(club, CONDITION_PARAM_SKILL_CLUB, food_club[2])]

local shield = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(shield, CONDITION_PARAM_TICKS, food_shield[3] * 60 * 60 * 1000)
setConditionParam(shield, CONDITION_PARAM_SKILL_SHIELD, food_shield[2])

local fist = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(fist, CONDITION_PARAM_TICKS, food_fist[3] * 60 * 60 * 1000)
setConditionParam(fist, CONDITION_PARAM_SKILL_FIST, food_fist[2])

local distance = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(distance, CONDITION_PARAM_TICKS, food_distance[3] * 60 * 60 * 1000)
setConditionParam(distance, CONDITION_PARAM_SKILL_DISTANCE, food_distance[2])

local fishing = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(fishing, CONDITION_PARAM_TICKS, food_fishing[3] * 60 * 60 * 1000)
setConditionParam(fishing, CONDITION_PARAM_SKILL_DISTANCE, food_fishing[2])

function onUse(cid, item, frompos, item2, topos)

    if item.itemid == food_health[1] then
        if getPlayerStorageValue(cid, strg[1]) < 1 then
            setCreatureMaxHealth(cid, (getCreatureMaxHealth(cid) + food_health[2]))
            setPlayerStorageValue(cid, strg[1], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_health[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de vida.")
        end
        
    elseif item.itemid == food_mana[1] then
        if getPlayerStorageValue(cid, strg[2]) < 1 then
            setCreatureMaxMana(cid, (getCreatureMaxMana(cid) + food_mana[2]))
            setPlayerStorageValue(cid, strg[2], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_mana[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de mana.")
        end
        
    elseif item.itemid == food_magic[1] then
        if getPlayerStorageValue(cid, strg[3]) < 1 then
            doAddCondition(cid, magiclevel)
            setPlayerStorageValue(cid, strg[3], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_magic[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de magic level.")
        end
        
    elseif item.itemid == food_sword[1] then
        if getPlayerStorageValue(cid, strg[4]) < 1 then
            doAddCondition(cid, sword)
            setPlayerStorageValue(cid, strg[4], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_sword[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de sword fighting.")
        end
        
    elseif item.itemid == food_axe[1] then
        if getPlayerStorageValue(cid, strg[5]) < 1 then
            doAddCondition(cid, axe)
            setPlayerStorageValue(cid, strg[5], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_axe[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de axe fighting.")
        end
    
    elseif item.itemid == food_club[1] then
        if getPlayerStorageValue(cid, strg[6]) < 1 then
            doAddCondition(cid, club)
            setPlayerStorageValue(cid, strg[6], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_club[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de club fighting.")
        end
        
    elseif item.itemid == food_distance[1] then
        if getPlayerStorageValue(cid, strg[7]) < 1 then
            doAddCondition(cid, distance)
            setPlayerStorageValue(cid, strg[7], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_distance[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de distance fighting.")
        end
        
    elseif item.itemid == food_fist[1] then
        if getPlayerStorageValue(cid, strg[8]) < 1 then
            doAddCondition(cid, fist)
            setPlayerStorageValue(cid, strg[8], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_fist[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de fist fighting.")
        end
        
    elseif item.itemid == food_shield[1] then
        if getPlayerStorageValue(cid, strg[9]) < 1 then
            doAddCondition(cid, shield)
            setPlayerStorageValue(cid, strg[9], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_shield[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de shield.")
        end
        
    elseif item.itemid == food_fishing[1] then
        if getPlayerStorageValue(cid, strg[10]) < 1 then
            doAddCondition(cid, fishing)
            setPlayerStorageValue(cid, strg[10], 1)
            doRemoveItem(item.uid, 1)
            addEvent(RemoveFoodCondition, food_fishing[3] * 60 * 60 * 1000, cid)
        else
            doPlayerSendCancel(cid, "Você não pode usar mais de uma vez o food extensor de fishing.")
        end
        
    end
    return true
end

function RemoveFoodCondition(cid)
    if isPlayer(cid) then
        if getPlayerStorageValue(cid, strg[1]) > 0 then
            setCreatureMaxHealth(cid, (getCreatureMaxHealth(cid) - food_health[2]))
            setPlayerStorageValue(cid, strg[1], 0)
        elseif getPlayerStorageValue(cid, strg[2]) > 0 then
            setCreatureMaxMana(cid, (getCreatureMaxMana(cid) - food_mana[2]))
            setPlayerStorageValue(cid, strg[2], 0)
        end
        
        for a = 3, #strg do
            if getPlayerStorageValue(cid, strg[a]) > 0 then
                setPlayerStorageValue(cid, strg[a], 0)
            end
        end
    end
return true
end

 

Agora por motivos de segurança e bugs, criei um script para ser adicionado em CreatureScripts.xml:

<event type="login" name="FoodTurnUp" event="script" value="foodturnup.lua"/>

O script foodturnup.lua receberá o seguinte script e receberá as mesmas configurações inicias do que o anterior:

local food_health = {12501, 1000, 1} -- ID, Quantidade de Life, Duração em Horas
local food_mana = {12503, 1000, 1} -- ID, Quantidade de Mana, Duração em Horas
local strg = {12121, 12122, 12123, 12124, 12125, 12126, 12127, 12128, 12129, 12130} -- Storages Controle {health, mana, magic, sword, axe, club, dist, fist, shield, fishing} -- NÃO PRECISA MEXER
    
function onLogin(cid)
        if getPlayerStorageValue(cid, strg[1]) > 0 then
            setCreatureMaxHealth(cid, (getCreatureMaxHealth(cid) - food_health[2]))
            setPlayerStorageValue(cid, strg[1], 0)
        elseif getPlayerStorageValue(cid, strg[2]) > 0 then
            setCreatureMaxMana(cid, (getCreatureMaxMana(cid) - food_mana[2]))
            setPlayerStorageValue(cid, strg[2], 0)
        end
        
        for a = 3, #strg do
            if getPlayerStorageValue(cid, strg[a]) > 0 then
                setPlayerStorageValue(cid, strg[a], 0)
            end
        end
        
    return true
end

 

Agora em login.lua, adicione a tag abaixo junta com as do gênero:

registerCreatureEvent(cid, "FoodTurnUp")

Espero que funcione.

Boa sorte.

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

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Adriano Eu Não Testei Ainda Mais, Poderia Me Mostar Como Ficaria Se No Script Tivesse 1 Food Pra Cada Skill

 

Axe

Club

Distance

Fishing

Fist

Magic

Shield

Sword

Life

Mana

 

Se Tiver Como Ficarei Mt Agradecido E Se Der Certo Ja Resolve Tudo

Link para o post
Compartilhar em outros sites

Adriano Eu Não Testei Ainda Mais, Poderia Me Mostar Como Ficaria Se No Script Tivesse 1 Food Pra Cada Skill

 

Axe

Club

Distance

Fishing

Fist

Magic

Shield

Sword

Life

Mana

 

Se Tiver Como Ficarei Mt Agradecido E Se Der Certo Ja Resolve Tudo

Editei o script, lembre-se de adicionar as ids dos foods no script e também na tag do actions.xml.

 

Boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

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