Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/30/12 em todas áreas
-
Em movements>scripts crie um arquivo.lua e cole isto dentro: local positions = { [1] = {x = 157, y = 711, z = 7}, [2] = {x = 156, y = 739, z = 7}, [3] = {x = 157, y = 768, z = 7}, } function onStepIn(cid, item, fromPosition) doTeleportThing(cid, positions[math.random(1, #positions)]) return TRUE end Em movements.xml coloque a tag: <movevent type="StepIn" actionid="ACTIONIDDOTELEPORT" event="script" value="NOMEDOSEUARQUIVO.lua" />3 pontos
-
[Oficial] Refugia (8.60) 26/08/2012 0.0.8
felipecaldas199 reagiu a Subwat por um tópico no fórum
Bom pessoal,venho trazer-lhes hoje um trabalho,de meses de mim e de daniel devotti,fizemos um servidor Igual o refugia. e agora venho compartilhar com vocês. SENHA DO GOD account:god senha:GOD Spells Knights :ezzori,ezzori gran. Magos :exevo gran frigo,exevo gran mas mort,exevo gran mas ghost,aurora. Paladinos :exevo gran mas mort,aurora. Sistemas Pet system com mais de 50 pets,Incluindo Pets Donates que você pode vender em seu site! Sistemas de arena duels Para teams ou duplas no segundo andar no templo! Sistema de VIP Coins e (VIP) no nome Igual do Refugia Original! TASK SYSTEM! Sistema De Reborn Monster! adicionado 16/09/11 Ao matar um monstro ele tem 50% de chance de renascer igual no refugia! Items Mais de 100 items editados únicos do servidor! items free bons,quests com items editados e etc. Quests Anihilator demon helmet Aqua quest vermilion quest Pits of inferno Lord vampire quest refugia legs multi Quest dentre várias outras. Screen Shots Trainer's Templo Free Teleports Vip Teleports Free Teleportes para cidades Segundo andar do templo Montanha City Vip City Free NPC's DOWNLOAD: http://adf.ly/IGQ9S http://adf.ly/IGQDJ (SCAN DESATUALIZADO) Créditos Subwat (Gean Riot) Refugia.com.br daniel freire devotti curtiu REP+ Este tópico recebeu destaque em nosso portal!1 ponto -
[Encerrado] [Pokemon] Dúvidas? - Pda
lukinhaswr reagiu a lucashgas por um tópico no fórum
Dúvidas sobre o Servidor - Pokemon Tópico para dúvidas sobre o servidor de pokemon, principalmente o PDA e PDA by Slicer! Organizadores do Tópico: Slicer, Vilden Links Uteis: Criando seu Client próprio, http://vapus.net/customclient Download Pokemon Dash Edit | By Slicer |, http://www.4shared.c...forum_v_10.html Revisão de erros 1.1 | By Slicer |, http://speedy.sh/asZ...recoes-v1.1.rar Links do tópico antigo: Dúvidas já respondidas: Lembre-se o servidor do slicer já está com vários bugs resolvidos! Sistema Respawn Shiny por "onSpawn" Potion system 100% com "lost heal" Arrumar bugs de morre com FLY, DIVE, SURF, RIDE... DIVE SYSTEM 100% Sistema "Ir para PvP e voltar na City q entro no PvP"... Fishing upando mais devagar... by brun123, +/- edited by me Npc cassino, pokes por cassino coins... by koins, edited by me Npc Box 3 +/- parecido com o do PxG... Retirar o "Shiny" do nome de todos os pokes... Brokes count system... Criando God no servidor... Como tirar o sistema de boost [+0] Regras1 ponto -
Perfect Vip system 3.0 Última atualização: 14/08/12 Versão Testada:TFS 0.3.6 - 8.54 - 8.6 - 9.6 Créditos pelas modificações: Kydrai,Vodkart e Marcryzius Oque Contém no Sistema vip 3.0? Comandos: Query Primeiro passado execute essa query na sua DB: ALTER TABLE `players` ADD `vipacess` INT(15) NOT NULL DEFAULT 0; Agora vá em Data/lib/050-function e adicione essas funções: function getCharacterAcess(cid) local query = db.getResult("SELECT `vipacess` FROM `players` WHERE `id` = "..getPlayerGUID(cid)) if query:getID() ~= -1 then return query:getDataInt("vipacess") end end function getCharacterDays(cid) local acess = math.ceil((getCharacterAcess(cid) - os.time())/(86400)) return acess <= 0 and 0 or acess end function HaveCharaterAcess(cid) return getCharacterDays(cid) > 0 and true or false end function setAcessTime(cid, time) return db.executeQuery("UPDATE `players` SET `vipacess` = "..time.." WHERE `id` = "..getPlayerGUID(cid)) end function addCharacterAcess(cid, days) local add = (days <= 0 and 1 or days)*86400 local time = getCharacterDays(cid) == 0 and (os.time() + add) or (getCharacterAcess(cid) + add) return setAcessTime(cid, time) end function doRemoveCharacterAcess(cid, days) local remove = days*86400 local time = getCharacterAcess(cid) - remove return setAcessTime(cid, (time <= 0 and 1 or time)) end function getVipAcessDate(cid) if HaveCharaterAcess(cid) then return os.date("%d/%m/%y %X", getCharacterAcess(cid)) end return false end Talkactions agora em talkactions/scripts vipsystemplayer.lua function onSay(cid, words, param) if(words == "!buyvip") then local days = 10 local price = 50000 if not doPlayerRemoveMoney(cid, price) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") addCharacterAcess(cid, days) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid)) elseif(words == "!vipdays") then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP. "..(getCharacterDays(cid) > 0 and "ela acaba em "..getVipAcessDate(cid).."." or "")) end return true end vipsystemgod.lua function onSay(cid, words, param) if(words == "/checkvip") then if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local player = getPlayerByName(param) if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") return true end return doPlayerPopupFYI(cid, "O jogador tem "..getCharacterDays(player).." dias de VIP no character.") elseif(words == "/addvip") then local t = string.explode(param, ",") if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end addCharacterAcess(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você adicionou "..tonumber(t[2]).." dias de VIP no player "..getCreatureName(player)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..tonumber(t[2]).." dias de VIP no seu character.") elseif(words == "/delvip") then local t = string.explode(param, ",") if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end doRemoveCharacterAcess(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você removeu "..tonumber(t[2]).." dias de VIP do jogador "..getCreatureName(player)..".") end return true end em talkactions.xml adicione as tags: <talkaction words="!buyvip;!vipdays" event="script" value="vipsystemplayer.lua"/> <talkaction words="/addvip;/delvip;/checkvip" access="4" event="script" value="vipsystemgod.lua"/> Item Vip item que adiciona vip no character actions/script addvipdays.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 15 addCharacterAcess(cid, (days <= 0 and 1 or days)) doRemoveItem(item.uid,1) return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid)) end Actions.xml <action itemid="ID DO SEU ITEM" script="addvipdays.lua"/> Vip Door actions/script perfectvipdoor.lua function onUse(cid, item, frompos, item2, topos) if not HaveCharaterAcess(cid) then return doPlayerSendTextMessage(cid,22,"Você precisa ser vip para passar aqui.") end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, topos, true) return true end actions.xml <action actionid="7779" script="perfectvipdoor.lua"/> Tile VIP em movements/scripts crie um arquivo.lua e renomeie para vipe.lua function onStepIn(cid, item, position, fromPosition) if item.actionid == 13700 and not HaveCharaterAcess(cid) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"você não é vip.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"bem vindo.") return true end Em movements.xml adicione a tag: <movevent type="StepIn" actionid="13700" event="script" value="vipe.lua"/> no seu piso coloque ACTIONID 13700 Fim Vip em creaturescript/script endvip.lua function onLogin(cid) if getCharacterDays(cid) > 0 then setPlayerStorageValue(cid, 9898, 1) elseif getPlayerStorageValue(cid, 9898) == 1 and getCharacterDays(cid) <= 0 then doPlayerSetTown(cid, 1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) end return true end em creaturescript.xml adicione a tag: <event type="login" name="CheckVip" script="endvip.lua"/>1 ponto
-
1 ponto
-
vou colocar no paste bin http://pastebin.com/knf4bL7G testa ai1 ponto
-
troca essa linha: if owner and owner ~= getCreatureName(cid) then por essa1 ponto
-
script usa esse: http://pastebin.com/C4f7d8GU e em outfits.xml deixa as outfits de casamento assim: <outfit id="23" quest="150420"> <list gender="0" lookType="329" name="Wife"/> <list gender="1" lookType="328" name="Husband"/> </outfit>1 ponto
-
[Quest] Parecida Com Zao Arena :
pedrizito15 reagiu a Vodkart por uma questão
dps de 45 segundos, certo, mas se depois de 45 segundos ainda tiver Dragon Lord e Frost Dragon na arena, ainda vai ser sumonado os outros? que no caso seriam Behemoth + Hellspawn? Outra coisa, depois que eles matarem o BOSS, como que vão sair da arena? se for pelo TP de boss, algum engraçadinho pode ficar lá dentro ainda, o certo é fazer para depois que matar o boss ganhar o prêmio e ser teleportado, você consegue fazer isso? outra coisa vai poder fazer a quest quantas vezes quiser? TEM QUE DAR MAIS DETALHES DO QUE VC QUER! PQ N ADIANTA DAR UM SCRIPT E DPS FICAR PEDINDO PRA ALTERAR PQ TA CHEIO DE BUG1 ponto -
function onStepIn(cid, item, position, fromPosition) local reset = 2 ---Quantidade de reset necessaria-------- function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid)..";") rss = qr:getDataInt("reset", getPlayerGUID(cid)) if rss <= 0 then rss = 0 end return tonumber(rss) end if getPlayerReset(cid) < reset then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao tem "..reset.." de reset") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seja bem vindo") return TRUE end1 ponto
-
[Encerrado] Anti-Nuker
99663100 reagiu a vinny160600 por um tópico no fórum
D-Guard Anti-DDoS <-- melhor que eu ja vi. só procurar no google que você acha na 1°1 ponto -
Seguinte, Seu computador talvez nao tenha, Directx instalado, Ou tente da seguinte forma clic no Desktop com botao direito Propriedades>Configuracao>Qualidade de cor> (Se estiver 32 coloque 16 ou vice versa) Te ajudei? Rep-me ;D1 ponto
-
UauHAUhauHUA.... vlw ae meo por ajudar REP + Me quebrou um galhão veio! Duvida Sanada, Podem fechar o Topico.. THANK NATHAN96!!!1 ponto
-
nome do seu script.lua local ret = {} function SairEfeito(cid) if not isCreature(cid) then return LUA_ERROR end local pos = getCreaturePosition(cid) doSendAnimatedText(pos, "LTK!", 145) doSendMagicEffect(pos, 27) ret[getPlayerGUID(cid)] = addEvent(SairEfeito, 2000, cid) end function onEquip(cid, item, slot) if (getPlayerStorageValue(cid, 78975) == -1) then SairEfeito(cid) setPlayerStorageValue(cid, 78975, 1) end return true end function onDeEquip(cid, item, slot) stopEvent(ret[getPlayerGUID(cid)]) ret[getPlayerGUID(cid)] = nil setPlayerStorageValue(cid, 78975, -1) return true end movements.xml: <movevent type="Equip" itemid="2123" slot="ring" event="script" value="nome do seu script.lua"/> <movevent type="DeEquip" itemid="2123" slot="ring" event="script" value="nome do seu script.lua"/>1 ponto
-
[Site] Wodbo
gustavo3754 reagiu a proview110 por um tópico no fórum
Ta de Parabens CrazzyMaster Esta Sua Entrada Esta Otima !! Rep:button_ok: Para vc ;D1 ponto -
Pra quem não ta conseguindo baixar .. http://www.4shared.com/rar/caSwsq4T/detect_baiak.html Aqui ta o Scan https://www.virustotal.com/file/24683be05b5e067814afda699995acba27e38e596e13b23a61440f821e97c438/analysis/1 ponto
-
function onThink(interval, lastExecution, thinkInterval) local total,minutes = 151200000,1800000 local query = db.getResult("SELECT `id`, `stamina` FROM `players` WHERE `id` > 6 AND `group_id` < 3;") if (query:getID() ~= -1) then while true do local id, stamina_now = query:getDataInt("id"), query:getDataInt("stamina") if stamina_now < (total-minutes) then db.executeQuery("UPDATE `players` SET `stamina` = "..stamina_now+minutes.." WHERE `id` = "..id) end if not(query:next()) then break end end query:free() end return true end1 ponto
-
sanado, reportado.1 ponto
-
Como Mudar A Exp Em Alguns Ots 8.0 (pelo Stages.xml)
delderwakku reagiu a DarkMageMatheus por um tópico no fórum
Alguns ots 8.0 (quase todos que eu puxei) estão vindo com a xp configurada no stages,xml. Muitas pessoas não sabem mudá-la, e tentam mudar pelo config.lua, o que não adianta. Para mudá-la, entre no stages.xml que está na pasta data de seu ot. ele deve estar assim: como deu para perceber, a xp comeca a variar conforme se passa de lv.. vamos te ajudar a entender isso: isso que dizer que, do level 1 até o level 10, a experiencia será de 20 vezes. nesse outro, a partir do level 11 até o level 20, a experiencia será de 15 vezes. Para mudar, é simples: Suponhamos que você queira fazer um server que a XP seja sempre 20. Não vou falar para voce deletar algo do stages, poi as vezes voce deleta algo a mais e o ot nao carrega. Então, deixe o stages assim: Pronto! Se você quiser variar a exp pelo level, apenas mude o minlevel, que é o level em que a xp desejada comeca a ser contada, o maxlevel (até que level vai a xp desejada) e o multiplier (quanto é a xp desejada) Espero ter ajudado ;]1 ponto -
msm estilo Beeki, sóh muda a função onUse por onThink. function onThink(interval, lastExecution, thinkInterval) local fromPos = {x=2453, y=2451, z=7} -- posição superior esquerda do mapa. local toPos = {x=2457, y=2454, z=7} -- posição inferior direita do mapa. local pos = {x=2456, y=2457, z=7} -- posição para qual o players serão teleportados. local players = getPlayerInArea(fromPos, toPos) for i=1, #players do doTeleportThing(players[i], {x=2456, y=2457, z=7}) end return true end function getPlayerInArea(fromPos, toPos) -- by jhon992 local online = getPlayersOnline() local players = {} for i=1, #online do if isInArea(getPlayerPosition(online[i]), fromPos, toPos) then players[#players+1] = online[i] end end return players end1 ponto
-
Rank Task - System Do Vodkart
victorgod reagiu a HisashiitYamaguti por uma questão
Tópico movido para a área de Pedidos Atendidos.1 ponto -
Baiakvip, Não sei porque tanto VIP, simples, coloca duas, uma no level médio, outra no level alto, pronto acabo... Isso só deixa o servidor pesado e com bugs, Mesmo assim te apoio com esse projeto!1 ponto
-
Bem, como algum de voces devem ter visto, eu fiz um totorial sobre colocar Npc/Monsters no mapEditor. Use-o para adicionar este npc á seu mapa: (-Adicionando Monsters/Npcs no seu MapEditor-) Mas agora eu venho trazer uma coisa que vi muitos membros pedirem e nao serem respondidos... Um Npc que vende premium account por scarab coins, itens Vips por scarab coins, e promotion por gps. Mao na massa: Vá para pasta npc de seu OT (data\npc); copie qualquer arquivo e cole renomeando para Pestar (que sera o nome do npc que eu usarei no topico, se preferir outro nome, Mude com sua preferencia). Abra-o em um bloco de notas e apague tudo dentro e adicione isto no lugar: local focus = 0 local talk_start = 0 local target = 0 local days = 0 function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') 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, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Ola ' .. creatureGetName(cid) .. '! Eu vendo VIP e itens VIP.') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Falarei com voce em alguns instantes.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'promoted') or msgcontains(msg, 'promotion') then if getPlayerVocation(cid) > 4 then selfSay('Desculpe, voce ja esta promovido.') talk_state = 0 elseif getPlayerLevel(cid) < 20 then selfSay('Voce precisa ter no minimo level 20...') talk_state = 0 elseif not getPlayerPremium(cid) then selfSay('Compre vip antes, depois eu lhe promoverei.') talk_state = 0 else selfSay('Voce quer ser promovido por 20k?') talk_state = 1 end elseif msgcontains(msg, 'premium') or msgcontains(msg, 'vip') then selfSay('Voce quer comprar 15 dias de VIP por 50 scarab Coins?') talk_state = 2 elseif talk_state == 1 then if msgcontains(msg, 'yes') then if pay(cid,20000) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay('Voce foi promovido!') else selfSay('Voce nao tem dinheiro suficiente.') end end talk_state = 0 elseif talk_state == 2 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2159,50) == TRUE then addPremium(cid,16) selfSay('Voce recebeu 15 dias de premium!') else selfSay('Sorry, you do not have scarab Coins.') end end elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'shield of honor') then if doPlayerRemoveItem(cid,2159,200) == TRUE then doPlayerAddItem(cid,2535,1) selfSay('Voce recebeu Shield of Honor!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'helmet of honor') then if doPlayerRemoveItem(cid,2159,50) == TRUE then doPlayerAddItem(cid,2506,1) selfSay('Voce recebeu Helmet of Honor!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'armor of honor') then if doPlayerRemoveItem(cid,2159,50) == TRUE then doPlayerAddItem(cid,2505,1) selfSay('Voce recebeu Armor of Honor!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'legs of honor') then if doPlayerRemoveItem(cid,2159,50) == TRUE then doPlayerAddItem(cid,2507,1) selfSay('Voce recebeu Legs of Honor!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'sword of honor') then if doPlayerRemoveItem(cid,2159,200) == TRUE then doPlayerAddItem(cid,7382,1) selfSay('Voce recebeu Sword of Honor!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'axe of honor') then if doPlayerRemoveItem(cid,2159,200) == TRUE then doPlayerAddItem(cid,7388,1) selfSay('Voce recebeu Axe of Honor!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'club of honor') then if doPlayerRemoveItem(cid,2159,200) == TRUE then doPlayerAddItem(cid,7392,1) selfSay('Voce recebeu Club of Honor!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'damage ring') then if doPlayerRemoveItem(cid,2159,150) == TRUE then doPlayerAddItem(cid,2210,1) selfSay('Voce recebeu Damage Ring!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'warrior ring') then if doPlayerRemoveItem(cid,2159,150) == TRUE then doPlayerAddItem(cid,2211,1) selfSay('Voce recebeu Warrior Ring!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'magician ring') then if doPlayerRemoveItem(cid,2159,150) == TRUE then doPlayerAddItem(cid,2212,1) selfSay('Voce recebeu Magician Ring!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'flames sword') then if doPlayerRemoveItem(cid,2159,250) == TRUE then doPlayerAddItem(cid,7748,1) selfSay('Voce recebeu Flames Sword!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'united axe') then if doPlayerRemoveItem(cid,2159,250) == TRUE then doPlayerAddItem(cid,7751,1) selfSay('Voce recebeu United Axe!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'cranial club') then if doPlayerRemoveItem(cid,2159,250) == TRUE then doPlayerAddItem(cid,7756,1) selfSay('Voce recebeu Cranial Club!') else selfSay('Sorry, you do not have scarab Coins.') end end if msgcontains(msg, 'onyx arrow') then if doPlayerRemoveItem(cid,2159,200) == TRUE then doPlayerAddItem(cid,7365,1) selfSay('Voce recebeu Onix Arrow!') else selfSay('Sorry, you do not have scarab Coins.') end end talk_state = 0 elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 4 then selfSay('Good bye then.') focus = 0 end end end Editando o NPC: (Usando exemplos do Script) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Ola ' .. creatureGetName(cid) .. '! Eu vendo VIP e itens VIP.') --Isso ele respondera ao player dizer 'hi'. elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Falarei com voce em alguns instantes.') --Isso ele respondera se chegar um player, dizer 'hi', mas outro player ja estiver falando com o Npc. elseif msgcontains(msg, 'premium') or msgcontains(msg, 'vip') then --Isso é o que o player dira para o Npc saber que ele quer comprar 'premium' ou 'vip'. selfSay('Voce quer comprar 15 dias de VIP por 50 scarab Coins?') --Isso é a resposta do Npc para o player if msgcontains(msg, 'yes') then --O player diz que 'yes', ou seja, aceita a compra de "premium". if doPlayerRemoveItem(cid,2159,50) == TRUE then --Aqui o Npc removera os scarab coins; *2159 é o ID dos scarab coins; *50 é a quantidade de scarab coins. addPremium(cid,15) --O 15 é a quantidade de dias que o Npc deu ao player. selfSay('Voce recebeu 15 dias de premium!') --Npc confirma a venda. selfSay('Sorry, you do not have scarab Coins.') --Npc diz ao player que ele nao tem scarab coins o bastante para a venda. if msgcontains(msg, 'cranial club') then --Player diz ao Npc que deseja compra o Cranial Club (nome do club em meu OT). if doPlayerRemoveItem(cid,2159,250) == TRUE then --Npc remove os scarab coins do player; *2159 é o ID dos scarab coins; *250 é a quantidade. doPlayerAddItem(cid,7756,1) --Npc dá ao player o Cranial club; *7756 é o ID do club. *1 é a quantidade. selfSay('Voce recebeu Cranial Club!') --Npc confirma a venda selfSay('Sorry, you do not have scarab Coins.') --Npc diz ao player que ele nao tem scarab coins o bastante para efetuar a compra. if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') --Apos 30 segundos sem falar com o Npc, ele se despede do player dizendo 'Next please...' Bem, é isso ai gente. Agora aproveitem o Npc e editem o que quiserem, pois com o mesmo script da de fazer bastante coisas afins em seu OT. CREDITOS: Topico 100% meu, sem direitos á CTRL+C ou CTRL+V. Deixe seu comentario, please. Obrigado, ate a proxima --EDIT-- O npc estava com um erro que eu nao percebi, ja esta arrumado e 100% funcionando. Vlw...1 ponto