Ir para conteúdo

eduardo190696

Visconde
  • Total de itens

    474
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Histórico de Reputação

  1. Thanks
    eduardo190696 recebeu reputação de Mestre PKT em Auto Loot   
    CRIADOR : JANO
    Retirado: Outro forum
    Script: Auto Loot *-*
     
    creaturescripts.xml

    <event type="login" name="aloot_reg" event="script" value="aloot.lua"/> <event type="kill" name="aloot_kill" event="script" value="aloot.lua"/>
    creaturescripts/scritps
    aloot.lua

    function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end
    talkactios.xml

    <talkaction words="/aloot" hide="yes" event="script" value="aloot.lua"/>
     
    Talkaction/scrips

    local stor, limit = 7575, 5 --storage, limit to add. local allow_container = false --empty! not looted with items, atleast for now. function onSay(cid, words, param) local expl = param:explode(':') local action, rst = expl[1], expl[2] if (action:lower() == 'check') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):explode(',') end local txt = 'Autoloot List:\n' if (#list > 0) then for k, id in ipairs(list) do id = id:gsub('_', '') if tonumber(id) then txt = txt .. getItemNameById(tonumber(id)) .. ((k < #list) and '\n' or '') end end else txt = 'Empty' end doPlayerPopupFYI(cid, txt) elseif (action:lower() == 'add') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not allow_container and isItemContainer(item) then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end local attrs = getItemInfo(item) if not attrs then return doPlayerSendCancel(cid, 'not valid item.') elseif not attrs.movable or not attrs.pickupable then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end if isInArray(list, item) then return doPlayerSendCancel(cid, 'already added.') end table.insert(list, tostring(item)) local new = '' for v, id in ipairs(list) do new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< has been added to the autoloot list.') elseif (action:lower() == 'remove') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list == 0) then return doPlayerSendCancel(cid, 'You dont have any item added.') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not isInArray(list, item) then return doPlayerSendCancel(cid, 'This item is not in the list.') end local new = '' for v, id in ipairs(list) do if (tonumber(id) ~= item) then new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< removed from the autoloot list.') end return true end
     
    Usando
     
    /aloot check
    Cheka a Lista dos Loots
     
    /aloot add:itemid ou nome do item
     
    Exemplo
    /aloot add:worm
    /aloot add:2170
     
    16:42 Item >>worm<< has been added to the autoloot list.
     
    Para remover
    /aloot remove:worm
    /aloot remove:2170
     
    Exemplo Testado:
    16:41 Looted 2 gold coin.
    16:41 Looted 1 cheese.
     
    é isso pessoal gosto da + Rep
  2. Upvote
    eduardo190696 recebeu reputação de pokemonfox123 em Vocation Pet System   
    Sistema por talkactions
     
    Descrição

    !back - remove o pet

    Level minimo e maximo -- para sumonar o pet

    Maximo Summons -- Só pode sumonar 1 pet

    tilepz -- em protec zone não pode summonar
     
    Talkactions/scripts

    function onSay(cid, words, param, itemEx, params) if isCreature(cid) then if words == "!back" then doRemoveCreature(x) return True end end local summons = getCreatureSummons(cid) local monster = { ["dragon lord hatchling"] = { Level = 10, Levelmax = 30, Voc = 1, Vocp = 5 }, ["dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 2, Vocp = 6 }, ["frost dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 3, Vocp = 7 }, ["dark dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 4, Vocp = 8 } } for k,v in pairs(monster) do if getPlayerVocation(cid) == v.Voc or getPlayerVocation(cid) == v.Vocp then if getPlayerLevel(cid) >= v.Level and getPlayerLevel(cid) <= v.Levelmax then if (table.maxn(summons) < 1)then if getTilePzInfo(getCreaturePosition(cid)) == false then x = doSummonCreature(k, getCreaturePosition(cid)) doConvinceCreature(cid, x) doCreatureSay(cid, "Go to me ,".. k,1) else doPlayerSendCancel(cid, "Sorry, You cannot create Element Pet in pz.") end else doPlayerSendCancel(cid, "Sorry, You can not create more than one Element Pet.") end else doPlayerSendCancel(cid, "Sorry, You no have Level for creat your Element Pet.") end end end return true end
    Talkactions.xml

    <talkaction words="!criar" script="vocationsummon.lua"/> <talkaction words="!back" script="vocationsummon.lua"/>
     
    Editando
     

    ["Nome do Monster"] = { Level = Level Minimo, Levelmax = Level Maximo, Voc = Vocação, Vocp = Promotion },
     
    não esqueça de editar a flag

    <flag convinceable="1"/>
    no monster
     
    e no ultimo monster da tabela não deve ter virgula no final
     
    Tirando Lvl Max
    Procure por

    if getPlayerLevel(cid) >= v.Level and getPlayerLevel(cid) <= v.Levelmax then
    e Deixa assim

    if getPlayerLevel(cid) >= v.Level then
     
    Gosto ? Da ++rep não cai o dedo
  3. Upvote
    eduardo190696 deu reputação a Robinhood em "Ao infinito e Além..." - Novo Administrador Xtibia.com   
    Não faço parte profundamente do xtibia, mas logo que eu estava bem entusiasmado para ser ativo no forum, acontece uma coisas dessas.
    Pareçe então que o Xtibia não mudou, e não vai mudar.
     
    Oneshot fala algo que acha verdade e muitos outros também, e é excluido, Beeki vende servidores para membros do forum é banido e por que é um baba ovo puxa-saco sem moral, tirão o ban do mesmo.. xtibia começou bem o ano 2013 em..
  4. Upvote
    eduardo190696 deu reputação a Tonynh em "Ao infinito e Além..." - Novo Administrador Xtibia.com   
    Foi uma decisão sábia colocar o And na administração, como já citaram no tópico, ele serve de inspiração para muitos users aqui.
    Eu só reforço as palavras do Lordfire, e faço questão de dizer que não foi um masskick, e sim, desistência de toda uma equipe, que querendo ou não, estava disposta a contribuir e muito com o fórum. Resultado de uma decisão mal tomada.
     
    O And citou no tópico:
    Só queria explicar que ninguém foi excluído, a não ser o OneShot. Todos nós saímos por livre e espontânea vontade perante a uma grande injustiça, e foi isso que te levou ao cargo. Então, esse negócio de "o seu trabalho não se encaixa ao novo modelo" é falso.
    Desculpe, o Gus mesmo citou que você foi oferecer ajuda, ou seja, não havia nada planejado até então.
     
    #And
    Acredito no teu trabalho, acredito sim que essa comunidade possa vir a crescer novamente com sua administração, então, estou dando BOA SORTE em ajudar a casa em que tantos anos morei.
    E cara, o bom profissional é aquele que é bom no que faz, mas acima de tudo é humilde.
     
    Abraços, e sucesso.
  5. Upvote
    eduardo190696 deu reputação a Oneshot em Xtibia 2013: O que você mudaria?   
    Não, cara, é o contrário, você já havia desistido, só estava esperando algo para justificar sua desistência.
     
    Afinal o portal XTibia não é tão rentável como a cadeia de servidores GlobalOTS, não é?
  6. Upvote
    eduardo190696 deu reputação a FLyckks em [Show off] Setzen   
    Concordo plenamente cntg Slicer... Continuando meu raciocinio.
    Setzen, apenas coloque creditos.
     
    A textura que você deu a roupa ficou boa, tente dar uma olhada melhor no cabelo =)...
     
    abraços cara
  7. Upvote
    eduardo190696 deu reputação a EdMignari em [Arquivado]Porque Não Investem Em Server 9.6X?   
    Amigo, quando o OpenTibia nasceu eram poucos que sabiam programar, mas muitos que tinham vontade de aprender... e aprenderam!!! Alguns desses programas que você encontra por ai, foram criados por alguem que estava aprendendo e que hoje provávelmente trabalha e não pode mais dedicar seu tempo ao projeto.
    Hoje mudou bastante. Ninguém quer mais aprender. Quer tudo pronto, free e na hora. E não vejo este tópico como alguém que queira dar força ao OpenTibia, e sim alguém que precisa de um programa e não encontrou na versão desejada.
    Quer ajudar o OpenTibia? Aprenda a programar e não fuja de uma linguagem de programação feito galinha.
  8. Upvote
    eduardo190696 recebeu reputação de DestruidorBiel em Data Editor Capitulo 1: O Que São ?   
    Vejo muitas pessoas querendo adicionar novas imagens nos seus ots para dar um diferencial, mais a maioria não sabe oque são Data Editor's e para que servem.
     
    1: Data editor
    1.2: Arquivos .SPR
    1.3: Item editor
    1.4: Versão
     
    2: Downloads
     
    1: Data Editor: É o programa usado para editar o arquivo .dat dos client de Tibia, O mesmo tem a função de juntar as Sprites e montar imagens que variam de tamanho em tamanho, ele junta imagens que são cortadas em uma dimensão de 32 x 32 e junta os pedaços assim criando imagens de paredes, monstros e inúmeras coisas.
     
    1.2: O arquivo Tibia.SPR é o arquivo que contem todas as imagens em 32 x 32 ,o arquivos Tibia.dat por sua vez tem o dever de organizar todas essas imagens juntando-as e transformando e dando um ID a elas.
     
    1.3: Esse ID será utilizado no programa Item editor que por sua vez irá abrir Tibia.dat e Tibia.SPR juntos assim vendo com perfeição como ficaram as imagens depois de montadas, O item editor serve para transformar Imagens montadas pelo Data editor em itens de jogo assim definindo o seu papel no jogo.
     
    1.4: Como o Client do tibia atualiza a versão seja de 8.10 para 8.11 ele muda alguns códigos essenciais para os programas poderem ler o que contem dentro dos arquivos .dat e .spr, Assim dificultando um pouco o trabalho de quem quer criar um novo client. Pois tem que esperar atualizações dos programas.
     
    Bom pessoal é isso ai, esse tópico foi criado para pessoas que pretendem criar ot server com novos itens.
     
    2: Download Data editor com Spriter Editor Juntos Aqui
    Download Item Editor 8.54 Testado em poke clients Aqui
  9. Upvote
    eduardo190696 recebeu reputação de nicolas433 em Spriting Insaend   
    @Insaend, esse digimon que você fez por ultimo eu não gostei muito pois não me pareceu estar na perspectiva 45°, mais fora isso ele fico muito foda.
  10. Upvote
    eduardo190696 recebeu reputação de BrunooMaciell em [Encerrado] [Pokemon] Dúvidas? - Pda   
    Minhas Mudanças no OtClient
     

     
    E Agora o Download (Já vem com o que o zeref fez, e tem o meu editado ( O Meu é pkmenu, o do Zeref é bot), Caso o do Zeref Não aparecer é só da Load no mod. )
     
    Download
     
    @Edit
     
    Revisão do cd bar do Zeref
     
    em bot.otui apaga tudo e bota isso
     
     
     
     
     
    @Edit2
     
    Revisão no Skill ( Assim vai ficar melhor '0' )
     
     
     
  11. Upvote
    eduardo190696 recebeu reputação de Janmix em Player Não Pode Atacar Seu Proprio Summon.   
    Desculpe mais não entendi.
  12. Upvote
    eduardo190696 recebeu reputação de Eskylo em Player Não Pode Atacar Seu Proprio Summon.   
    @Eskylo, eu dei rep, mais não funcionou, e o player fica com uma Yellow Skull.
     
    login.lua
     

    registerCreatureEvent(cid, "SummonAntKillPlayer")
     
    no creaturescript.xml

    <event type="combat" name="SummonAntKillPlayer" event="script" value="SummonAntKillPlayer.lua"/>
     
    e o script
     

    function onCombat(cid, target) if isInArray(getCreatureSummons(target), cid) then return false end return true end
  13. Upvote
    eduardo190696 deu reputação a Eskylo em Player Não Pode Atacar Seu Proprio Summon.   
    pros summons nao 'combaterem' os donos seria:
     
     
    function onCombat(cid, target)
    if isInArray(getCreatureSummons(target), cid) then
    return false
    end
    return true
    end
  14. Upvote
    eduardo190696 recebeu reputação de Natanael Beckman em Compra/venda De Ot? Nunca!   
    Sou a favor da venda de tudo que uma pessoa fez do 0, seja script client qualquer coisa, pois ela teve muito trabalho em criar todo o script para simplesmente postar, sendo que hoje em dia o 1° que compra vai e posta na net... não é uma coisa muito comum vender ot/script, pois aqui no xtibia sempre tem pessoas que se disponibilizam a ajudar os outros membros, um exemplo @Bru123.
     
    Então fica minha opinião, Sou a favor da venda de scripts de total autoria do vendedor.
     
    E mais, se for comprar alguma coisa, pegue o nome do arquivo ou alguns detalhes dele , e de uma procurada na net, você pode acabar encontrando por ai
  15. Upvote
    eduardo190696 deu reputação a Eskylo em Player Não Pode Atacar Seu Proprio Summon.   
    function isSummon(cid, monster) return getCreatureMaster(monster) == cid end
     

    function onCombat(cid, target) if isPlayer(cid) and isSummon(cid, target) then doPlayerSendCancel(cid, "You can't attack your dragon or best.") return false end return true end
     
    deqlqr forma fica mais facil, somente:
    function onCombat(cid, target) if cid == getCreatureMaster(target) then doPlayerSendCancel(cid, "You can't attack your dragon or best.") return false end return true end
  16. Upvote
    eduardo190696 recebeu reputação de EduOts em Tem Como Fazer Esse Script?   
    @brun123, concordo com vc, tb n tinha entendido o pq de talkaction e etc, mais vocÊ se esqueceu do mais importante, que é o time.
     
    Na parte do time, ele quer que quando o player entre nessa area, comece a contar e depois de 3 minutos ele seja teleportada, OU se o player sair da área antes de ser teleportado o tempo pare de contar, e se ele entrar de volta na área comece a contar do 0.
  17. Upvote
    eduardo190696 deu reputação a brun123 em Spell Por Action   
    doCreatureExecuteTalkAction(cid, words)
  18. Upvote
    eduardo190696 deu reputação a brun123 em Duvida "docreatetile"   
    Só lembrando que uma área 10x10 não tem centro...
    dá pra fazer em 3 linhas de código o que você quer, usando for, exemplo:
     

    for x = -5, 5 do for y = -5, 5 do local p = getThingPos(cid) p.x = p.x + x p.y = p.y + y doCreateTile(CONSTRUCTIONS[item.itemid], p) end end
     
    Esse código vai criar uma área 11x11 sendo a posição do player o centro
  19. Upvote
    eduardo190696 recebeu reputação de renanalexandre em Vocação Com 1 Espada Em Cada Mao!   
    Ai, aqui um jeito mais fácil...
     
    Vai em item.xml procure a sword e adc isso :

    <attribute key="dualwield" value="1">
    ficando assim

    <item id="13871" article="a" name="Warrior Sword"> <attribute key="weight" value="5200"> <attribute key="defense" value="45"> <attribute key="attack" value="50"> <attribute key="weaponType" value="sword"> <attribute key="dualwield" value="1"> </item>
     
    Dps se vc quiser que só x vocação use a sword vc abre o Weapons.xml e procure sua sword ai vc edita ela assim:

    <melee id="13871" level="100" unproperly="1" event="function" value="default"> <!-- Warrior Sword --> <vocation name="Warrior"> <vocation id="12" showindescription="0"> </vocation></vocation></melee>
     
    Explicando o Weapons.xml</attribute>
  20. Upvote
    eduardo190696 recebeu reputação de Fir3element em [Arquivado]Clean   
    estava vendo aqui o fórum, e está entupido de besteiras isso não é novidade... mais o problema é que as besteiras tampa os tópicos uteis D;
     
    Porque vocês (ADMs do Xtibia) não fazem uma limpa excluindo alguns tópicos ou até mesmo todos...
     
    Acho que o certo mesmo era pensar em algum novo mode de organização de tópicos, criar uma ferramenta e adicionar aos tópicos de duvidas, que quando a duvida fosse resolvida o usuário possa marcar como resolvida e automaticamente a duvida ganha um emblema de resolvida ou até mesmo seja movida para outra área do fórum.
     
    Por mim, poderia ter diferentes áreas para as versões correspondentes, exemplo :
     
    área de Script, Versão 8.4, 8.1 etc no estilo área de downloads, uma nova área de aprovação de Scripts
     
    Edit-
    Também poderia criar uma área só para servidores derivados e outra só para open tibia, porque é muito ruim você querer um script de tibia e ter 500 de pokemon, e alem do mais iria organizar o fórum e facilitar o acesso a informações para os 2 lados da comunidade ( Tibia , Poketibia).
  21. Upvote
    eduardo190696 deu reputação a Leoxtibia em Bug Promotion, Quando Desloga Perde Ela   
  22. Upvote
    eduardo190696 deu reputação a Vinc em Duvida Em Funções De Scripts.   
    1 use o exemplo nesse link
    http://www.xtibia.com/forum/topic/189268-tabletostring-e-loadtablestring/
    a tag da talk fica

    <talkaction words="savepos;returnpos" event="script" value="nomedoarquivo.lua"/>
    n esquece de trocar o value pelo nome do arquivo que tu coloca, e é nessesario copiar as funções na lib
     
    2 vc precisa de uma função setcreatureName, caso seu server n tenha,vc vai precisa das sourcers dele pois so é posivel fasela em c++,essa função esta disponivel na area de codigos prontos
     
    3 mude oncastspell(cid,var) para onSay(cid,words,param)
    e use funções como
    doAddCondition(cid, condition) doRemoveCondition(cid, type[, subId]) doRemoveConditions(cid[, onlyPersistent]) doAreaCombatHealth(cid, type, pos, area, min, max, effect) doTargetCombatHealth(cid, target, type, min, max, effect) doAreaCombatMana(cid, pos, area, min, max, effect) doTargetCombatMana(cid, target, min, max, effect) doAreaCombatCondition(cid, pos, area, condition, effect) doTargetCombatCondition(cid, target, condition, effect) doAreaCombatDispel(cid, pos, area, type, effect) doTargetCombatDispel(cid, target, type, effect)
     
    4 use um creturescript onTarget(cid,target) e use doTeleportThing(cid, getCreaturePos(target)),para n teleporta em tile que n dão para andar vose vai presisar de uma função getFreetile que pode ser encontrada nas lib de qualquer serve de pokemon
  23. Upvote
    eduardo190696 recebeu reputação de rayzinhoxd em Auto Loot   
    CRIADOR : JANO
    Retirado: Outro forum
    Script: Auto Loot *-*
     
    creaturescripts.xml

    <event type="login" name="aloot_reg" event="script" value="aloot.lua"/> <event type="kill" name="aloot_kill" event="script" value="aloot.lua"/>
    creaturescripts/scritps
    aloot.lua

    function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end
    talkactios.xml

    <talkaction words="/aloot" hide="yes" event="script" value="aloot.lua"/>
     
    Talkaction/scrips

    local stor, limit = 7575, 5 --storage, limit to add. local allow_container = false --empty! not looted with items, atleast for now. function onSay(cid, words, param) local expl = param:explode(':') local action, rst = expl[1], expl[2] if (action:lower() == 'check') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):explode(',') end local txt = 'Autoloot List:\n' if (#list > 0) then for k, id in ipairs(list) do id = id:gsub('_', '') if tonumber(id) then txt = txt .. getItemNameById(tonumber(id)) .. ((k < #list) and '\n' or '') end end else txt = 'Empty' end doPlayerPopupFYI(cid, txt) elseif (action:lower() == 'add') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not allow_container and isItemContainer(item) then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end local attrs = getItemInfo(item) if not attrs then return doPlayerSendCancel(cid, 'not valid item.') elseif not attrs.movable or not attrs.pickupable then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end if isInArray(list, item) then return doPlayerSendCancel(cid, 'already added.') end table.insert(list, tostring(item)) local new = '' for v, id in ipairs(list) do new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< has been added to the autoloot list.') elseif (action:lower() == 'remove') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list == 0) then return doPlayerSendCancel(cid, 'You dont have any item added.') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not isInArray(list, item) then return doPlayerSendCancel(cid, 'This item is not in the list.') end local new = '' for v, id in ipairs(list) do if (tonumber(id) ~= item) then new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< removed from the autoloot list.') end return true end
     
    Usando
     
    /aloot check
    Cheka a Lista dos Loots
     
    /aloot add:itemid ou nome do item
     
    Exemplo
    /aloot add:worm
    /aloot add:2170
     
    16:42 Item >>worm<< has been added to the autoloot list.
     
    Para remover
    /aloot remove:worm
    /aloot remove:2170
     
    Exemplo Testado:
    16:41 Looted 2 gold coin.
    16:41 Looted 1 cheese.
     
    é isso pessoal gosto da + Rep
  24. Upvote
    eduardo190696 recebeu reputação de Session Start em [Encerrado] [Pokemon] Dúvidas? - Pda   
    vai em creatrescript/scripts/exp.lua
     
    ache essa parte..
     
     
     
    e deixe assim...
     
     
    botando pra os pokemons atacar os player
  25. Upvote
    eduardo190696 recebeu reputação de Hyuugax em Vocation Pet System   
    Sistema por talkactions
     
    Descrição

    !back - remove o pet

    Level minimo e maximo -- para sumonar o pet

    Maximo Summons -- Só pode sumonar 1 pet

    tilepz -- em protec zone não pode summonar
     
    Talkactions/scripts

    function onSay(cid, words, param, itemEx, params) if isCreature(cid) then if words == "!back" then doRemoveCreature(x) return True end end local summons = getCreatureSummons(cid) local monster = { ["dragon lord hatchling"] = { Level = 10, Levelmax = 30, Voc = 1, Vocp = 5 }, ["dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 2, Vocp = 6 }, ["frost dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 3, Vocp = 7 }, ["dark dragon hatchling"] = { Level = 10, Levelmax = 30, Voc = 4, Vocp = 8 } } for k,v in pairs(monster) do if getPlayerVocation(cid) == v.Voc or getPlayerVocation(cid) == v.Vocp then if getPlayerLevel(cid) >= v.Level and getPlayerLevel(cid) <= v.Levelmax then if (table.maxn(summons) < 1)then if getTilePzInfo(getCreaturePosition(cid)) == false then x = doSummonCreature(k, getCreaturePosition(cid)) doConvinceCreature(cid, x) doCreatureSay(cid, "Go to me ,".. k,1) else doPlayerSendCancel(cid, "Sorry, You cannot create Element Pet in pz.") end else doPlayerSendCancel(cid, "Sorry, You can not create more than one Element Pet.") end else doPlayerSendCancel(cid, "Sorry, You no have Level for creat your Element Pet.") end end end return true end
    Talkactions.xml

    <talkaction words="!criar" script="vocationsummon.lua"/> <talkaction words="!back" script="vocationsummon.lua"/>
     
    Editando
     

    ["Nome do Monster"] = { Level = Level Minimo, Levelmax = Level Maximo, Voc = Vocação, Vocp = Promotion },
     
    não esqueça de editar a flag

    <flag convinceable="1"/>
    no monster
     
    e no ultimo monster da tabela não deve ter virgula no final
     
    Tirando Lvl Max
    Procure por

    if getPlayerLevel(cid) >= v.Level and getPlayerLevel(cid) <= v.Levelmax then
    e Deixa assim

    if getPlayerLevel(cid) >= v.Level then
     
    Gosto ? Da ++rep não cai o dedo
  • Quem Está Navegando   0 membros estão online

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