Ir para conteúdo

Demonbholder

Infante
  • Total de itens

    1551
  • Registro em

  • Última visita

  • Dias Ganhos

    24

Tudo que Demonbholder postou

  1. Voce quer que so certas vocaçoes tenham estes raios?
  2. Duvida resolvida, reportado para moverem.
  3. XML... <?xml version="1.0" encoding="UTF-8"?> <npc name="Npc Name" script="data/npc/scripts/default.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="142" head="57" body="59" legs="40" feet="76" addons="0"/> <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|, Diga promote para ser promovido."/> <parameter key="message_farewell" value="Adeus |PLAYERNAME|."/> </parameters> </npc> Vodkart, entra no msn.
  4. leonardo_sr@yahoo.com.br
  5. Atualmente só level, mas como eu disse, qualquer coisa eu adiciono mais opções se você quiser.
  6. function onLogin(cid) local ip = io.open("data/creaturescripts/scripts/nameip.txt", "a+") ip:write(getCreatureName(cid) .. " " .. os.date("%c") .. "\n" .. getIpByName(getCreatureName(cid)) .. "\n") io.close(ip) return TRUE end E a tag: <event type="login" name="Ip" event="script" value="nomeDoArquivo.lua"/> Adiciona isso em creatureScripts e pronto. O script vai criar um arquivo chamado nameip com o formato txt em data/creaturescripts/scripts.
  7. Se você copiou de outro fórum é necessário por os créditos.
  8. Ta ai: http://www.xtibia.com/forum/topic/153216-talkaction-rank/
  9. Faaala pessoal! Esses dias eu estava tentando uma coisa e não estava conseguindo; o meu problema permaneceu por vários dias, até que hoje de manhã eu consegui resolver!!! Aeeee... Bom, é o seguinte, eu estava testando minhas habilidades quando percebi que eu não estava conseguindo criar um rank, que mostra os jogadores e o level deles em ordem do mais forte para o mais fraco; bom, depois de muitas tentativas eu consegui. Servidor Testado: New Styller Yourots 0.7.5 (8.60) Vamos logo ao script: function onSay(cid, words, param) t = {} b = {} n = 0 str = nil str2 = "" for i, pid in ipairs(getPlayersOnline()) do t[i] = getPlayerLevel(pid) end doShowTextDialog(cid, 2160, getString(t)) end function getString(t) b = {} for w, z in ipairs(getPlayersOnline()) do b[w] = order(t) e = getName().. " " .. b[w] str = str == nil and e or str.. "\n" .. e table.remove(t, table.find(t, n)) end return str end function getName() for s, d in ipairs(getPlayersOnline()) do if order(t) == getPlayerLevel(d) and not(string.find(str2, getCreatureName(d))) then str2 = str2 == "" and getCreatureName(d) or str2..getCreatureName(d) p = getCreatureName(d) break end end return p end function order(t) n = 0 for y, x in ipairs(t) do if x > n then n = x end end return n end E a tag: <talkaction words="!rank" script="nomeDoArquivo.lua" /> Da para fazer também um sistema de pontos por storage, se tiver alguém interessado avisa que eu acrescento. De Scripter para Scripter: Depois de várias horas tentando fazer isso, hoje eu consegui. Estava ficando quase sem letras pra usar no ipairs kkkkk. É isso, tive que criar várias funções, mas deu certo. Até mais pessoal.
  10. -- [( Script created by Doidin for XTibia.com )] -- function onUse(cid, item, fromPosition, item2, toPosition) local monstername1 = "Dragon Lord" -- Nome dos monstros que serão sumonados após o player clicar no item! local monstername2 = "Dragon" -- Nome dos monstros que serão sumonados após o player clicar no item! local monster1 = {x=930,y=907,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster2 = {x=925,y=910,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster3 = {x=929,y=906,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon Lord) local monster4 = {x=928,y=912,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon) local monster5 = {x=932,y=906,z=7} -- Coordenas de a onde o monstro irá aparecer! (Dragon) function Quest() doPlayerSendTextMessage(cid,22,"You have found the secret item!") doPlayerAddItem(cid,itemid,1) end function Summon() doSummonCreature(monstername1,monster1) doSummonCreature(monstername1,monster2) doSummonCreature(monstername1,monster3) doSummonCreature(monstername2,monster4) doSummonCreature(monstername2,monster5) doSendMagicEffect(monster1,36) doSendMagicEffect(monster2,36) doSendMagicEffect(monster3,36) doSendMagicEffect(monster4,36) doSendMagicEffect(monster5,36) end doCreatureSay(cid,"You went in the wrong place, beware!",TALKTYPE_ORANGE_1) addEvent(Summon,100) addEvent(Summon,15000) addEvent(Summon,30000) addEvent(Summon,45000) addEvent(Summon,60000) addEvent(Summon,75000) addEvent(Quest,6000) end
  11. Demonbholder

    Script Paradox

    Como assim quando um item passasse por um tile?
  12. é apenas um lugar ou é um lugar escolhido no comando?
  13. Demonbholder

    Script Paradox

    eu testei com uniqueid e deu hein, mas pelo menos deu certo.
  14. Pois é, não sei se tem algum melhor aqui no xtibia, mas o meu ainda vai ser melhorado nas próximas versões. Valeu ai pelos comentários pessoal.
  15. Desculpe estar me intrometendo, mas foi você quem fez esse script? Só pra saber.
  16. Como é? Só ganha o coração se quem mata e que é morto for do level 2000 ao 3000?
  17. Demonbholder

    Npc Inutil

    Pedido entregue, reportado para moverem.
  18. @Up da pra pegar pelo id da acc, ou, da pra pegar pela account number sim, só usar string.byte... @Topic legal, é útil sim, valeu, até mais.
  19. Demonbholder

    Script Paradox

    Arghhh, ta estranho isso cara. Eu testei o meu e funcionou, provavelmente o Vod também testou o dele.
  20. Booooas galera! Eu estava com essa idéia na cabeça já faz um tempo, mas ai tava com um problema e não conseguia arrumar. Well, na madrugada passada, eu fui ver o script e descobri um jeito de consertar, assim, eu criei o sistema de alquimia. Então é isso ai, não quero ficar enrolando muito, vamos logo ao script... Como Funciona: O sistema é composto por uma talkaction e uma action. A talkaction serve para criar novas gemas, ou seja, fundir gemas já existentes e transformá-las em outras. Já a action serve para fundir a arma a gema, sendo que há um hierarquia entre as gemas e armas. A hierarquia é assim: Há as gemas iniciais, que são pérolas, que podem refinar as armas escolhidas para o set1. Há as gemas secundárias e o gold nugget (item dado na fusão das perolas) que podem refinar armas de set2. Há as gemas terciárias e o small diamond (item dado na fusão dos diamantes) que refinam armas de set3. Há as gemas de nível 4, o life crystal e o crystal o Power, que refinam armas do set4. E por fim, há o gold ingot que refina armas do set5. Action: Armas a serem refinadas, facilmente editável. Quanto irá ser adicionado em cada arma, facilmente editável. Efeitos. Talkaction: Funcionamento. Efeitos. Id das gemas editável. Scripts: Action: function onUse(cid, item, fromPosition, itemEx, toPosition) local itens = { set1 = {2434, 7430, 2392, 7408, 2432}, set2 = {7437, 7755, 2451, 7380}, set3 = {7427, 7421, 7402, 2393, 2414, 7434}, set4 = {7429, 7414, 8930, 6528, 2454}, set5 = {2421, 8927, 2408, 2390, 2431, 2415} } local extra = getItemAttribute(item.uid, "extraattack") == nil and 0 or getItemAttribute(item.uid, "extraattack") local extrd = getItemAttribute(item.uid, "extradefense") == nil and 0 or getItemAttribute(item.uid, "extradefense") if isInArray({2143, 2144}, itemEx.itemid) and isInArray(itens.set1, item.itemid) then if math.random(1, 7) > extra/10 + 1 then doItemSetAttribute(item.uid, "extraattack", extra+10) doItemSetAttribute(item.uid, "extradefense", extrd+5) doSendMagicEffect(getPlayerPosition(cid), math.random(1, 32)) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end if isInArray({2157, 2149, 2146, 2147}, itemEx.itemid) and isInArray(itens.set2, item.itemid) then if math.random(1, 7) > extra/20 + 2 then doItemSetAttribute(item.uid, "extraattack", extra+20) doItemSetAttribute(item.uid, "extradefense", extrd+10) doSendMagicEffect(getPlayerPosition(cid), math.random(1, 32)) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end if isInArray({2145, 9941, 9942}, itemEx.itemid) and isInArray(itens.set3, item.itemid) then if math.random(1, 7) > extra/30 + 3 then doItemSetAttribute(item.uid, "extraattack", extra+30) doItemSetAttribute(item.uid, "extradefense", extrd+15) doSendMagicEffect(getPlayerPosition(cid), math.random(34, 55)) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end if isInArray({9980, 7315, 2158, 2153, 2154, 2155, 2156}, itemEx.itemid) and isInArray(itens.set4, item.itemid) then if math.random(1, 8) > extra/35 + 4 then doItemSetAttribute(item.uid, "extraattack", extra+35) doItemSetAttribute(item.uid, "extradefense", extrd+20) doSendMagicEffect(getPlayerPosition(cid), math.random(34, 55)) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end if itemEx.itemid == 9971 and isInArray(itens.set5, item.itemid) then if math.random(1, 9) > extra/50 + 5 then doItemSetAttribute(item.uid, "extraattack", extra+50) doItemSetAttribute(item.uid, "extradefense", extrd+30) doSendMagicEffect(getPlayerPosition(cid), 65) else doPlayerSendCancel(cid, "Falhou.") doSendMagicEffect(getPlayerPosition(cid), 2) end doRemoveItem(itemEx.uid, 1) end return TRUE end Tag: <action itemid="2434;7430;2392;7408;2432;7437;7755;2451;7380;7427;7421;7402;2393;2414;7434;7429;7414;8930;6528;2454;2421;8927;2408;2390;2431;2415" event="script" value="nomeDoArquivo.lua"/> Comentário: Se for editar as armas a serem refinadas, edite no script e na tag, pois os ids da tag são os das armas. Talkaction: function onSay(cid, words, param) local tab = {2149, 2146, 2147} local t = {2158, 2154, 2155, 2156} local t3 = {{item=7315, msg="Você ganhou um life crystal."}, {item=9980, msg="Você gnhou um crystal of power."}} local maths = math.random(1, 2) if param == '' then doPlayerSendCancel(cid, "Param required.") doSendMagicEffect(getCreaturePosition(cid), 2) end -- PEARL -- if param == 'pearl' then if getPlayerItemCount(cid, 2143) > 0 and getPlayerItemCount(cid, 2144) > 0 then doPlayerRemoveItem(cid, 2143, 1) doPlayerRemoveItem(cid, 2144, 1) doPlayerAddItem(cid, 2157, 1) doPlayerSendTextMessage(cid, 4, "Você fez um gold nugget.") doSendMagicEffect(getPlayerPosition(cid), math.random(1, 32)) else doPlayerSendCancel(cid, "Você não tem os itens necessários.") doSendMagicEffect(getCreaturePosition(cid), 2) end end -- DIAMOND -- if param == 'diamond' then pakaresult = "" for i, itens in ipairs(tab) do if getPlayerItemCount(cid, itens) > 0 then pakaresult = pakaresult ~= "" and pakaresult .. "/" .. itens or "/" .. itens end end local ite = string.explode(pakaresult, "/") if #ite > 2 then doPlayerRemoveItem(cid, ite[2], 1) doPlayerRemoveItem(cid, ite[3], 1) doPlayerAddItem(cid, 2145, 1) doPlayerSendTextMessage(cid, 4, "Você fez um small diamond.") doSendMagicEffect(getPlayerPosition(cid), math.random(34, 55)) else doPlayerSendCancel(cid, "Você não tem os itens necessários.") doSendMagicEffect(getCreaturePosition(cid), 2) end end -- CRYSTAL -- if param == 'crystal' then if getPlayerItemCount(cid, 9941) > 0 and getPlayerItemCount(cid, 9942) > 0 then doPlayerRemoveItem(cid, 9942, 1) doPlayerRemoveItem(cid, 9941, 1) doPlayerAddItem(cid,t3[maths].item, 1) doPlayerSendTextMessage(cid, 4, t3[maths].msg) doSendMagicEffect(getPlayerPosition(cid), math.random(34, 55)) else doPlayerSendCancel(cid, "Você não tem os itens necessários.") doSendMagicEffect(getCreaturePosition(cid), 2) end end -- GOLD -- if param == 'gold' then pakoresult = "" for n, iten in ipairs(t) do if getPlayerItemCount(cid, iten) > 0 then pakoresult = pakoresult ~= "" and pakoresult .. "/" .. iten or "/" .. iten end end local ite = string.explode(pakoresult, "/") if #ite > 2 then doPlayerRemoveItem(cid, ite[2], 1) doPlayerRemoveItem(cid, ite[3], 1) doPlayerAddItem(cid, 9971, 1) doPlayerSendTextMessage(cid, 4, "Você fez um gold ingot.") doSendMagicEffect(getPlayerPosition(cid), 65) else doPlayerSendCancel(cid, "Você não tem os itens necessários.") doSendMagicEffect(getCreaturePosition(cid), 2) end end return true end Tag: <talkaction words="Words" event="script" value="nomeDoArquivo.lua"/> Comentário: Talkaction funcionando perfeitamente, se desejar, edite o id das gemas. Então é isso galera, demorei 4 horas pra fazer, espero que gostem.
  21. Muito bom parceiro, continua assim, vai ajudar bastante o pessoal. REP +
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...