
carloos
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
carloos deu reputação a GamerGoiano em erro nas criaturasDe qual TFS pra qual TFS?
-
carloos deu reputação a Aragllov em ajuda a por server onlineTem que ter um roteador além do modem da sua operadora
-
carloos deu reputação a Anderson Sacani em storage que dura 48hAo invés de usar function onDeath, eu usaria o function onKill, e desta maneira:
local monster = { [1] = { name = "Energy Soul", storage = 6640 }, [2] = { name = "Mazoran", storage = 6641 }, [3] = { name = "Brother Freeze", storage = 6642 }, [4] = { name = "Fleshcrawler", storage = 6643 }, } function onKill(cid, target, lastHit) local time = os.time() if not isPlayer(target) then for i = 1, #monster, 1 do local name, storage = monster[i].name, monster[i].storage if getCreatureName(target) == name then if getPlayerStorageValue(cid, storage) <= time then setPlayerStorageValue(cid, storage, time + (48 * 60 * 60)) doCreatureSay(cid, "I killed the " .. name .. "!", TALKTYPE_ORANGE_1) end end end end return true end
-
carloos deu reputação a DiigooMix em storage que dura 48hisso mesmo que comentei.. qual a versão do seu TFS?
eu sei um pouco sobre 1.x, posso te ajudar se for 1.x, caso seja 0.4 eu n manjo
-
carloos deu reputação a DiigooMix em storage que dura 48hseria melhor adicionar uma storage pra cada boss, ai o script da porta checa os 4, se faltar 1 não deixa passar, seria esse sistema que vc quer? Se faltar 1ou mais dos 4 o player não passa..?
Outra pergunta, qual versão do seu tfs? 0.4? 1.x?
-
carloos deu reputação a DiigooMix em storage que dura 48hPara teste utilize um tempo menor:
setPlayerStorageValue(pid, t, os.time() + 5*60) -- 5 minutos
Veja se funciona
-
carloos deu reputação a DiigooMix em storage que dura 48hExperimenta alterar a linha:
setPlayerStorageValue(pid, t, 1)
para:
setPlayerStorageValue(pid, t, os.time() + 300)
ou:
setPlayerStorageValue(pid, t, (os.time() + 300))
Explicação:
300 equivale aos segundos, ou seja, 300 segundos = 5 minutos.
Teste o script assim com pouco tempo primeiro, caso funcionar certinho, ai você altera o número 300 para: 172800
Se der certo não esquece de dizer aqui, e selecionar a reposta como solução para o post.
172800 segundos equivale a 48 horas.
-
carloos deu reputação a Anderson Sacani em systema de alavanca com 1 playerO que acontece é o seguinte:
Agora que tu mudou o all_ready para maior que 0, ele vai fazer um loop e alterar o valor da storage para todos os players da tabela nomeada player, mesmo que não tenha todos os players, por tanto acontece este erro.
Para arrumar isso, basta adicionar uma verificação de isPlayer dentro do loop, como isto:
-- CONFIG -- local playersOnly = "no" local questLevel = 1 local STORAGE_BOSS_CD = 17457 local cdtime = 1 * 1 * 1 -- exhaust in seconds local room = { -- boss room fromX = 1802, fromY = 675, fromZ = 7, -------------- toX = 1868, toY = 724, toZ = 7 } local monster_pos = { [1] = { pos = { 1837, 716, 7 }, monster = "Cursed Prospector Soul" } } local players_pos = { { x = 1834, y = 702, z = 6, stackpos = 253 }, { x = 1834, y = 701, z = 6, stackpos = 253 }, { x = 1835, y = 701, z = 6, stackpos = 253 }, { x = 1836, y = 701, z = 6, stackpos = 253 }, { x = 1837, y = 701, z = 6, stackpos = 253 }, { x = 1838, y = 701, z = 6, stackpos = 253 }, { x = 1837, y = 702, z = 6, stackpos = 253 }, { x = 1836, y = 702, z = 6, stackpos = 253 }, { x = 1835, y = 702, z = 6, stackpos = 253 }, { x = 1838, y = 702, z = 6, stackpos = 253 } } local new_player_pos = { { x = 1830, y = 715, z = 7 }, { x = 1842, y = 715, z = 7 }, { x = 1836, y = 720, z = 7 }, { x = 1836, y = 710, z = 7 }, { x = 1836, y = 715, z = 7 }, { x = 1836, y = 715, z = 7 }, { x = 1835, y = 713, z = 7 }, { x = 1833, y = 721, z = 7 }, { x = 1838, y = 718, z = 7 }, { x = 1837, y = 718, z = 7 } } -- CONFIG END -- function onUse(cid, item, fromPosition, itemEx, toPosition) local all_ready, monsters, player, level = 0, 0, {}, 0 if item.itemid == 9826 then for i = 1, #players_pos do table.insert(player, 0) end for i = 1, #players_pos do player[i] = getThingfromPos(players_pos[i]) if player[i].itemid > 0 then if string.lower(playersOnly) == "yes" then if isPlayer(player[i].uid) == true then all_ready = all_ready + 1 else monsters = monsters + 1 end else all_ready = all_ready + 1 end end end if all_ready > 0 then for i = 1, #players_pos do player[i] = getThingfromPos(players_pos[i]) if isPlayer(player[i].uid) == true then if getPlayerStorageValue(player[i].uid, STORAGE_BOSS_CD) > os.time() then doPlayerSendCancel(cid, "Acesso so liberado a cada 20h.") return false end if getPlayerLevel(player[i].uid) >= questLevel then level = level + 1 end else level = level + 1 end end if level == #players_pos then if string.lower(playersOnly) == "yes" and monsters == 0 or string.lower(playersOnly) == "no" then for _, area in pairs(monster_pos) do doSummonCreature(area.monster, { x = area.pos[1], y = area.pos[2], z = area.pos[3] }) end for i = 1, #players_pos do if isPlayer(player[i].uid) then doSendMagicEffect(players_pos[i], CONST_ME_POFF) doTeleportThing(player[i].uid, new_player_pos[i]) doSendMagicEffect(new_player_pos[i], CONST_ME_ENERGYAREA) setPlayerStorageValue(player[i].uid, STORAGE_BOSS_CD, os.time() + cdtime) end end doTransformItem(item.uid, 9825) else doPlayerSendTextMessage(cid, 19, "Only players can do this quest.") return false end else doPlayerSendTextMessage(cid, 19, "All Players have to be level " .. questLevel .. " to do this quest.") return false end else doPlayerSendCancel(cid, "You need " .. table.getn(players_pos) .. " players to do this quest.") return false end elseif item.itemid == 9825 then local player_room = 0 for x = room.fromX, room.toX do for y = room.fromY, room.toY do for z = room.fromZ, room.toZ do local pos = { x = x, y = y, z = z, stackpos = 253 } local thing = getThingfromPos(pos) if thing.itemid > 0 then if isPlayer(thing.uid) == true then player_room = player_room + 1 end end end end end if player_room >= 1 then doPlayerSendTextMessage(cid, 19, "There is already a team in the quest room.") return false elseif player_room == 0 then for x = room.fromX, room.toX do for y = room.fromY, room.toY do for z = room.fromZ, room.toZ do local pos = { x = x, y = y, z = z, stackpos = 253 } local thing = getThingfromPos(pos) if thing.itemid > 0 then doRemoveCreature(thing.uid) end end end end doTransformItem(item.uid, 9826) end end return true end
-
carloos deu reputação a Toruk em systema de alavanca com 1 playerAcho q mudar essa linha pode funcionar:
if all_ready == #players_pos then Para:
if all_ready > 0 then -
carloos deu reputação a Thony D. Serv em erro no upgrade@carloos
Olha não sei sua tfs, porem tenho um script aqui que funciona em 0.4, ele é por lib talvez de uma diferenciada:
Em Data/lib crie upgradesystem.lua
dentro ponha:
Em Data/actions/scripts crie
upgrade.lua e ponha dentro
Agora por fim adicione a tag no actions.xml e configure o item-id
<action itemid="xxx" script="upgrade.lua"/>
-
carloos deu reputação a FeeTads em Bank System [8.60] comando !saldo, !sacar, !depositar ( até no max 100 ) com id de x itemvocê n tem essa função na sua lib ou no script
bota acima ela
function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end
vai ficar assim o código:
-
carloos deu reputação a FeeTads em spell sem exausted nem gasta manaessa perca de mana não tem como tirar (até onde sei por .lua) pq ele ta descontando mana, como se fosse um hit no manashield.
e na questão da mana gasta, até onde sei, só vai tirar a mana que tem. vc pode fazer um check tipo:
local mana_gasta = 200 if getCreatureMana(cid) > mana_gasta then script.... else return false end
mas como é o basico do tibia, não gasta mais do que tem, e não adiciona mais do que tem tbm kkkk
-
carloos recebeu reputação de mullino em (Resolvido)Alguem me ajuda com esse erro no potionsusa esse:
-
carloos deu reputação a FeeTads em spell sem exausted nem gasta manalocal manaGasta = 200 doPlayerAddSpentMana(cid, manaGasta) doPlayerAddMana(cid,-manaGasta)
caso não funcione tente com Creature:
local manaGasta = 200 doPlayerAddSpentMana(cid, manaGasta) doCreatureAddMana(cid,-manaGasta)
-
carloos deu reputação a Vodkart em criar npc dentro da housePelo que eu percebi é que vc vai ter que compilar sua distro ou trocar ela para uma que aceite o npc dentro da house, no meu server test (baiak) funcionou normalmente.
-
carloos deu reputação a Diiego Liima em spell sem exausted nem gasta manamanda print. da sua tag dentro do spells.xml
-
carloos deu reputação a samuelandrade45 em Como colocar exhaustion corretamente em suas spellsOlá pessoal do TibiaKing, hoje venho aqui trazer um mini tutorial de como colocar o exhaustion corretamente em suas spells, bastante gente utiliza o exaustion que está no proprio xml, mas por lá acontece alguns erros exemplo: se tiver uma spell com 8000 de exaustion, e outra de 2000 e você vai no seu servidor e usa a spell com 8000 de exhaustion, tem que esperar o tempo dela pra usar qualquer outra, o método que venho trazer aqui ele funciona corretamente e ainda avisa no console quanto tempo falta para usar a spell, sem mais delongas vamos lá!
1- vá até o seu XML procure a magia que quer por o exhaustion
exemplo:
perceba que ela tem um exhaustion definido ali em cima, para esse método funcionar corretamente e recomendado deixar o exhaustion do XML em 1000.
forma correta:
2- feito isso vamos ate a pasta onde se encontra seu script e abra ele:
como exemplo irei utilizar uma spell de área que empurra os players próximos!
3- com a spell aberta, logo no inicio da spells vamos inserir as seguintes linhas de código:
ficando assim:
4- por fim, logo abaixo do function onCastSpell(cid, var) vamos adicionar as seguintes linhas de código:
ficando assim:
Pronto com isso o exhaution já foi adicionado a sua spell, faça bom proveito:
Print:
-
carloos deu reputação a Vodkart em criar npc dentro da housesó dá erro neste npc Alice? já testou com outros?
-
carloos deu reputação a ernaix69 em (Resolvido)exori com elemento da weponme diz qual a magia vc ta tentando fazer isso q eu mando ja ela funcionando com a formula q eu mandei
-
carloos deu reputação a ernaix69 em Atributos novosna verdade vc esta errando na %, se vc quiser adicionar 50% precisar ser assim:
setConditionParam(condition,CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 150)
setConditionParam(condition,CONDITION_PARAM_SKILL_SWORDPERCENT, 150)
-
carloos deu reputação a ernaix69 em (Resolvido)exori com elemento da wepon1: isso voce vai colocar no script da magia msm
2: tem opção melhor q é colocar um formular q calcule o dano elemental de acordo com o a quantidade de dano q va ter na arma
formular:
@Carlinhous1996
-
carloos deu reputação a xMonkey em adicionando tempo a storageDesculpe meu erro.
Correção logo abaixo:
-- Created by pc98 -- Edited by xMonkey local castle_one_name = "Castle", -- Nome do castelo 1 local storages = {154154,54321,123123, 123124}, -- Storages ( se vc eh iniciante, deixe como está...) -- REWARDS I N D I V I D U A I S --------- local premio_por_vezes = 1, -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 3, -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 10522, -- ID do Premio local premio_cont = 1, -- Quantidade do Premio local premio_reset = 1, -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO local resetReward = {6, "day"} -- Tempo para resetar a storage e receber novamente a recompensa -- Para deixar mais organizado, jogar essas funções em LIB (se jogar em LIB, remover o local na frente de function) -- Custom Functions (inicio) local function mathtime(table) -- by dwarfer local unit = {"sec", "min", "hour", "day"} for i, v in pairs(unit) do if v == table[2] then return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1) end end return error("Bad declaration in mathtime function.") end local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end -- Custom Functions (fim) function onUse(cid, item, frompos, item2, topos) local sto_ativ, position = getGlobalStorageValue(storages[2]), getCreaturePosition(cid) if (isPlayerGuild(cid) == true) then if (sto_ativ == 1 or sto_ativ == -1) then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if (guild ~= guild_sto) then setPlayerStorageValue(cid, guild_sto, guild) if (getPlayerStorageValue(cid, storages[1]) == -1) then setPlayerStorageValue(cid, storages[1], 0) end setGlobalStorageValue(storages[3], getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], getPlayerStorageValue(cid, storages[1]) + 1) sto_vezes_total = getPlayerStorageValue(cid, storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o ".. castle_one_name .." para a guild \"".. guildname .."\" pela ".. sto_vezes_total .."ª vez(s).", 22) doSendMagicEffect(position, 39) doRemoveItem(item.uid, 1) if (premio_por_vezes == 1) then if (getPlayerStorageValue(cid, storages[4]) - os.time() > 0) then doPlayerSendTextMessage(cid, 18, "Voce deve aguardar ".. getTimeString(getPlayerStorageValue(cid, storages[4]) - os.time()) .." para receber a recompensa novamente.") return true end if (getPlayerStorageValue(cid, storages[1]) == premio_vezes) then if (getItemWeightById(premio, 1) <= getPlayerFreeCap(cid)) then doBroadcastMessage("O ".. getCreatureName(cid) .." ganhou uma(o) ".. getItemNameById(premio) .." como recompensa das suas ".. premio_vezes .." conquistas!", 21) doPlayerAddItem(cid, premio, premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) ".. getItemNameById(premio) .." como recompensa das suas ".. premio_vezes .." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1], 0) end setPlayerStorageValue(cid, storages[4], os.time() + mathtime(resetReward)) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem, 10000, cid, premio, premio_cont, premio_reset) end end end else doBroadcastMessage("O(a) ".. getCreatureName(cid) .." acabou de conquistar o ".. castle_one_name .." para a guild \"".. guildname .."\" pela ".. sto_vezes_total .."ª vez(s).", 22) doSendMagicEffect(position, 39) end else doPlayerSendCancel(cid, "O sistema está desativado") end else doPlayerSendCancel(cid, "É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end function additem(cid, premio, premio_cont, premio_reset) if (not isPlayer(cid)) then stopEvent(additem) return true end if (getItemWeightById(premio, 1) <= getPlayerFreeCap(cid)) then doPlayerAddItem(cid, premio, premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) ".. getItemNameById(premio) .." como recompensa das suas ".. premio_vezes .." conquistas!") if (premio_reset == 1) then setPlayerStorageValue(cid, storages[1], 0) end setPlayerStorageValue(cid, storages[4], os.time() + mathtime(resetReward)) stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para receber o item. Verificando novamente em 10 segundos!") addEvent(additem, 10000, cid) end end function isPlayerGuild(cid) if (getPlayerGuildName(cid) ~= "") then return true else return false end end
-
carloos deu reputação a Carlinhous1996 em adicionando tempo a storagegalera do tk alguem poderia me ajudar a colocar um tempo nessa storage por favor?
queria que ela a cada 6 dias expirasse a storage
script:
-
carloos deu reputação a xMonkey em adicionando tempo a storageOlá @Carlinhous1996, boa noite!
Você não explicou exatamente quais storages gostaria de adicionar o tempo.
Ao meu ver, seria para receber a recompensa?
Fiz as modificações para só receber as recompensas caso a Storage tenha resetado, após 6 dias.
Também fiz uma pequena organização ao código.
-- Created by pc98 -- Edited by xMonkey local config = { castle_one_name = "Castle", -- Nome do castelo 1 storages = {154154,54321,123123, 123124}, -- Storages ( se vc eh iniciante, deixe como está...) -- REWARDS I N D I V I D U A I S --------- premio_por_vezes = 1, -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. premio_vezes = 3, -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. premio = 10522, -- ID do Premio premio_cont = 1, -- Quantidade do Premio premio_reset = 1, -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO resetReward = {6, "day"} -- Tempo para resetar a storage e receber novamente a recompensa } -- Para deixar mais organizado, jogar essas funções em LIB (se jogar em LIB, remover o local na frente de function) -- Custom Functions (inicio) local function mathtime(table) -- by dwarfer local unit = {"sec", "min", "hour", "day"} for i, v in pairs(unit) do if v == table[2] then return table[1]*(60^(v == unit[4] and 2 or i-1))*(v == unit[4] and 24 or 1) end end return error("Bad declaration in mathtime function.") end local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end -- Custom Functions (fim) function onUse(cid, item, frompos, item2, topos) local sto_ativ, position = getGlobalStorageValue(config.storages[2]), getCreaturePosition(cid) if (isPlayerGuild(cid) == true) then if (sto_ativ == 1 or sto_ativ == -1) then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(config.storages[3]) if (guild ~= guild_sto) then setPlayerStorageValue(cid, guild_sto, guild) if (getPlayerStorageValue(cid, config.storages[1]) == -1) then setPlayerStorageValue(cid, config.storages[1], 0) end setGlobalStorageValue(config.storages[3], getPlayerGuildId(cid)) setPlayerStorageValue(cid,config.storages[1], getPlayerStorageValue(cid, config.storages[1]) + 1) sto_vezes_total = getPlayerStorageValue(cid, config.storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o ".. config.castle_one_name .." para a guild \"".. guildname .."\" pela ".. sto_vezes_total .."ª vez(s).", 22) doSendMagicEffect(position, 39) doRemoveItem(item.uid, 1) if (config.premio_por_vezes == 1) then if (getPlayerStorageValue(cid, config.storages[4]) - os.time() > 0) then doPlayerSendTextMessage(cid, 18, "Voce deve aguardar ".. getTimeString(getPlayerStorageValue(cid, config.storages[4]) - os.time()) .." para receber a recompensa novamente.") return true end if (getPlayerStorageValue(cid, config.storages[1]) == config.premio_vezes) then if (getItemWeightById(config.premio, 1) <= getPlayerFreeCap(cid)) then doBroadcastMessage("O ".. getCreatureName(cid) .." ganhou uma(o) ".. getItemNameById(config.premio) .." como recompensa das suas ".. config.premio_vezes .." conquistas!", 21) doPlayerAddItem(cid, config.premio, config.premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) ".. getItemNameById(config.premio) .." como recompensa das suas ".. config.premio_vezes .." conquistas!") if config.premio_reset == 1 then setPlayerStorageValue(cid,config.storages[1], 0) end setPlayerStorageValue(cid, config.storages[4], os.time() + mathtime(config.resetReward)) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem, 10000, cid, config.premio, config.premio_cont, config.premio_reset) end end end else doBroadcastMessage("O(a) ".. getCreatureName(cid) .." acabou de conquistar o ".. config.castle_one_name .." para a guild \"".. guildname .."\" pela ".. sto_vezes_total .."ª vez(s).", 22) doSendMagicEffect(position, 39) end else doPlayerSendCancel(cid, "O sistema está desativado") end else doPlayerSendCancel(cid, "É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end function additem(cid, config.premio, config.premio_cont, config.premio_reset) if (not isPlayer(cid)) then stopEvent(additem) return true end if (getItemWeightById(config.premio, 1) <= getPlayerFreeCap(cid)) then doPlayerAddItem(cid, config.premio, config.premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) ".. getItemNameById(config.premio) .." como recompensa das suas ".. config.premio_vezes .." conquistas!") if (config.premio_reset == 1) then setPlayerStorageValue(cid, config.storages[1], 0) end setPlayerStorageValue(cid, config.storages[4], os.time() + mathtime(config.resetReward)) stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para receber o item. Verificando novamente em 10 segundos!") addEvent(additem, 10000, cid) end end function isPlayerGuild(cid) if (getPlayerGuildName(cid) ~= "") then return true else return false end end
-
carloos deu reputação a Belmont em ajustar remove item@carloos É proibido subir o tópico se não com a própria ferramenta para isso, usar mensagens para subir o tópico é proibido e pode levar a punições severas!
Ver ai se vai funcionar, ainda não testei, se der algum erro posta ele em spoiler
local itemsID = {9693, 10503} local maleOutfits = {["addon"] = {273}} local femaleOutfits = {["addon"] = {270}} local mensagem = {"Este addon não existe!", "Você precisa ter o "..getItemInfo(itemsID)[1].name.." e o "..getItemInfo(itemsID)[2].." para trocar no addon.", "Parâmetro incorreto!", "Você liberou um novo addon"} function onSay(cid, words, param) local param = string.Lower(param) if not isPremium(cid) then doPlayerSendCancel(cid, "Você não é Premium Account para usar esse sistema.") return true end for i = 1, table.maxn(itemsID) do if getPlayerItemCount(cid, itemsID[1]) == 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensagem[2]) return true else if param ~= "" and maleOutfits[param] and femaleOutfits[param] then doPlayerItemRemove(cid, itemsID, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensagem[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) if getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, femaleOutfits[param][1], 3) else doPlayerAddOutfit(cid, maleOutfits[param][1], 3) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensagem[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensagem[2]) end end end