LU
action

Sistema de Addon

Por Luga03, 04 de jun. de 2015 em Actions e Talkactions

otserv
tibia
script
32
12.3k
Luga03L
04 de junho de 2015 às 15:10

Eai pessoal blz? eu estava lendo um tópico do nosso amigo Alexxxx... ai o Top...(o Bolz, esqueci o nick dele aq ¬¬) ai eu vi que ele falou que a forma que ele conseguio de adicionar addon no OT dele foi dando um Ctrol+F: Addon, na pasta do PokémonXRain! ai eu baixei ele e tentei, ai adicionei tudo nescessário nele no meu ot, ai quando usei, funcionou perfeitamente! mas claro q não é sem 100% pq quando da fly, ride, surf e etc ele volta pra outfit normal, ai precisa dar Go/back no pokémon para voltar com o addon! mas fora isto esta funcionando perfeitamente! Então Vamos Parar de Blábláblá e começar!

Em Data/actions e Actions.xml adiciona isto:

<action itemid="IdAddon;IdAddon" event="script" value="Addon.lua"/>


Em IdAddon Coloca os ids dos items dos addons! ai para adicionar mais ids é só colocar o ";" Ou seja aquele negocio verde, e depois colocar o ID Ficando: IdAddon;IdAddon;IdAddon e por ai vai

Ai Em Data/actions/scripts cria um arquivo lua Chamado "Addon" e Dentro Dele Adiciona Isto:

function onUse(cid, item, fromPosition, itemEx, toPosition)
                local addons = {
                [12593] = {pokemon= "Electabuzz" , looktype = 1482}, --xxxx = id do item do addon --- "Scyther" = nome do pokemon --- looktype = 1 é o looktype do pokemon com addon
                [12925] = {pokemon= "Alakazam" , looktype = 1471}, --xxxx = id do item do addon --- "Scyther" = nome do pokemon --- looktype = 1 é o looktype do pokemon com addon
               }
 
                if #getCreatureSummons(cid) > 0 then
                                doPlayerSendCancel(cid, "Please back your pokemon.")
                                return false
                end     
                local numero = addons[item.itemid].looktype
 
                local pb = getPlayerSlotItem(cid, 8).uid
                local pk = addons[item.itemid].pokemon
 
                if getItemAttribute(pb,"poke") ~= pk then
                                doPlayerSendCancel(cid, "Sorry, you can't use this addon on this poke.")
                return false
                end
 
                if getItemAttribute(pb,"addon") < 1 then
                                doRemoveItem(item.uid, 1)
                                doPlayerSendTextMessage(cid, 27, "Congratulations! Now your pokemon will use the addon.")
                                doSetItemAttribute(pb,"addon",numero)
                                return true
                end     
 
return true
end
 

Ai para adicionar um Novo Addon é só Adicionar esta tag:

[ItemID] = {pokemon= "NomeDoPoke" , looktype = IdDaOutfit},

EM ItemID, troca pelo id do addon
em pokemon troca NomeDoPoke, pelo Nome Do Pokémon que vai ser adicionado o Addon
Em looktype, troca IdDaOutfit, pelo looktype do pokémon com addon!

Em Goback.lua

Procure Por:

else
 
    doPlayerSendCancel(cid, "This pokemon is fainted.")
 
end
 

E Adiciona Emcima de Else Isto:

local pk = getCreatureSummons(cid)[1]
                local pb = getPlayerSlotItem(cid, 8).uid
                local look = getItemAttribute(pb,"addon")
                if not look then
                                doSetItemAttribute(pb,"addon",0)
                return false
                end
                if look > 0 then
                                doSetCreatureOutfit(pk, {lookType = look}, -1)
                return true
                end


Em Catch system.lua Procura Por:

doItemSetAttribute(item, "description", description)


Adiciona Isto embaixo:

doItemSetAttribute(item, "addon", 0)


Em Some Functions.lua Procure Por:

unLock(item.uid)


Da Enter Duas Vezes e Adiciona isto:

local pk = getCreatureSummons(cid)[1]
local pb = getPlayerSlotItem(cid, 8).uid
local look = getItemAttribute(pb,"addon")
if not look then
doSetItemAttribute(pb,"addon",0)
return false
end
if look > 0 then
doSetCreatureOutfit(pk, {lookType = look}, -1)
return true
end


Pronto! Sistema de Addon Funcionando Perfeitamente Caso Coloque Tudo Certinho!

Caso Queira uma Addon Box... Faz isto

Em Actions.xml Adiciona Isto:

<action itemid="12595" event="script" value="addonbox.lua"/>


E Em Data/Actions/Scripts Cria um Arquivo Lua Chamado "addonbox" e Adiciona Isto Dentro Dele:

function onUse(cid, item, frompos, item2, topos, pos)
 
local addons = {12593,12889}
local randomChance = math.random(1, 49)
 
if item2.itemid == 12595 then
doSendMagicEffect(getCreaturePosition(cid), 28)
doRemoveItem(item2.uid, 1)
doPlayerAddItem(cid, addons[randomChance], 1)
doPlayerSendTextMessage(cid, 27, "Você ganhou um Addon!")
return true
 
end
end


Pronto Addon Box Adicionada!

Créditos

Pokémon X Rain Pelo Sistema de Addon
Summer Slyer (Zet0N0Murmurou) Por Trazer ao Xtibia, e Por Fazer o Tutorial!

MudrockM
04 de junho de 2015 às 15:17

Aprovado, tópico movido

FurabioF
04 de junho de 2015 às 15:17

Muito bom obrigado por compartilhar.

Luga03L
04 de junho de 2015 às 15:25

Muito bom obrigado por compartilhar.

Nads estou aq pra ajudar

LordbaxxL
04 de junho de 2015 às 15:48

REMOVIDO

Editado Janeiro 20 por Lordbaxx

L3K0TL
04 de junho de 2015 às 16:39

No meu utilizo um sistema parecido, e para o addon continuar no fly e no ride etc.. utilizo isso:

 

 

 

if skill == "fly" then
 
local pokemon = flys[getCreatureName(getCreatureSummons(cid)[1])]
doPlayerSendTextMessage(cid, 27, "Para subir diga up\h1 e para descer diga down\h2.")
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, pokemon[2])
doSetCreatureOutfit(cid, {lookType = pokemon[1]}, -1) --Checa o addon com fly
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))
doRemoveCreature(getCreatureSummons(cid)[1])
 
return true
end
 
if skill == "ride" then
 
local pokemon = rides[getCreatureName(getCreatureSummons(cid)[1])]
doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, pokemon[2])
doSetCreatureOutfit(cid, {lookType = pokemon[1]}, -1) --Checa o addon com ride
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1]))
doRemoveCreature(getCreatureSummons(cid)[1])
 
return true
end
 
end

 

 

Lodbaxx me ajuda ? meu server é sem level e é diferente '0'

LordbaxxL
04 de junho de 2015 às 17:32

Lodbaxx me ajuda ? meu server é sem level e é diferente '0'

O meu também é sem level rs, adiciona no skype lordbaxx, mais fácil!

Luga03L
04 de junho de 2015 às 19:03

O meu também é sem level rs, adiciona no skype lordbaxx, mais fácil!

Tipo man isto funfa com lvl system? pq estou com um ot que usa level system!

 

VO mandar msg pra vc, pra adaptar com este sistema ai, e ai eu atualizo o tópico para ajudar aos outros!

Editado Junho 4 por Zet0N0Murmurouu

L3K0TL
05 de junho de 2015 às 06:32

lord meu rei kkkk ajuda ai noix eu não tenho skype meu querido '0'

Editado Junho 5 por leleke

YoWaNeY
05 de junho de 2015 às 09:52

Tambem gostaria desse sistema pra um PDA sem Level system pois a base que uso não tem o sistema de level nos pokémons e tambem por que não gosto dele da uma ajuda ae

L3K0TL
06 de junho de 2015 às 00:23

up

06 de junho de 2015 às 00:44

Eita por#@, boa lek, reputado.

Agora o problema é achar um client com todos os looktypes e items

Editado Junho 6 por FlamesAdmin

L3K0TL
06 de junho de 2015 às 00:56

Eita por#@, boa lek, reputado.

Agora o problema é achar um client com todos os looktypes e items

otpokemon só descompilar '0' já tenho todos só preciso do scripts, mais o meu é sem level...

06 de junho de 2015 às 01:05

otpokemon só descompilar '0' já tenho todos só preciso do scripts, mais o meu é sem level...

Envia preeu, itens e looktypes.

 

@Edit:

Só tem 1 probleminha, dps que coloquei o addon no poke, a cd bar nao aparece.

Editado Junho 6 por FlamesAdmin

Luga03L
08 de junho de 2015 às 19:11

Envia preeu, itens e looktypes.

 

@Edit:

Só tem 1 probleminha, dps que coloquei o addon no poke, a cd bar nao aparece.

¬¬ deve ter conflitado, cria um tópico para pedir ajuda, pq n eu n sei mt de script e tbm n fui eu q desenvolvi o sistema ^^