Ir para conteúdo

Wise

Membro
  • Registro em

  • Última visita

Tudo que Wise postou

  1. Wise respondeu ao post em um tópico de Vasto Lord X em Suporte Tibia OTServer
    Certo, mas o que isso tem a ver com o tópico em questão?
  2. Fiz para que o player receba uma storage (assim que matar o boss) que têm um tempo de duração, para que ele possa abrir a porta nesse tempo. Não testei. bosskill.lua (data/creaturescripts/scripts): local tab = { bossname = "Morgaroth", str = {16661, 10} -- {storage, time} } function onKill(cid, target, lastHit) if(getCreatureName(target) == tab.bossname) then setPlayerStorageValue(cid, tab.str[1], os.time() + tab.str[2] * 60) end return true end Adicione o registro ao arquivo login.lua (data/creaturescripts/scripts): registerCreatureEvent(cid, "BossKill") Adicione a tag - creaturescripts.xml (data/creaturescripts): <event type="kill" name="BossKill" event="script" value="bosskill.lua"/> bossdoor.lua (data/actions/scripts): local str = 16661 -- storage function onUse(cid, item, frompos, item2, topos) local pos = getCreaturePosition(cid) if getPlayerStorageValue(cid, str) - os.time() < 1 then return doPlayerSendCancel(cid, "You need to kill the BOSS to open the door.") end if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y + 1 else pos.y = topos.y - 1 end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x + 1 else pos.x = topos.x - 1 end else doPlayerSendCancel(cid, "Stand in front of the door.") return true end doTeleportThing(cid, pos) doSendMagicEffect(topos, CONST_ME_MAGIC_BLUE) return true end Adicione a tag - actions.xml (data/actions): <action actionid="ACTIONID" script="bossdoor.lua"/>
  3. Wise respondeu ao post em um tópico de eunaosei123 em Suporte Tibia OTServer
    Você está modificando o script ou adicionando ele ao arquivo, de forma incorreta: Isso tá errado e está diferente do script que eu postei acima. Disponha.
  4. Amigo, quando o membro pediu para você criar um arquivo ferreiro.lua, ele quis dizer que é pra você criar um arquivo com a extensão lua e nomear o mesmo para ferreiro. Nomear um arquivo já com a extensão Lua para .lua vai ocasionar esse tipo de erro no reconhecimento da localização do arquivo, pois ele ficará como .lua.lua em vez de somente .lua. @Nildson
  5. Você não disse se queria recompensas para mais de um level, então só fiz uma tabela para um único valor mesmo. De qualquer forma, disponha.
  6. Wise respondeu ao post em um tópico de eunaosei123 em Suporte Tibia OTServer
    De onde você tirou isso? O correto seria como está no script acima: if getPlayerMoney(cid) >= tab.aposta1[1] then doPlayerRemoveMoney(cid, tab.aposta1[1]) Não vejo erros.
  7. KISS rewardlevel.lua (data/creaturescripts/scripts): local tab = { level = 50, reward = {2160, 10} -- reward = {itemid, count} } function onAdvance(cid, skill, oldlevel, newlevel) if getPlayerLevel(cid) >= tab.level then doPlayerAddItem(cid, tab.reward[1], tab.reward[2]) doSendMagicEffect(getThingPos(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You received "..tab.reward[2].." "..getItemNameById(tab.reward[1]).." for reaching level "..tab.level.."!!") end return true end Adicione o registro ao arquivo login.lua (data/creaturescripts/scripts): registerCreatureEvent(cid, "RewardLevel") Adicione a tag - creaturescripts.xml (data/creaturescripts): <event type="advance" name="RewardLevel" event="script" value="rewardlevel.lua"/>
  8. Wise respondeu ao post em um tópico de eunaosei123 em Suporte Tibia OTServer
    Só fiz a tabela como exemplificação, configura aqui brother: local tab = { aposta1 = {1000000, 2000000}, -- apostaN = {custo, premio}, aposta2 = {1000000, 2000000}, aposta3 = {100000000, 200000000} } Caso tenha dificuldade em configurar: 1k = 1000 10k = 10000 100k = 100000 1000k (1kk) = 1000000
  9. Wise respondeu ao post em um tópico de Vasto Lord X em Suporte Tibia OTServer
    Não entendi muito bem. Suponho que você queira um script que ao matar um monstro (pokémon), receba determinada quantia de um item, certo? pokemonkill.lua (data/creaturescripts/scripts): local tab = { ["Pichu"] = {5432, 1}, -- ["pokemon name"] = {itemid, count}, ["Pikachu"] = {5432, 1}, ["Raichu"] = {5432, 1} } function onKill(cid, target, lastHit) if(tab[getCreatureName(target)]) then doPlayerAddItem(cid, tab[getCreatureName(target)][1], tab[getCreatureName(target)][2]) end return true end No arquivo login.lua (data/creaturescripts/scripts), adicione: registerCreatureEvent(cid, "PokemonKill") Adicione a tag - creaturescripts.xml (data/creaturescripts): <event type="kill" name="PokemonKill" event="script" value="pokemonkill.lua"/>
  10. Wise respondeu ao post em um tópico de grafit em Suporte Tibia OTServer
    Talvez sim, talvez não. Varia de acordo com as funções do script, não tem como determinar se haverá bugs ou não. Você tem de analisar o script da versão anterior e aplicar as funções da versão na qual você o usa agora (1.0). Caso tenha bugs, basta fazer uma adaptação das funções do script que não executar corretamente, deve dar certo.
  11. Wise respondeu ao post em um tópico de Vasto Lord X em Suporte Tibia OTServer
    Como vou saber saber como você o quer? Eu não jogo esse "ot pokemon". Seja o mais específico possível.
  12. Wise respondeu ao post em um tópico de eunaosei123 em Suporte Tibia OTServer
    local tab = { aposta1 = {1000000, 2000000}, -- apostaN = {custo, premio}, aposta2 = {1000000, 2000000}, aposta3 = {100000000, 200000000} } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end function thinkCallback(cid) local rand = math.random(1,100) if rand == 1 then selfSay('Oi! Ganhe dinheiro com sua sorte!') end if rand == 2 then selfSay ('Só entendo português, diga oi.') end if rand == 3 then selfSay ('Posso te ajudar?') end return true end function greetCallback(cid) return true end local mpn = math.random(1,10) local npcn = math.random(1,10) local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'jogar')) then selfSay('O jogo é bem simples, você só precisa decidir se quer apostar 1 crystal coin, 10 crystal coins ou 100 crystal coins. Após decidir sua aposta, será sorteado um número entre 1 e 10 para mim e para você, vence quem sortear o maior número. Se der empate, você recebe o dinheiro da aposta de volta, se você ganhar receberá o dobro do valor da aposta e se perder eu fico com o seu dinheiro da aposta. Diga {1 crystal coin}, {10 crystal coins} ou {100 crystal coins} para começar o jogo.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, '1 crystal coin') and talkState[talkUser] == 1) then selfSay('Você tem certeza que quer apostar 1 crystal coin?', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if getPlayerMoney(cid) >= tab.aposta1[1] then doPlayerRemoveMoney(cid, tab.aposta1[1]) setPlayerStorageValue(cid, 2224, npcn) setPlayerStorageValue(cid, 55411, mpn) talkState[talkUser] = 0 if getPlayerStorageValue(cid, 55411) < getPlayerStorageValue(cid, 2224)then selfSay('Seu número: '..getPlayerStorageValue(cid, 55411)..'. Meu número: '..getPlayerStorageValue(cid, 2224)..'. Você Perdeu!',cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, 55411) == getPlayerStorageValue(cid, 2224) then selfSay('Seu número: '..getPlayerStorageValue(cid, 55411)..'. Meu número: '..getPlayerStorageValue(cid, 2224)..'. Deu Empate!',cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, 55411) > getPlayerStorageValue(cid, 2224) then selfSay('Seu número: '..getPlayerStorageValue(cid, 55411)..'. Meu número: '..getPlayerStorageValue(cid, 2224)..'. Você Venceu!',cid) doPlayerAddMoney(cid, tab.aposta1[2]) talkState[talkUser] = 1 end else selfSay('Desculpe, mas você não possui dinheiro para esta aposta',cid) end elseif(msgcontains(msg, '10 crystal coin') and talkState[talkUser] == 1) then selfSay('Você tem certeza que quer apostar 10 crystal coin?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if getPlayerMoney(cid) >= tab.aposta2[1] then doPlayerRemoveMoney(cid, tab.aposta2[1]) setPlayerStorageValue(cid, 2225, npcn) setPlayerStorageValue(cid, 55412, mpn) if getPlayerStorageValue(cid, 55412) < getPlayerStorageValue(cid, 2225)then selfSay('Seu número: '..getPlayerStorageValue(cid, 55412)..'. Meu número: '..getPlayerStorageValue(cid, 2225)..'. Você Perdeu!',cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, 55412) == getPlayerStorageValue(cid, 2225) then selfSay('Seu número: '..getPlayerStorageValue(cid, 55412)..'. Meu número: '..getPlayerStorageValue(cid, 2225)..'. Deu Empate!',cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, 55412) > getPlayerStorageValue(cid, 2225) then selfSay('Seu número: '..getPlayerStorageValue(cid, 55412)..'. Meu número: '..getPlayerStorageValue(cid, 2225)..'. Você Venceu!',cid) doPlayerAddMoney(cid, tab.aposta2[2]) talkState[talkUser] = 1 end else selfSay('Desculpe, mas você não possui dinheiro para esta aposta',cid) end elseif(msgcontains(msg, '100 crystal coin') and talkState[talkUser] == 1) then selfSay('Você tem certeza que quer apostar 100 crystal coin?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'sim') and talkState[talkUser] == 1) then if getPlayerMoney(cid) >= tab.aposta3[1] then doPlayerRemoveMoney(cid, tab.aposta3[1]) setPlayerStorageValue(cid, 2226, npcn) setPlayerStorageValue(cid, 55413, mpn) if getPlayerStorageValue(cid, 55413) < getPlayerStorageValue(cid, 2226)then selfSay('Seu número: '..getPlayerStorageValue(cid, 55413)..'. Meu número: '..getPlayerStorageValue(cid, 2226)..'. Você Perdeu!',cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, 55413) == getPlayerStorageValue(cid, 2226) then selfSay('Seu número: '..getPlayerStorageValue(cid, 55413)..'. Meu número: '..getPlayerStorageValue(cid, 2226)..'. Deu Empate!',cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, 55413) > getPlayerStorageValue(cid, 2226) then selfSay('Seu número: '..getPlayerStorageValue(cid, 55413)..'. Meu número: '..getPlayerStorageValue(cid, 2226)..'. Você Venceu!',cid) doPlayerAddMoney(cid, tab.aposta3[2]) talkState[talkUser] = 1 end else selfSay('Desculpe, mas você não possui dinheiro para esta aposta',cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  13. @Nogard @luanluciano93 Que bom que gostaram, obrigado.
  14. Essa talkaction consiste em fazer com que o player que possui determinada quantidade de um item, aprenda uma spell em troca do mesmo. Exemplo de uso (do parâmetro): !learnspell exori frigo Se preferir apenas uma determinada quantidade de um único item por spell: learnspell.lua (data/talkactions/scripts): local tab = { ["exori frigo"] = {spell = "Ice Strike", item = {1234, 5}}, -- ["nome da spell"] = {spell = "nome da conjuração da spell", item = {itemid, quantidade}}, ["exori mort"] = {spell = "Death Strike", item = {1234, 5}}, ["exori vis"] = {spell = "Energy Strike", item = {1234, 5}}, ["exori flam"] = {spell = "Flame Strike", item = {1234, 5}}, ["exori tera"] = {spell = "Terra Strike", item = {1234, 5}}, ["exori san"] = {spell = "Divine Missile", item = {1234, 5}} } function onSay(cid, words, param, channel) local sparam = string.lower(param) if(param == "") then return doPlayerSendCancel(cid, "Enter the name of the spell you want to learn.") end if not (tab[sparam]) then return doPlayerSendCancel(cid, "Spell not found.") end if(getPlayerLearnedInstantSpell(cid, tab[sparam].spell)) then return doPlayerSendCancel(cid, "You already have learned this spell.") end if(getPlayerItemCount(cid, tab[sparam].item[1]) >= tab[sparam].item[2]) then doPlayerLearnInstantSpell(cid, tab[sparam].spell) doPlayerRemoveItem(cid, tab[sparam].item[1], tab[sparam].item[2]) doSendMagicEffect(getThingPos(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have learned the spell!") else doPlayerSendCancel(cid, "You need "..tab[sparam].item[2].." "..getItemNameById(tab[sparam].item[1]).." to learn this spell.") end return true end Se quiser 2 itens por spell, use este script (mesmo arquivo): local tab = { ["exori frigo"] = {spell = "Ice Strike", item = {1234, 5}, item2 = {5678, 9}}, -- ["nome da spell"] = {spell = "nome da conjuração da spell", item = {itemid, quantidade}, item2 = {itemid, quantidade}}}, ["exori mort"] = {spell = "Death Strike", item = {1234, 5}, item2 = {5678, 9}}, ["exori vis"] = {spell = "Energy Strike", item = {1234, 5}, item2 = {5678, 9}}, ["exori flam"] = {spell = "Flame Strike", item = {1234, 5}, item2 = {5678, 9}}, ["exori tera"] = {spell = "Terra Strike", item = {1234, 5}, item2 = {5678, 9}}, ["exori san"] = {spell = "Divine Missile", item = {1234, 5}, item2 = {5678, 9}} } function onSay(cid, words, param, channel) local sparam = string.lower(param) if(param == "") then return doPlayerSendCancel(cid, "Enter the name of the spell you want to learn.") end if not (tab[sparam]) then return doPlayerSendCancel(cid, "Spell not found.") end if(getPlayerLearnedInstantSpell(cid, tab[sparam].spell)) then return doPlayerSendCancel(cid, "You already have learned this spell.") end if(getPlayerItemCount(cid, tab[sparam].item[1]) >= tab[sparam].item[2] and (getPlayerItemCount(cid, tab[sparam].item2[1]) >= tab[sparam].item2[2])) then doPlayerLearnInstantSpell(cid, tab[sparam].spell) doPlayerRemoveItem(cid, tab[sparam].item[1], tab[sparam].item[2]) doPlayerRemoveItem(cid, tab[sparam].item2[1], tab[sparam].item2[2]) doSendMagicEffect(getThingPos(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have learned the spell!") else doPlayerSendCancel(cid, "You need "..tab[sparam].item[2].." "..getItemNameById(tab[sparam].item[1]).." and "..tab[sparam].item2[2].." "..getItemNameById(tab[sparam].item2[1]).." to learn this spell.") end return true end Se quiser um script com mais de 2 itens para uma spell, peça no tópico que eu faço. Adicione a tag ao arquivo talkactions.xml (data/talkactions/scripts): <talkaction words="!learnspell" event="script" value="learnspell.lua"/> Não se esqueça de "ativar" a obtenção da spell, para que os players não aprendam ela ao criar o character. Basta mudar o valor na tag da spell, para 1, onde está needlearn. Ficando então: needlearn="1" Créditos: Suicide.
  15. Wise respondeu ao post em um tópico de davidmr em Suporte Tibia OTServer
    Substitua o seu script de bless por este: local tab = { bless = {1, 2, 3, 4, 5}, price = 80000 } function onSay(cid, words, param) for i = 1, table.maxn(tab.bless) do if(getPlayerBlessing(cid, tab.bless[i])) then doPlayerSendCancel(cid, "You already have all the blessings.") return true end if(getPlayerMoney(cid) >= tab.price) then doPlayerAddBlessing(cid, tab.bless[i]) doPlayerRemoveMoney(cid, tab.price) doCreatureSay(cid, "You are now blessed!", TALKTYPE_MONSTER) doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA) else doPlayerSendCancel(cid, "You need "..tab.price.." gold coins to buy the blessings.") end end return true end Remova o creaturescript de aol do seu servidor e use este: amuletofloss.lua (data/creaturescripts/scripts): local aolid = 2173 function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if(isPlayer(cid) and (getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid == aolid)) then doCreatureSetDropLoot(cid, false) doSendMagicEffect(getThingPos(cid), CONST_ME_HOLYAREA) end return true end function onDeath(cid, corpse, deathList) if isPlayer(cid) and (getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid == aolid) then doPlayerRemoveItem(cid, aolid, 1) end return true end Adicione ao arquivo login.lua (data/creaturescripts/scripts): registerCreatureEvent(cid, "amuletofloss") registerCreatureEvent(cid, "removeaol") Adicione as tags - creaturescripts.xml (data/creaturescripts): <event type="PrepareDeath" name="amuletofloss" event="script" value="amuletofloss.lua"/> <event type="death" name="removeaol" event="script" value="amuletofloss.lua"/>
  16. Amigo, na área da spell: o valor 0 determina que nada irá acontecer no local (sqm); o valor 1 determina o sqm no qual haverá o efeito da spell; o valor 3 determina o sqm central da spell. Tente desse modo: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 34) function getSpellDamage(cid, weaponSkill, weaponAttack) damage_min = (weaponSkill * weaponAttack / 25) * 5.0 damage_max = (weaponSkill * weaponAttack / 25) * 5.5 if(damage_max < damage_min) then local tmp = damage_max damage_max = damage_min damage_min = tmp end return -damage_min, -damage_max end local arr = { {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 3, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(combat, area) setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
  17. Wise respondeu ao post em um tópico de CreatServer em Suporte Tibia OTServer
    Tem certeza de que adicionou o script corretamente ao arquivo? Não há erros na estrutura dele:
  18. Nossa, que da hora.. Curti demais.
  19. Script de talkaction padrão da maioria dos servidores.. serversave.lua (data/talkactions/scripts): local savingEvent = 0 function onSay(cid, words, param, channel) if(isNumber(param)) then stopEvent(savingEvent) save(tonumber(param) * 60 * 1000) else doSaveServer() end return true end function save(delay) doSaveServer() if(delay > 0) then savingEvent = addEvent(save, delay, delay) end end tag - talkactions.xml (data/talkactions): <talkaction log="yes" words="/serversave" access="4" event="script" value="serversave.lua"/>
  20. Wise respondeu ao post em um tópico de xWhiteWolf em Suporte & Pedidos
    Simplesmente incrível, espero pela postagem do script tanto quanto vocês.
  21. local tab = { effect = 14, -- efeito que sai levelcrit = 100, --- leveis que terão resetsto = 39650, -- o storage do seu sistema de reset resetmin = 2, -- quantidade de resets para poder usar critsto = 48903 -- storage do Critical System } function onUse(cid, item, frompos, item2, topos) if(getPlayerStorageValue(cid, tab.resetsto) < tab.resetmin) then doPlayerSendCancel(cid, "You need to have at least "..tab.resetmin.." resets to use the Critical System.") return true end if(getPlayerStorageValue(cid, tab.critsto) < tab.levelcrit) then doRemoveItem(item.uid, 1) doSendMagicEffect(getThingPos(cid), tab.effect) setPlayerStorageValue(cid, tab.critsto, getPlayerStorageValue(cid, tab.critsto)+1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You've leveled your Critical Skill to ["..(getPlayerStorageValue(cid, tab.critsto)+1).."/100].") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You already have the maximum allowed of Critical Skill.\nCongratulations!!!!") return false end return true end
  22. Esse creaturescript é o que salva o player assim que ele tem seus dados alterados (skills).
  23. Não testei newplayer.lua (data/creaturescripts/scripts): local tab = { items = { [1] = {1234, 2341, 3412, 4123, 4321}, -- {itemid1, itemdid2, itemdi3..} [2] = {1234, 2341, 3412, 4123, 4321}, [3] = {1234, 2341, 3412, 4123, 4321}, [4] = {1234, 2341, 3412, 4123, 4321} }, skills = { [1] = {fist = 10, club = 10, sword = 10, axe = 10, distance = 10, shield = 10, ml = 50}, [2] = {fist = 10, club = 10, sword = 10, axe = 10, distance = 10, shield = 10, ml = 50}, [3] = {fist = 10, club = 10, sword = 10, axe = 10, distance = 10, shield = 10, ml = 50}, [4] = {fist = 10, club = 10, sword = 10, axe = 10, distance = 10, shield = 10, ml = 50} }, containers = { [1] = {hpotion = {1234, 50}, mpotion = {4321, 50}, others = {123, 456, 789}}, -- {hpotion = {itemid, count}, mpotion = {itemid, count}, others = {itemid1, itemid2, itemid3..} [2] = {hpotion = {1234, 50}, mpotion = {4321, 50}, others = {123, 456, 789}}, [3] = {hpotion = {1234, 50}, mpotion = {4321, 50}, others = {123, 456, 789}}, [4] = {hpotion = {1234, 50}, mpotion = {4321, 50}, others = {123, 456, 789}} } } function onLogin(cid) local bag = doPlayerAddItem(cid, 12345, 1) -- 12345 = itemid da bag/backpack na qual serão adicionados os itens configurados em tab.containers if(getPlayerLastLoginSaved(cid) == 0) then for i = 1, table.maxn(tab.items[getPlayerVocation(cid)]) do for c = 1, table.maxn(tab.containers.others[getPlayerVocation(cid)]) do for voc, s in pairs(tab.skills[getPlayerVocation(cid)]) do doAddContainerItem(bag, tab.containers[getPlayerVocation(cid)].others[c], 1) doAddContainerItem(bag, tab.containers[getPlayerVocation(cid)].hpotion[1], tab.containers[getPlayerVocation(cid)].hpotion[2]) doAddContainerItem(bag, tab.containers[getPlayerVocation(cid)].mpotion[1], tab.containers[getPlayerVocation(cid)].mpotion[2]) doPlayerAddItem(cid, tab.items[getPlayerVocation(cid)][i], 1) doPlayerAddSkillTry(cid, SKILL_FIST, s.fist) doPlayerAddSkillTry(cid, SKILL_CLUB, s.club) doPlayerAddSkillTry(cid, SKILL_SWORD, s.sword) doPlayerAddSkillTry(cid, SKILL_AXE, s.axe) doPlayerAddSkillTry(cid, SKILL_DISTANCE, s.distance) doPlayerAddSkillTry(cid, SKILL_SHIELD, s.shield) doPlayerAddSkillTry(cid, SKILL__MAGLEVEL, s.ml) end end end end return true end tag - creaturescripts.xml (data/creaturescripts): <event type="login" name="NewPlayer" event="script" value="newplayer.lua"/> Ah sim, em ambas as tabelas, onde está: [1] = {.. [2] = {.. [3] = {.. [4] = {.. Esses números entre os colchetes [] são os IDs das vocações. Usei os valores no script como exemplo, é só alterar como preferir.

Informação Importante

Confirmação de Termo