-
Total de itens
2187 -
Registro em
-
Última visita
-
Dias Ganhos
58
Tudo que Yan Oliveira postou
-
Primeiramente, não é correto criar um tópico para vários problemas diferentes, se fosse dúvidas ou erros que fossem correlatas ai não teria problema, mas as suas duas outras dúvidas tem haver com cliente (do shop provavelmente). Sobre sua primeira pergunta, o problema é que em algumas bases ele multiplicam o exp do pokémon que fica no xml por algum valor, por isso não recebe a exp desejada que está no xml do pokémon. Se sua base for DXP, vai em Data/Creaturescripts/Scripts e abra o arquivo pokeexp.lua, em seguida procura por está parte: elseif not isInParty(pk) then E abaixo dela estará a atribuição de experiência dependendo o level, provavelmente vai ter um variável chamada givenexp que pega a exp do xml do pokémon e ela vai estar sendo multiplicada por algum valor, é só remover a multiplicação. Caso não consiga, posta o script que te ajudo a arrumar. Sobre suas outras duas dúvidas, crie um tópico para cada na área correta.
-
Provavelmente é erro de comando no banco, tem que olhar como está feito o UPDATE ao criar conta no account manager.
-
Tem o arquivo creature.cpp onde é criado a função, procure por de RATE_EXPERIENCE que vai achar. Também tem o arquivo game.cpp que trabalha com a parte de Stages, só procurar por RATE_EXPERIENCE que vai achar.
-
Seria melhor postar o script todo para entender melhor. Só para entender, esse addEvent você colocou na tentativa de tentar criar os 5 segundos para transformar no item?
-
[Dúvida] Imagem nao aparece ao criar novo item
pergunta respondeu ao El Rusher de Yan Oliveira em Scripts
O que eu quis dizer foi o seguinte, não sei se em Tibia usa isso, mas em Poketibia o Scyther e Shiny Scyther tem um ataque que ele vai diretamente no outro pokémon com evasão, e no meio da animação é usado um slot livre do items.otb, só para ficar "invisível" enquanto ele pula. E eu não sabia qual slot era, ai fui adicionar umas outfits, e uma delas coloquei nesse slot, e quando o Scyther usava o ataque, na animação ficava a tal outift. Mas tente fazer o que o colega ai cima falou. -
Problema com drop de Key com Action ID
pergunta respondeu ao FlamesAdmin de Yan Oliveira em Programação
Qual é sua TFS? -
Mas o que não funcionou? Deu erro ou simplesmente não deu certo? Você configurou corretamente ?
-
Problema com drop de Key com Action ID
pergunta respondeu ao FlamesAdmin de Yan Oliveira em Programação
Tem essa possibilidade também, mas eu acho que era assim que ele estava fazendo, pois ele disse que não estava vindo com a action. Mas caso ele setado a actionid de outra forma, essa é para funcionar. -
Problema com drop de Key com Action ID
pergunta respondeu ao FlamesAdmin de Yan Oliveira em Programação
Estranho, essa key tem uma action para fazer o que no seu server? -
Ajuda - Script ALAVANCA QUEST para 6 players
pergunta respondeu ao GODStalks de Yan Oliveira em Scripts
Não é correto dividir a quest em vários arquivos, o ideal é ser dentro de um só! Me explica o funcionamento de toda a quest, irei tentar refazer ela e deixar mais fácil de entender para mexer nele conforme seu gosto. -
Você sabe qual tabela é armazenada a informação do torneio? Se saber é tranquilo, sobre o canal, não preferiria uma talkaction para ver isso? Comando !top_torneio por exemplo, acho que seria mais viável.
-
Quando postar um script assim, procure colocar dentro da tag code ou spoiler, para ficar mais legível. Sobre o script, eu criei uma função para setar o rate da exp de acordo com a quantidade de resets, os parâmetros são cid, quantidade de reset mínimo, reset máximo e rate da exp. Substitua o código por esse: local exhaustionMinutes = 1 -- exausted em minutos local storageUse = 32324 -- storage usado no exausted. function onSay(cid, words, param) if words =="!resetar" then if(exhaustion.check(cid, storageUse) == TRUE) then if (exhaustion.get(cid, storageUse) >= 10) then doPlayerSendCancel(cid, "Você só pode usar após [" .. math.floor(exhaustion.get(cid, storageUse) / 80 + 1) .."] Minutos.") end if (exhaustion.get(cid, storageUse) <= 10) then doPlayerSendCancel(cid, "Você só pode usar após [" .. exhaustion.get(cid, storageUse).."] segundos.") end return TRUE end exhaustion.set(cid, storageUse, exhaustionMinutes*10) --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = true, -- Players precisão estar sem battle pra resetar? [true, false] teleport = false, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] pid = getPlayerGUID(cid), -- Não Mexer. --[ Configurações do Reset ] -- resetConf = { Level = 717217, -- Level Necessário para Resetar. [Valor] backLvl = 5000, -- Level que voltará após o Reset. [Valor] time = 0.0, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] }, } --[[>> STAGES <<]]-- x=true;X=true -- Não Mexer. local stage = {Abilitar = {x}, Desabilitar = {}, --<< Abilitar Stages?? >>-- [{x};{}] -- [RESETS] | [PREMMY] | [FREE] stage1= {resets= 4, premmy= 650000, free= 650000}, stage2= {resets= 9, premmy= 650000, free= 650000}, -- EXPLICANDO e Configurando stages. (Se estiver Abilitado [Abilitar = {x}]) stage3= {resets= 14, premmy= 650000, free= 650000}, -- resets = Número de resets para o Stage; stage4= {resets= 19, premmy= 650000, free= 650000}, -- premmy = Level necessário para Premium Accounts; stage5= {resets= 24, premmy= 650000, free= 650000}, -- free = Level necessário para Free Accounts; stage6= {resets= 29, premmy= 650000, free= 650000}, -- Coloque em Ordem... stage7= {resets= 35, premmy= 650000, free= 650000}, -- [OBS: MARQUE UM "X" PARA ABILITAR OU DESABILITAR OS STAGES] stage8= {resets= 39, premmy= 650000, free= 650000}, -- EX: para desabilitar mude: Abilitar = {}, Desabilitar = {x} stage9= {resets= 45, premmy= 650000, free= 650000}, stage10={resets= 46, premmy= 717217, free= 717217}, stage11={resets= 54, premmy= 717217, free= 717217}, stage12={resets= 59, premmy= 717217, free= 717217}, stage13={resets= 64, premmy= 717217, free= 717217}, stage14={resets= 69, premmy= 717217, free= 717217}, stage15={resets= 74, premmy= 717217, free= 717217}, stage16={resets= 79, premmy= 717217, free= 717217}, stage17={resets= 80, premmy= 717217, free= 717217}, stage18={resets= 82, premmy= 717217, free= 717217}, stage19={resets= 85, premmy= 717217, free= 717217}, stage20={resets= 87, premmy= 717217, free= 717217}, stage21={resets= 88, premmy= 717217, free= 717217}, stage22={resets= 89, premmy= 717217, free= 717217}, stage23={resets= 90, premmy= 717217, free= 717217}, stage24={resets= 95, premmy= 717217, free= 717217}, stage25={resets= 100, premmy= 717217, free= 717217}, } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";") rss = qr:getDataInt("reset", coNdConf.pid) if rss < 0 then rss = 0 end return rss end -- FUNÇÃO PARA AUMENTAR O RATE DA EXP DE ACORDO COM A QUANTIDADE DE RESETS -- function setExpRate(cid, reset_min, reset_max, rate) if getPlayerReset(cid) > reset_min and getPlayerReset(cid) <= reset_max then return doPlayerSetExperienceRate(cid, rate) end end local success = " ~~ Sucesso! ~~ \nVocê tem agora "..(getPlayerReset(cid)+1).." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." ;err = doPlayerSendTextMessage local qrt = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";");rss_db = qrt:getDataInt("reset", coNdConf.pid) local lvl_query = "UPDATE `players` SET `level` = "..(coNdConf.resetConf.backLvl)..", `experience` = 0 WHERE `id`= " .. coNdConf.pid .. ";" local reset_query = "UPDATE `players` SET `reset` = "..(getPlayerReset(cid)+(1)).." WHERE `id`= " .. coNdConf.pid .. ";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. coNdConf.pid .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset "..(getPlayerReset(cid)+(1)).."]' WHERE `players`.`id`= " .. coNdConf.pid .. ";" --=[Reseta]=-- function addValue(value) if coNdConf.look == false then doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(look_query) return LUA_NO_ERROR end end function nowReseting() if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*0, value) setPlayerStorageValue(cid, storage_contador, storage_contador + 1) else doPlayerPopupFYI(cid, success) addEvent(doTeleportThing, coNdConf.resetConf.time*0, cid, getTownTemplePosition(getPlayerTown(cid))) addEvent(addValue, coNdConf.resetConf.time*0, value) setPlayerStorageValue(cid, storage_contador, storage_contador + 1) return true end end --[sTAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, {resets=stage.stage11.resets, premmy=stage.stage11.premmy, free=stage.stage11.free}, {resets=stage.stage12.resets, premmy=stage.stage12.premmy, free=stage.stage12.free}, {resets=stage.stage13.resets, premmy=stage.stage13.premmy, free=stage.stage13.free}, {resets=stage.stage14.resets, premmy=stage.stage14.premmy, free=stage.stage14.free}, {resets=stage.stage15.resets, premmy=stage.stage15.premmy, free=stage.stage15.free}, {resets=stage.stage16.resets, premmy=stage.stage16.premmy, free=stage.stage16.free}, {resets=stage.stage17.resets, premmy=stage.stage17.premmy, free=stage.stage17.free}, {resets=stage.stage18.resets, premmy=stage.stage18.premmy, free=stage.stage18.free}, {resets=stage.stage19.resets, premmy=stage.stage19.premmy, free=stage.stage19.free}, {resets=stage.stage20.resets, premmy=stage.stage20.premmy, free=stage.stage20.free}, {resets=stage.stage21.resets, premmy=stage.stage21.premmy, free=stage.stage21.free}, {resets=stage.stage22.resets, premmy=stage.stage22.premmy, free=stage.stage22.free}, {resets=stage.stage23.resets, premmy=stage.stage23.premmy, free=stage.stage23.free}, {resets=stage.stage24.resets, premmy=stage.stage24.premmy, free=stage.stage24.free}, {resets=stage.stage25.resets, premmy=stage.stage25.premmy, free=stage.stage25.free}, } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then err(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Você precisa ter ["..coNdConf.resetConf.Level.."]. leveis , Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." levels para você Resetar seu personagem.") return TRUE end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*0, value) setExpRate(cid, 0, 5, 1.5) -- RATE DO RESET 1 A 5 RESETS (A VERIFICAÇÃO ESTÁ MAIOR DO QUE O RESET MÍNIMO, POR ISSO COMEÇA COM 0) setExpRate(cid, 5, 10, 2) -- RATE DO RESET 6 A 10 setExpRate(cid, 10, 20, 5) -- RATE DO RESET 11 A 20 setExpRate(cid, 20, 50, 10) -- RATE DO RESET 21 A 50 setExpRate(cid, 50, 100, 20) -- RATE DO RESET 51 A 100 else doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*0, value) addEvent(doTeleportThing, coNdConf.resetConf.time*0, cid, getTownTemplePosition(getPlayerTown(cid))) setExpRate(cid, 0, 5, 1.5) -- RATE COM 1 RESET 1 A 5 RESETS (A VERIFICAÇÃO ESTÁ MAIOR DO QUE O RESET MÍNIMO, POR ISSO COMEÇA COM 0) setExpRate(cid, 5, 10, 2) -- RATE DO RESET 6 A 10 setExpRate(cid, 10, 20, 5) -- RATE DO RESET 11 A 20 setExpRate(cid, 20, 50, 10) -- RATE DO RESET 21 A 50 setExpRate(cid, 50, 100, 20) -- RATE DO RESET 51 A 100 return true end end function newReset(cid) if(coNdConf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return TRUE end if(coNdConf.needPa == true) and not isPremium(cid) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return TRUE end if(coNdConf.withe == false) and (getCreatureSkullType(cid) == 3) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return TRUE end if(coNdConf.red == false) and (getCreatureSkullType(cid) == 4) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return TRUE end if(coNdConf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return TRUE end local xy = {true,false} table.insert(stage.Abilitar, false) table.insert(stage.Desabilitar, false) if stage.Abilitar[1] == xy[1] and stage.Desabilitar[1] == xy[2] then checkLevelStageReset(cid) elseif stage.Abilitar[1] == xy[2] and stage.Desabilitar[1] == xy[1] then nowReseting() else doPlayerPopupFYI(cid, "LUA_ERROR; Configure corretamente o Sistema de STAGES!") end return true end function tableResetInstall() print(not rss_db and LUA_ERROR or "Tabela de Resets: Instalada ... [success] ") addEvent(newReset, 0, cid) return false end if tableResetInstall() then end end end Eu deixei comentado a linha onde aumenta o rate de acordo com a quantidade de resets, é essa função: setExpRate(cid, 0, 5, 2) Testa e me fala, mas pode ser que dê erro caso não tenha a função doPlayerSetExperienceRate(cid, rate) que eu uso na função setExpRate, caso não tenha avisa que te passo. Como não informou sua TFS, não sei se tem ou não.
-
Agora entendi, preciso que mande o script do reset que tem.
-
Como assim reset?
-
De nada, sem problemas! No arquivo Data/Xml/Stages.xml fica o rate de stage por nível, pode editar lá conforme sua vontade. É bem simples de mexer: <?xml version="1.0" encoding="UTF-8"?> <stages> <world id="0" multiplier="1"> <stage minlevel="1" maxlevel="200" multiplier="350"/> <stage minlevel="201" maxlevel="250" multiplier="250"/> <stage minlevel="251" maxlevel="300" multiplier="150"/> <stage minlevel="301" maxlevel="350" multiplier="100"/> <stage minlevel="351" maxlevel="400" multiplier="50"/> <stage minlevel="401" maxlevel="450" multiplier="20"/> <stage minlevel="451" maxlevel="500" multiplier="10"/> <stage minlevel="501" maxlevel="550" multiplier="2"/> <stage minlevel="551" maxlevel="600" multiplier="1"/> <stage minlevel="601" multiplier="0.5"/> </world> </stages> Você coloca o multiplicador para o level mínimo e máximo do rate daquele stage.
-
A área correta seria em pedidos de script: https://www.xtibia.com/forum/forum/1260-scripts/ Sobre seu pedido, sua base é Tibia ou Derivado?
-
Problema com drop de Key com Action ID
pergunta respondeu ao FlamesAdmin de Yan Oliveira em Programação
Estranho, mas temporariamente, usa dessa maneira por enquanto, vai em Data/Creaturescripts/Scripts e crie um arquivo chamado item_purplekey.lua e adicione o código dentro: local id_purplekey = 2086 -- ID DA PURPLE KEY local id_action = 15000 -- COLOQUE O ID DA ACTIONID function onDeath(cid, corpse, deathList) local item = doCreateItemEx(id_purplekey) doItemSetAttribute(item, 'aid', id_action) doAddContainerItemEx(corpse.uid, item) return true end Agora abra o creaturescripts.xml e adicione a tag: <event type="death" name="item_purplekey" event="script" value="item_purplekey.lua"/> E por fim adicione o evento na xml de todos os monstros que dropam a key: <script> <event name="item_purplekey"/> </script> Teste e avise caso dê algum problema. -
error al compilar source 8.60 de nto
pergunta respondeu ao super saiyan fl de Yan Oliveira em Programação
É erro de linker, não está encontrando esses linker. Aperte ALT+P ou vai em Opções do Projeto na aba Projeto e vai na aba Parâmetros, verifique se todos os linkers estão correto. Verifique também se excluiu a pasta obj e o executável na pasta da source, é sempre bom deletar porque dão problema, inclusive eu já tive problema de compilação por conta disso. -
NPC OU COMANDO DE REPARAR SOFT BOOTS TFS 1.2
pergunta respondeu ao Wakachizi de Yan Oliveira em Scripts
Como assim reparar? -
Problema com drop de Key com Action ID
pergunta respondeu ao FlamesAdmin de Yan Oliveira em Programação
Vou tentar te ajudar camarada! Esse item é novo no seu servidor, você criou ele ou já veio no server? -
Cara, baixei, rodei e está funcionando normal. Porém tem que rodar por MySql, e vi que está rodando por Sqlite.
-
Poste o script do Frodo.lua.
-
Verifique se a vocation está configurada nesse mesmo item no arquivo movements.xml da pasta Movements, pois como ele é de equipar, deve configurar lá também.
-
Só pegar o que mandei por último ali que já está tudo arrumado. Para adicionar uma confirmação tem que criar uma condição elseif com msgcontains e yes, igual fiz no primeiro script quando só pediu com 1 cidade. Porém eu tirei o diálogo de yes porque não faz sentido manter quando você tem mais de uma cidade para viajar. Caso o player não queira só falar não, mas ele ter que falar yes e depois uma das cidades não tem sentido, vai confirmar duas vezes uma coisa que o player só quer em uma. Então é mais fácil do jeito que deixei, fora que iria dar mais trabalho, porque a palavra chave está no msgcontains, então se trabalhar com yes, vai ter que criar mais um estado de fala (talkState[Talkuser]) para 2, porque o yes seria a 1, e seria uma coisa a mais sem sentido. Mas ai fica por sua conta. Sobre teleportar, não entendi muito bem, você quer teleportar o npc?
-
Sem problemas! Entendo como é, é ruim mesmo kk, também edito o meu sozinho. Sobre o script, não deu esse problema para mim, você copiou corretamente? Porém achei dois erros que tinha no script, um estava com 1 parênteses a mais, e o outro problema era porque coloquei as letras iniciais maiúscula, e tem que ser tudo minúsculo no código. Testei aqui e está funcionando agora. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end -- VARIÁVEIS -- local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) local id_coin = 2152 -- ID DO GOLD COIN local quantidade_coin_ice_island = 40 -- QUANTIDADE COINS QUE PRECISA PARA VIAJAR PARA ICE ISLAND local quantidade_coin_fuchsia = 40 -- QUANTIDADE COINS QUE PRECISA PARA VIAJAR PARA FUCHSIA local quantidade_coin_azalea = 200 -- QUANTIDADE COINS QUE PRECISA PARA VIAJAR PARA AZALEA local level = 30 --LEVEL MÍNIMO PARA VIAJAR local position_ice_island = {x= 2449, y= 2305, z= 6} -- POSIÇÃO DE ONDE O PLAYER IRÁ AO SER TELEPORTADO EM ICE ISLAND local position_fuchsia = {x= 1044, y= 1396, z= 6} -- POSIÇÃO DE ONDE O PLAYER IRÁ AO SER TELEPORTADO EM FUCHSIA local position_azalea = {x= 1132, y= 2748, z= 6} -- POSIÇÃO DE ONDE O PLAYER IRÁ AO SER TELEPORTADO EM AZALEA ----------------------------------- [ DIALOGO COM NPC] --------------------------------- if msgcontains(msg, 'help') or msgcontains(msg, 'travel') or msgcontains(msg, 'viagem') then selfSay("I can take you to {Ice Island} for "..quantidade_coin_ice_island.. " coins, to {Fuchsia} for " ..quantidade_coin_fuchsia.. " coins or to {Azalea} for " ..quantidade_coin_azalea.. " coins. Say the name of place that you want to travel.", cid) talkState[talkUser] = 1 --- AZALEA --- elseif msgcontains(msg, 'azalea') and talkState[talkUser] == 1 then if isPremium(cid) then if getPlayerLevel(cid) >= level then if getPlayerItemCount(cid, id_coin) >= quantidade_coin_azalea then doPlayerRemoveItem(cid, id_coin, quantidade_coin_azalea) selfSay("Good Luck!", cid) doTeleportThing(cid, position_azalea) talkState[talkUser] = 0 return true else selfSay("You don't have " ..quantidade_coin_azalea.. " gold coins.", cid) talkState[talkUser] = 0 return true end else selfSay("You need to be at least level" ..level.. " or more to travel.", cid) talkState[talkUser] = 0 return true end else selfSay("You need to be premium account to travel to {Azalea}.", cid) talkState[talkUser] = 0 return true end --- ICE ISLAND --- elseif msgcontains(msg, 'ice island') and talkState[talkUser] == 1 then if getPlayerLevel(cid) >= level then if getPlayerItemCount(cid, id_coin) >= quantidade_coin_ice_island then doPlayerRemoveItem(cid, id_coin, quantidade_coin_ice_island) selfSay("Good luck!", cid) doTeleportThing(cid, position_ice_island) talkState[talkUser] = 0 return true else selfSay("You don't have " ..quantidade_coin_ice_island.. " gold coins.", cid) talkState[talkUser] = 0 return true end else selfSay("You need to be at least level" ..level.. " or more to travel.", cid) talkState[talkUser] = 0 return true end --- FUCHSIA --- elseif msgcontains(msg, 'fuchsia') and talkState[talkUser] == 1 then if getPlayerLevel(cid) >= level then if getPlayerItemCount(cid, id_coin) >= quantidade_coin_fuchsia then doPlayerRemoveItem(cid, id_coin, quantidade_coin_fuchsia) selfSay("Good luck!", cid) doTeleportThing(cid, position_fuchsia) talkState[talkUser] = 0 return true else selfSay("You don't have " ..quantidade_coin_fuchsia.. " gold coins.", cid) talkState[talkUser] = 0 return true end else selfSay("You need to be at least level" ..level.. " or more to travel.", cid) talkState[talkUser] = 0 return true end elseif (msgcontains(msg, "Ice Island") ~= "Ice Island" or msgcontains(msg, "Fuchsia") ~= "Fuchsia" or msgcontains(msg, "Azalea") ~= "Azalea") and talkState[talkUser] == 1 then selfSay("I don't know this place.", cid) return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Qualquer problema só falar.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.