Postado Março 15, 2023 2 anos Diretor <action itemid="6542" event="script" value="scriptxp.lua"/> adiciona esse id dentro do script tbm porque cada comida é um tipo de exp. scriptxp.lua pra todas comidas e coloque tbm as outras comida no script. Se Não conseguir use esse sem as comida dentro do script action, adicione em todas comidas que vao dar exp. function onUse(cid, item, fromPosition, itemEx, toPosition) local expMin = 1000 -- EXP mínima que será adicionada local expMax = 5000 -- EXP máxima que será adicionada local expGain = math.random(expMin, expMax) -- Calcula a EXP a ser adicionada de forma aleatória if item:isFood() then doPlayerAddExp(cid, expGain) -- Adiciona a EXP ao jogador doRemoveItem(item.uid, 1) -- Remove a comida do inventário do jogador doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) -- Emite um efeito sonoro ao comer a comida doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", item:getName(), expGain)) -- Exibe uma mensagem para o jogador informando a EXP ganha end return true end Editado Março 15, 2023 2 anos por L3K0T (veja o histórico de edições) Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
Postado Março 15, 2023 2 anos Autor Ve se ta certo XML .lua você fez algo que nem um comedor de angu faria avalia se ta no geito que voce falo. <action itemid="6542" event="script" value="scriptxp.lua"/> function onUse(cid, item, fromPosition, itemEx, toPosition) local foodIds = {6542, 6543, 6544, 6545, 2328, 6541, 12599, 8300} -- IDs das comidas que irão dar EXP local expMin = 10000 -- EXP mínima que será adicionada local expMax = 1000000 -- EXP máxima que será adicionada local expGain = math.random(expMin, expMax) -- Calcula a EXP a ser adicionada de forma aleatória for _, id in ipairs(foodIds) do if item.itemid == id then doPlayerAddExp(cid, expGain) -- Adiciona a EXP ao jogador doRemoveItem(item.uid, 1) -- Remove a comida do inventário do jogador doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) -- Emite um efeito sonoro ao comer a comida doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", getItemName(item.itemid), expGain)) -- Exibe uma mensagem para o jogador informando a EXP ganha break end end return true end
Postado Março 15, 2023 2 anos Diretor Em 15/03/2023 em 20:26, Muvukaa disse: Ve se ta certo XML .lua você fez algo que nem um comedor de angu faria avalia se ta no geito que voce falo. <action itemid="6542" event="script" value="scriptxp.lua"/> function onUse(cid, item, fromPosition, itemEx, toPosition) local foodIds = {6542, 6543, 6544, 6545, 2328, 6541, 12599, 8300} -- IDs das comidas que irão dar EXP local expMin = 10000 -- EXP mínima que será adicionada local expMax = 1000000 -- EXP máxima que será adicionada local expGain = math.random(expMin, expMax) -- Calcula a EXP a ser adicionada de forma aleatória for _, id in ipairs(foodIds) do if item.itemid == id then doPlayerAddExp(cid, expGain) -- Adiciona a EXP ao jogador doRemoveItem(item.uid, 1) -- Remove a comida do inventário do jogador doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) -- Emite um efeito sonoro ao comer a comida doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", getItemName(item.itemid), expGain)) -- Exibe uma mensagem para o jogador informando a EXP ganha break end end return true end Então eu não testei, vc testou, come o angu e se não deu certo, tente assim sem os ids function onUse(cid, item, fromPosition, itemEx, toPosition) local expMin = 1000 -- EXP mínima que será adicionada local expMax = 5000 -- EXP máxima que será adicionada local expGain = math.random(expMin, expMax) -- Calcula a EXP a ser adicionada de forma aleatória if item:isFood() then doPlayerAddExp(cid, expGain) -- Adiciona a EXP ao jogador doRemoveItem(item.uid, 1) -- Remove a comida do inventário do jogador doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) -- Emite um efeito sonoro ao comer a comida doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", item:getName(), expGain)) -- Exibe uma mensagem para o jogador informando a EXP ganha end return true end tem esse tbm que fiz, realmente te mandei o errado, estou desse ontem sem dormir o código abaixo completinho. function onUse(cid, item, fromPosition, itemEx, toPosition) local foodExp = { [6542] = 5000, [6543] = 10000, [6544] = 15000, [6545] = 20000, [2328] = 25000, [6541] = 30000, [12599] = 40000, [8300] = 50000, } local expGain = foodExp[item.itemid] or 0 -- Pega a quantidade de exp correspondente à comida, ou 0 se não existir if expGain > 0 then doPlayerAddExp(cid, expGain) doRemoveItem(item.uid, 1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", getItemName(item.itemid), expGain)) -- Adiciona um efeito aleatório estilo Baiak local baiakEffects = {CONST_ME_ENERGYAREA, CONST_ME_FIREAREA, CONST_ME_POISONAREA, CONST_ME_EXPLOSIONAREA} local effect = baiakEffects[math.random(#baiakEffects)] doSendMagicEffect(getCreaturePosition(cid), effect) -- Remove o efeito depois de 3 segundos addEvent(doSendMagicEffect, 3000, getCreaturePosition(cid), CONST_ME_NONE) end return true end Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
Postado Março 15, 2023 2 anos Autor Tipo assim eu tava ja com um Sistema EXP-Food mais as ids food que não funcionava eram essa 2328 - 6541- 12599 - 8300 vo posta o script.
Postado Março 15, 2023 2 anos Diretor Em 15/03/2023 em 20:54, Muvukaa disse: Tipo assim eu tava ja com um Sistema EXP-Food mais as ids food que não funcionava eram essa 2328 - 6541- 12599 - 8300 vo posta o script. function onUse(cid, item, fromPosition, itemEx, toPosition) local foodExp = { [6542] = 5000, [6543] = 10000, [6544] = 15000, [6545] = 20000, [2328] = 25000, [6541] = 30000, [12599] = 40000, [8300] = 50000, } local expGain = foodExp[item.itemid] or 0 -- Pega a quantidade de exp correspondente à comida, ou 0 se não existir if expGain > 0 then doPlayerAddExp(cid, expGain) doRemoveItem(item.uid, 1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_SOUND_YELLOW) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.format("Você comeu %s e recebeu %d de experiência!", getItemName(item.itemid), expGain)) -- Adiciona um efeito aleatório estilo Baiak local baiakEffects = {CONST_ME_ENERGYAREA, CONST_ME_FIREAREA, CONST_ME_POISONAREA, CONST_ME_EXPLOSIONAREA} local effect = baiakEffects[math.random(#baiakEffects)] doSendMagicEffect(getCreaturePosition(cid), effect) -- Remove o efeito depois de 3 segundos addEvent(doSendMagicEffect, 3000, getCreaturePosition(cid), CONST_ME_NONE) end return true end Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código. #OpenSource #Programação #Contribuição
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.