-
Total de itens
474 -
Registro em
-
Última visita
-
Dias Ganhos
2
Histórico de Reputação
-
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
-
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
-
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..
-
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.
-
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 é?
-
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
-
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.
-
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
-
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.
-
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' )
-
eduardo190696 recebeu reputação de Janmix em Player Não Pode Atacar Seu Proprio Summon.
Desculpe mais não entendi.
-
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
-
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
-
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
-
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
-
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.
-
-
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
-
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>
-
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).
-
-
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
-
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
-
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
-
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.