Postado Fevereiro 16, 2015 10 anos Galera Queria Pedir 4 Script (Action) Que São Um Pouco Parecido Intao Axo Q Não Vai Dar Mt Trabalho. 1º = 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. 2º Msm Coisa Do Primeiro Só Q Com ID : 12503 E Ao Inves De Vida Seria Mana. 3º Msm Coisa Do Primeiro Só Q Com ID : 9993 E Ao Inves De Vida Ou Mana Seja Magic Lvl. 4º 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
Postado Fevereiro 24, 2015 10 anos 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.
Postado Fevereiro 24, 2015 10 anos 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 Março 1, 2015 10 anos 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.
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.