Postado Setembro 1, 2018 6 anos Autor @KotZletY Expliquei sim, rs. Ou melhor, achei que fui claro com o Exemplo que citei. O Level Adicionado Permanentemente seria previamente configurado e exato como no exemplo citado. Editado Setembro 1, 2018 6 anos por r0bert0lol (veja o histórico de edições)
Postado Setembro 1, 2018 6 anos local cfg = { level = 400, effect = 30, addLevel = { [1] = {ID_LEVEL = SKILL_AXE, quant = 1}, [2] = {ID_LEVEL = SKILL_SWORD, quant = 1}, [3] = {ID_LEVEL = SKILL_LEVEL, quant = 1}, [4] = {ID_LEVEL = SKILL_CLUB, quant = 1} }, storage = 344240, } function onUse(cid, item, fromPosition, itemEx, toPosition) local posPlayer = getPlayerPosition(cid) if not getPlayerStorageValue(cid, cfg.storage) < 1 then doPlayerSendTextMessage(cid, 23, "Voce ja usou o item.") doSendMagicEffect(posPlayer, cfg.effect) return false end if not getPlayerLevel(cid) >= cfg.level then doPlayerSendTextMessage(cid, 23, "Voce nao possui nivel.") doSendMagicEffect(posPlayer, cfg.effect) return false end for k, z in pairs(cfg.addLevel) do doPlayerAddSkill(cid, z.ID_LEVEL, z.quant) end setPlayerStorageValue(cid, cfg.storage, 1) return true end 2 horas atrás, r0bert0lol disse: @KotZletY Quanto ao Seu script ele funcionou porem não como desejava, o script não está adicionando Leveis Exatos. Se eu colocar por exemplo, count_lvl = 10}, O Player ganha apenas 1 Level, e se ele já estiver com skill Alta tipo 80 + ele recebe apenas alguns % do level. @tataboy67 Quanto ao seu Script, está gerando esse erro ao usar o item. [19:20:32.703] [Error - Action Interface] [19:20:32.703] data/actions/scripts/max skills.lua:onUse [19:20:32.703] Description: [19:20:32.703] data/actions/scripts/max skills.lua:18: attempt to compare boolean with number [19:20:32.703] stack traceback: [19:20:32.703] data/actions/scripts/max skills.lua:18: in function <data/actions/scripts/max skills.lua:14> Meus trabalhos: [Movements] TFS 1.1+ Area Hardcore [Movements] TFS 1.1+ Tile Party [Action] TFS 1.1+ Bau diário [Action] TFS 1.1+ Guild Dungeon Lever [Talkactions] TFS 0.3.6 / 0.4 Quest Hunt por Tempo Contato: Discord: Tataboy67#4934
Postado Setembro 1, 2018 6 anos Autor @tataboy67 [22:29:24.611] data/actions/scripts/max skills.lua:onUse [22:29:24.611] Description: [22:29:24.611] data/actions/scripts/max skills.lua:18: attempt to compare boolean with number [22:29:24.611] stack traceback: [22:29:24.611] data/actions/scripts/max skills.lua:18: in function <data/actions/scripts/max skills.lua:14> Tataboy, voce fez alteração no script mas alterou a parte do for alí que executa a função doPlayerAddSkill mas oque está gerando esse Erro acredito eu que seja o not do if na linha 18. Eu tentei tirar o not do if que confere a storage e aí o erro parou, porem dentro do jogo mesmo alterando a storage e usando pela primeira vez ele acusa que o player ja tem a storage retornando a mensagem 18:45 Voce ja usou o item. E aí o script não executa o resto, assim não da pra saber se a parte doPlayerAddSkill está funcionando ;/
Postado Setembro 2, 2018 6 anos 3 horas atrás, r0bert0lol disse: @tataboy67 [22:29:24.611] data/actions/scripts/max skills.lua:onUse [22:29:24.611] Description: [22:29:24.611] data/actions/scripts/max skills.lua:18: attempt to compare boolean with number [22:29:24.611] stack traceback: [22:29:24.611] data/actions/scripts/max skills.lua:18: in function <data/actions/scripts/max skills.lua:14> Tataboy, voce fez alteração no script mas alterou a parte do for alí que executa a função doPlayerAddSkill mas oque está gerando esse Erro acredito eu que seja o not do if na linha 18. Eu tentei tirar o not do if que confere a storage e aí o erro parou, porem dentro do jogo mesmo alterando a storage e usando pela primeira vez ele acusa que o player ja tem a storage retornando a mensagem 18:45 Voce ja usou o item. E aí o script não executa o resto, assim não da pra saber se a parte doPlayerAddSkill está funcionando ;/ local cfg = { level = 400, effect = 30, addLevel = { [1] = {ID_LEVEL = SKILL_AXE, quant = 1}, [2] = {ID_LEVEL = SKILL_SWORD, quant = 1}, [3] = {ID_LEVEL = SKILL_LEVEL, quant = 1}, [4] = {ID_LEVEL = SKILL_CLUB, quant = 1} }, storage = 344240, } function onUse(cid, item, fromPosition, itemEx, toPosition) local posPlayer = getPlayerPosition(cid) if getPlayerStorageValue(cid, cfg.storage) >= 1 then doPlayerSendTextMessage(cid, 23, "Voce ja usou o item.") doSendMagicEffect(posPlayer, cfg.effect) return false end if not getPlayerLevel(cid) >= cfg.level then doPlayerSendTextMessage(cid, 23, "Voce nao possui nivel.") doSendMagicEffect(posPlayer, cfg.effect) return false end for k, z in pairs(cfg.addLevel) do doPlayerAddSkill(cid, z.ID_LEVEL, z.quant) end setPlayerStorageValue(cid, cfg.storage, 1) return true end Meus trabalhos: [Movements] TFS 1.1+ Area Hardcore [Movements] TFS 1.1+ Tile Party [Action] TFS 1.1+ Bau diário [Action] TFS 1.1+ Guild Dungeon Lever [Talkactions] TFS 0.3.6 / 0.4 Quest Hunt por Tempo Contato: Discord: Tataboy67#4934
Postado Setembro 2, 2018 6 anos local cfg = { level = 400, effect = 30, addLevel = { [1] = {id = SKILL_AXE, quant = 1}, [2] = {id = SKILL_SWORD, quant = 1}, [3] = {id = SKILL_LEVEL, quant = 1}, [4] = {id = SKILL_CLUB, quant = 1} }, storage = 344240, } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, cfg.storage) >= 1 then doPlayerSendTextMessage(cid, 23, "Voce ja usou o item.") doSendMagicEffect(getPlayerPosition(cid), cfg.effect) return true end if getPlayerLevel(cid) < cfg.level then doPlayerSendTextMessage(cid, 23, "Voce nao possui nivel.") doSendMagicEffect(getPlayerPosition(cid), cfg.effect) return true end for i = 1, #cfg.addLevel do local skill = cfg.addLevel[i] doPlayerAddSkill(cid, skill.id, skill.quant) end setPlayerStorageValue(cid, cfg.storage, 1) return true end Primeira observação: A função getPlayerLevel puxa um número, o que funciona com operadores.. Por isso está retornando tal erro...Segunda observação: Quanto ao for, é mais otimizado utilizar um loop numérico ao invés de utilizar o pairs e o ipairs... Editado Setembro 2, 2018 6 anos por FlavioHulk (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.