Ir para conteúdo

[Encerrado] [Pda slicer 1.9] Auras


Rodugoni

Posts Recomendados

Estou tentando add auras novas no server. Ja add ela no npc e no configuration.lua inclusive no tibia.spr e .dat com o DAT EDITOR mas quando falo com o npc ele coloca a aura mas não aparece ela no pokemon, fica igual antes de colocar a aura.

Queria saber um geito de colocar-las.

 

Parte no configuration.lua

 

auraSyst = { --auras
["red"] = 19,
["blue"] = 40,
["green"] = 164,
["yellow"] = 207,
["white"] = 29,
["gray"] = 165,
["cyan"] = 177,
["purple"] = 208,
["orange"] = 219,
["fire"] = 255,
["heart"] = 256,
["leaf"] = 257,
["thunder"] = 258,
["wind"] = 259,
}

 

 

E no npc

 

local focus = 0
local talk_start = 0
local conv = 0
local target = 0
local following = false
local attacking = false
local talkState = {}
local finalname = ""

function onThingMove(creature, thing, oldpos, oldstackpos)
end

function onCreatureAppear(creature)
end

function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Good bye sir!')
focus = 0
talk_start = 0
end
end

function onCreatureTurn(creature)
end

function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end

function onCreatureSay(cid, type, msge)
local msg = string.lower(msge)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid


if focus == cid then
talk_start = os.clock()
end

local auras = {"red aura", "blue aura", "green aura", "yellow aura", "white aura", "gray aura", "cyan aura", "purple aura", "orange aura", "fire aura", "heart aura", "leaf aura", "thunder aura", "wind aura"}


if (msgcontains(msg, 'hi') and (focus == 0) and (getDistanceToCreature(cid) <= 4)) then

focus = cid
conv = 1
talk_start = os.clock()
selfSay("Hello, "..getCreatureName(cid).."! I can give your pokemon a nickname or i can put in your pokemon a elemental aura, if he is boosted at least +50...")

elseif (msgcontains(msg, "no") or msgcontains(msg, "bye")) and focus == cid and conv ~= 3 then

selfSay("No problem then, sir. Come back when you feel like it!")
focus = 0

elseif (msgcontains(msg, "nick") or msgcontains(msg, "nickname")) and focus == cid and conv == 1 then

if getPlayerSlotItem(cid, 8).uid <= 0 then
selfSay("Sorry, you don't have a pokemon in the main slot!")
focus = 0
return true
end

selfSay("Put your pokemon at the main slot and tell me, what nickname would you like me to give to your pokemon?")
conv = 3

elseif msgcontains(msg, "aura") and focus == cid and conv == 1 then

if getPlayerSlotItem(cid, 8).uid <= 0 then
selfSay("Sorry, you don't have a pokemon in the main slot!")
focus = 0
return true
end

local pb = getPlayerSlotItem(cid, 8).uid
if not getItemAttribute(pb, "boost") or getItemAttribute(pb, "boost") < 50 then
selfSay("Sorry, your pokemon is not boosted +50!")
focus = 0
return true
end

if getItemAttribute(pb, "aura") and getItemAttribute(pb, "aura") ~= "" then
selfSay("Sorry, your pokemon already have a elemental aura!")
focus = 0
return true
end

if #getCreatureSummons(cid) >= 1 then
selfSay("Return your pokemon for your pokeball!")
focus = 0
return true
end

selfSay("You can choose one of these auras: red aura, blue aura, green aura, yellow aura, white aura, gray aura, cyan aura, purple aura, orange aura, fire aura, heart aura, leaf aura, thunder aura, wind aura. Which one do you prefer?")
conv = 9

elseif isInArray(auras, msg) and focus == cid and conv == 9 then

selfSay("Are you sure that you want to put a "..msg.." in your pokemon?")
conv = 11
local d, e = msg:find('(.-) aura')
auraFinal = string.sub(msg, d -1, e - 5)

elseif msgcontains(msg, "yes") and focus == cid and conv == 11 then

if getPlayerSlotItem(cid, 8).uid <= 0 then
selfSay("Sorry, you don't have a pokemon in the main slot!")
focus = 0
return true
end

local pb = getPlayerSlotItem(cid, 8).uid
if not getItemAttribute(pb, "boost") or getItemAttribute(pb, "boost") < 50 then
selfSay("Sorry, your pokemon is not boosted +50!")
focus = 0
return true
end

if #getCreatureSummons(cid) >= 1 then
selfSay("Return your pokemon for your pokeball!")
focus = 0
return true
end

doItemSetAttribute(pb, "aura", auraFinal)
selfSay("Done! Now your pokemon have a new elemental aura. Enjoy it!")
focus = 0
conv = 0

elseif conv == 3 and focus == cid then

local tablee = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "x", "w", "y", "z", ".", ":", "'", '"', "~", "^", "@", "#", "$", "%", "&", "*", "(", ")", "-", "+", "_", "?", ">", "<", "•", ";", "°", "¹", "²", "³", "£", "¢", "¬", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"}
local table = {"'", '"', "!", "ã", "õ", "ç", "´", "`", "á", "à", "ó", "ò", "é", "è", "í", "ì", "ú", "ù", "¹", "²", "³", "£", "¢", "¬", "§", "°", "º", "ª", "•", "|"}

for a = 1, #table do
if string.find(msg, table[a]) then
selfSay("Sorry, the nick has invalid symbols.")
return true
end
end

if string.len(msg) <= 1 or string.len(msg) >= 19 then
selfSay("Sorry, that nick is too long or too short!")
return true
end

local pokename = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")


selfSay("Are you sure that you want to change your's "..pokename.." name to \""..msge.."\"? This is going to cost you 10 hundred dollars.")
conv = 5
finalname = msge

elseif msgcontains(msg, "yes") and focus == cid and conv == 5 then

if getPlayerSlotItem(cid, 8).uid <= 0 then
selfSay("Where is your pokemon?! You have to keep it at the main slot!")
focus = 0
return true
end

if doPlayerRemoveMoney(cid, 100000) == false then
selfSay("You don't have enough money to afford this service, come back later.")
focus = 0
conv = 0
return true
end

local nick = ""..finalname..""
local description = "Contains a "..getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke").."."
selfSay("Done! Your pokemon now has a new name, enjoy it!")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "nick", nick)
local newdes = description.."\nIt's nickname is: "..finalname.."."
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "description", newdes)
local hp = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "happy")
doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "happy", hp + 25)
if #getCreatureSummons(cid) >= 1 then
adjustStatus(getCreatureSummons(cid)[1], getPlayerSlotItem(cid, 8).uid)
end
focus = 0
conv = 0
end
end

local intervalmin = 38
local intervalmax = 70
local delay = 25
local number = 1
local messages = {"Want to give some nicknames to your pokemon? Talk to me!",
"Did you know your pokemon gets a little happier when you give him a nickname?",
"Every pokemon wants to have a nickname! Come talk to me!",
"Pokemons love nicknames, you should give yours one.",
}

function onThink()

if focus == 0 then
selfTurn(1)
delay = delay - 0.5
if delay <= 0 then
selfSay(messages[number])
number = number + 1
if number > #messages then
number = 1
end
delay = math.random(intervalmin, intervalmax)
end
return true
else

if not isCreature(focus) then
focus = 0
return true
end

local npcpos = getThingPos(getThis())
local focpos = getThingPos(focus)

if npcpos.z ~= focpos.z then
focus = 0
return true
end

if (os.clock() - talk_start) > 45 then
focus = 0
selfSay("Come back some other time!")
end

if getDistanceToCreature(focus) > 3 then
selfSay("Enjoy!")
focus = 0
return true
end

local dir = doDirectPos(npcpos, focpos)
selfTurn(dir)
end


return true
end

 

 

 

Link para o comentário
Compartilhar em outros sites

@malconte

 

o spr e o dat do pda só lê 254 efeitos... passando disso ele repete do 0

entao o efeito numero 255 é igual o efeito 0...

para colocar aura, precisa substituir um efeito que ja tem no client...

Link para o comentário
Compartilhar em outros sites

  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...