Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''npc''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

  1. ola galera! gostaria de uma ajuda na criação de um npc que troca x item por 1 pokemon exemplo: escence zard x 50 >shiny charizard escence toise x 50 >shiny blastoise estarei colocando uns 40 pokes nesse npc . agradeço dmais a ajuda dos companheiros ae do forum. vlw uso base cyan by senhor
  2. Bom dia / Boa tarde / Boa noite a todos ! Estou a procura de alguns Npc's para meu Server de Pokemon. Estou focado na criação do mapa, que comecei do 0 e por isso gostaria da ajuda de vocês para que eu possa agilizar o maximo possivel. Dei uma vasculhada rápida no forum mas nao encontrei o que eu queria, então, quem puder ajudar, e quem nao puder também, fico agradecido. Peço que nao critiquem, e nem deem respostas com ofensas, afinal, não estou cobrando nada de ninguém, apenas pedindo uma ajuda a quem puder se disponibilizar. Vamos la ! OBS: Server PDA com Level e icon system. 1. Professor Carvalho. Função: - Dar a escolha dos 3 pokemons iniciais (lvl 5) e 10 pokebolas. Obs: Já tenho um no meu server, porém, ele está configurado apenas para definir e teleportar para a cidade inicial. 2. Npc de Batalha Funções: - Duelar 1x por dia com o player. - Pokemon do NPC da Xp para o seu pokemon. - Player so pode usar o numero de pokemons que o Npc possui. - Cobra um valor para batalhar. - Recompensa em dinheiro pela vitória. 3. Líder de Gym (Apenas 1, eu copio e edito os outros) Funções: - Duelar apenas 1x com o player. - Player pode usar todos os seus pokemons. - Cobrar um valor para batalhar. - Recompensa com Insignia. - Ter acesso a uma porta ou teleporte exclusivo apenas depois de vencer. 4. NPC Base para quest de task. Funções: - Matar X quantidade de pokemons selvagens. - Recompensa em dinheiro e xp para o player. 5. NPC Base para Quest de entregar itens. Funções: - NPC pede x itens. - Recompensa em itens. --------------------------------------------------------------------------------------------------//----------------------------------------------------------------------------------------------------- Possuo algumas dúvidas em relação a outras coisas também. Se alguem puder dar alguma dica de como arrumar ou conseguir as coisas abaixo, ficarei agradecido. • Independente do level selvagem do pokemon, meu poke recebe a mesma quantidade de exp. EX: Magikarp(1) - 20 xp Magikarp(5) - 20 xp • Adicionar barra de exp em baixo da barra de vida no pokemon. • Utilizar um sistema que quanto mais leveis o pokemom upe com o player, mais forte ele será. E mostrar a quantidade de leveis upados no look da ball. EX: Caterpie capturado no level 1 e upado até o level 10, será mais forte que um caterpie no level 10. EX BALL: Caterpie(10)[+9] --------------------------------------------------------------------------------------------------//----------------------------------------------------------------------------------------------------- Agradeço a todos pela coompreensão e por tirar um tempinho a ler o post. Qualquer coisa podem entrar em contato direto cmg por uma sala hamachi. Sala thloko, Senha 1234.
  3. Alguém poderia me ajudar resolver o problema do meu ginasio? Meu script esta configurado com as seguintes mensagens Sabrina: Hello G U M B A L L, my name is Sabrina and I'm Saffron's Gym Leader. How may I help you? 12:48 G U M B A L L: battle 12:48 Sabrina: To battle agains't a gym leader you need pokemons. ja tentei falar com ela com o pokémon pra fora mas não funciona,ela não faz nada SE PUDEREM ME AJUDAR DOU REP
  4. Saudações, xTibianos! Hoje venho lhes trazer um npc desenvolvido por mim, cuja ideia foi de nosso ADM @Daniel. Antes de mais nada, gostaria de avisar: o NPC possui uma GRANDE possibilidade de customização. Você pode escolher quais sistemas você vai quer que ele tenha, pode escolher se vai usar prisão ou não, pode escolher o tempo de punição ao membro infrator, etc. Sistemas presentes Esse NPC possui os seguintes sistemas: Anti-bot system Qualquer jogador pode ir até o NPC e denunciar algum outro jogador (que provavelmente esteja usando bot). O NPC então enviará uma checagem de bot ao jogador denunciado. Caso o jogador denunciado não responda a checagem dentro do tempo hábil, ele será punido (enviado para uma prisão ou kickado). Power Abuse system Esse sistema serve para punir aqueles membros de level alto que ficam fazendo "free kill" (matando jogadores mais fracos abusivamente). Qualquer jogador (qualquer level) pode ir até o npc e denunciar algum outro jogador (level maior) alegando que ele sofreu power abuse. O npc fará uma checagem, e se o jogador denunciante tiver sido morto um minimo de X vezes (configurável) por aquele jogador denunciado, o jogador denunciado será punido (mandado pra prisão ou kickado). Aparência do NPC Esse é o NPC, visualmente falando: inspiração: Instalação Agora chega de enrolação, vamos à instalação do npc: » Vá na pasta mods, crie um arquivo chamado JusticeiroMods.xml e coloque isso dentro: *atente-se para essa parte configurável do script acima: *nessa parte, o strBot e o strPwrAbs devem ser iguais aos informados no arquivo Justiceiro.lua que será mostrado mais abaixo » Agora vá na pasta data\npc, crie um arquivo chamado Justiceiro.xml e coloque isso dentro: » Agora vá na pasta data\npc\scripts, crie um arquivo chamado Justiceiro.lua e coloque isso dentro: *atente-se para essa parte configurável do script acima: -----------------------------------------------------------------------------------------------------------------------------------------------------PARTE CONFIGURAVEL----------------------------------PARTE CONFIGURAVEL------------------------------PARTE CONFIGURAVEL------------------------------------------------------------------------------------------------------------------------------------------------------------------------local usarAntiBot = "sim" --coloque "nao" caso não queira usar o anti-bot do npclocal usarPowerAbuse= "sim" --coloque "nao" caso não queira usar o power abuse system do npclocal cadeia = "sim" --use "sim" caso vc queira mandar o infrator para a cadeia, ou "nao" caso vc nao tenha uma cadeialocal cadeiaPos = { --coordenadas das celas da cadeia, para caso vc tenha colocado o 'cadeia = "sim"' no campo acima[1] = {coord = {x = 32314, y = 32280, z = 8}, preso={}--[[DEIXE ISSO VAZIO]]}, --ponha as coordenadas da cela 1[2] = {coord = {x = 32317, y = 32280, z = 8}, preso={}--[[DEIXE ISSO VAZIO]]}, --ponha as coordenadas da cela 2[3] = {coord = {x = 32320, y = 32280, z = 8}, preso={}--[[DEIXE ISSO VAZIO]]}, --ponha as coordenadas da cela 3[4] = {coord = {x = 32322, y = 32280, z = 8}, preso={}--[[DEIXE ISSO VAZIO]]}, --ponha as coordenadas da cela 4}local tempoBot = 5 --tempo em minutos para o player reportado como botter responder a verificaçãolocal tempoPunicao = 60 --tempo em minutos que o infrator ficara presolocal maxDeath = 7 --quantidade de mortes "desbalanceadas" (player mais fraco contra palyer muito mais forte) considerada como power abuselocal cooldown = 30 --tempo em segundos para o denunciante poder fazer outra denuncialocal strBotDen = 690110local strBot = 69011local strPwrAbsDen = 690120local strPwrAbs = 69012-------------------------------------------------------------------------------------------------------------------------------------------------FIM DA PARTE CONFIGURAVEL-----------------------FIM DA PARTE CONFIGURAVEL---------------------FIM DA PARTE CONFIGURAVEL--------------------------------------------------------------------------------------------------------------------------------------------------------------------- obs: lembrando que você pode adicionar QUANTAS CELAS QUISER! Basta seguir a lógica da tabela relacionada as celas. obs²: e não esqueça de ler as instruções contidas em cada linha dessa parte do script! Como usá-lo em meu servidor? (recomendação) Eu recomendo também usar em seu servidor algum sistema automático de anti-bot, além do npc. -Por quê? Porque dessa forma dificultará a vida do botter. Digamos que o sistema automático faça mande uma checagem para todos os jogadores a cada 1 hora. Sem o meu npc, o botter pode entrar a cada hora no server e responder a checagem automática. Já tendo o meu npc, o botter pode receber uma checagem de bot a qualquer instante (pois qualquer membro pode fazer a denuncia a qualquer instante). Assim, ele não terá uma previsão de tempo para que ele volte à janela do tibia somente para responder a checagem do bot. Mapa de prisão Bom, galera, esse é o npc. Se você quiser usar o sistema de prisão mas não tiver uma prisão em seu server, aqui tem uma prisão feita pelo @Daniel para que vocês possam baixar e usar em conjunto com esse sistema: http://www.xtibia.com/forum/topico/240867-86-pris%C3%A3o-30-celas/ Eu testei todo esse sistema que nem um condenado. Não consegui achar nenhuma falha. Então se alguém encontrar alguma falha, por favor relate-a no campo de comentários abaixo. Por hoje é isso, pessoal. Até a próxima. Abraços. Não autorizo a postagem desse conteúdo sem meus devidos créditos!
  5. alguem poderia coloca nesse script de npc que vende bless para vender todas as bless como uma so tipo all bless, e colocar para so player premium comprar bless com uma msg ex: You not have(Premium account)! local config = { -- [bless] = preços [5] = {"Blessing", 500000}}local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid for k, v in pairs(config) do if v[1]:lower():find(msg:lower()) then selfSay("You are sure?", cid) talkState[talkUser] = k end if msgcontains(msg:lower(), "yes") then if talkState[talkUser] == k then if not getPlayerBlessing(cid, k) then if doPlayerRemoveMoney(cid, v[2]) then doPlayerAddBlessing(cid, k) selfSay("You received the bless " .. v[1]:gsub("The ", "", 1) .. "!", cid) doSendMagicEffect(getThingPos(cid), 10) else selfSay("You no have money.", cid) end else selfSay("You have " .. v[1] .. ".", cid) end talkState[talkUser] = 0 end end end if msgcontains(msg:lower(), "no") and talkState[talkUser] >= 1 then selfSay("Bye!!", cid) talkState[talkUser] = 0 end return trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) <?xml version="1.0" encoding="UTF-8"?><npc name="Blessed Tapion" script="bless.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="557" head="20" body="39" legs="45" feet="7" addons="0"/> <parameters><parameter key="message_greet" value="I am here to bless you, say {bless}." /><parameter key="message_farewell" value="Good bye, |PLAYERNAME|!" /><parameter key="message_idletimeout" value="Good bye, |PLAYERNAME|!" /></parameters></npc>
  6. como faço um npc que so responde se o player tiver certa storage? por exemplo: JOGADOR SEM STORAGE: hi NPC: você não pode fazer essa quest aidna, porque nao tem X storage! fim
  7. Aviso Esse script precisa do Advanced Guild System instalado corretamente para funcionar. Informações Esse é um NPC que gerencia as contas bancárias de uma guilda. Antes de qualquer coisa, o líder da guilda deve ir até ele e criar uma conta, definindo as permissões para os membros sacarem e depositarem na conta. Somente o líder da guilda terá a opção de mudar as permissões. Ele também poderá monitorar as transações feitas na conta, que ficarão salvas em um arquivo .txt (para isso deverá ser criada uma pasta chamada guild_bank dentro da pasta principal do seu OTS). Códigos Salve como guildbank.lua em npcs/scripts: Salve como Boris.xml em npcs: Agora é só colocar o NPC Boris no mapa e pronto.
  8. galera, postaram em um outro forum o script pro npc sempre olhar pro sul... é so alterar isso change[lua]function onThink() npcHandler:eek:nThink() end[/lua]to[lua]function onThink() if #npcHandler.focuses == 0 then selfTurn(EAST) end npcHandler:eek:nThink() end[/lua] ai eu te pergunto.... esse script pode lagar o server? pq a função usada é onThink, ou seja, ela sempre vai serexecutada a cada segundo?
  9. como faço para um npc nascer virado para baixo? e outro virado para o lado direito?
  10. Salve galera, eu tenho um sisteminha de travel, porem ele ta com um problema que não estou sabendo solucionar. Eu falo com o npc ele responde normalmente, porem quando eu falo o nome do local que quero ir ele não teleporta, nem da sinal de vida. npcs/Kollys Captain.xml <npc name="Kollys Captain" script="data/npc/scripts/captain.lua" walkinterval="1000" floorchange="0" ><health now="150" max="150"/><look type="98" head="0" body="0" legs="0" feet="0" corpse="6080"/><parameters><parameter key="message_greet" value="Ola |PLAYERNAME|. ! Eu posso te levar para {Fire Hunt} e a ilha dos {Condenados}, Onde deseja ir?" /><parameter key="message_decline" value="Vai custar |TOTALCOST| gold coins. Vai viajar?!"/></parameters></npc> npcs/script/captain.lua local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions startfunction onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() end-- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!local travelNode = keywordHandler:addKeyword({'Fire Hunt'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer viajar para central por 10000 gold coins?'})travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 300, cost = 0, destination = {x=485, y=659, z=15} })travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions!local travelNode = keywordHandler:addKeyword({'Condenados'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce quer viajar para ilha dos condenados por 10000 gold coins?'})travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 300, cost = 0, destination = {x=1213, y=255, z=9} })travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'I wouldn\'t go there either.'}) -- Makes sure the npc reacts when you say hi, bye etc.npcHandler:addModule(FocusModule:new())
  11. Boa noite galerinha, procurei bastante e não consegui achar, se alguém tiver e puder fornecer... Script: Npc Cassino , com dado L OU H (DICE) . aposta minima 50k e máxima 1kk
  12. Olá, estou usando atualmente em meu server o sistema de spells por trade, do vodkart: Eu editei um pouco e está assim no meu ot: 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 local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local shopWindow = {} local spells = { {id=1950, buy = 900, name = "Exori Mort", spell_name = "Death Strike", vocations = {1}, level = 9}, {id=6103, buy = 1500, name = "Exevo Flam Hur", spell_name = "Fire Wave", vocations = {1}, level = 9}, {id=1961, buy = 600, name = "Light Healing", spell_name = "Exura", vocations = {1}, level = 9}, {id=1986, buy = 2000, name = "Haste", spell_name = "Utani Hur", vocations = {1}, level = 19}, {id=1955, buy = 1400, name = "Cure Burning", spell_name = "Exana Flam", vocations = {1}, level = 19}, {id=1963, buy = 1400, name = "Cure Eletrification", spell_name = "Exana Vis", vocations = {1}, level = 19}, {id=1984, buy = 1600, name = "Cure Curse", spell_name = "Exana Mort", vocations = {1}, level = 19}, {id=12655, buy = 3600, name = "Intense Healing", spell_name = "Exura Gran", vocations = {1}, level = 29}, {id=1960, buy = 5000, name = "Energy Beam", spell_name = "Exexvo Vis Lux", vocations = {1}, level = 29}, {id=1959, buy = 6800, name = "Mort Wave", spell_name = "Exexvo Mort Hur", vocations = {1}, level = 29}, {id=1976, buy = 7450, name = "Energy Wave", spell_name = "Exexvo Vis Hur", vocations = {1}, level = 39}, {id=1965, buy = 5400, name = "Strong Energy Strike", spell_name = "Exori Gran Vis", vocations = {1}, level = 39}, {id=1983, buy = 5500, name = "Fire Spirit", spell_name = "Spirit", vocations = {1}, level = 39}, {id=1959, buy = 4400, name = "Magic Shield", spell_name = "Utamo Vita", vocations = {1}, level = 39}, {id=8190, buy = 18000, name = "Gran Mort Wave", spell_name = "Exevo Dead Hur", vocations = {1}, level = 49}, {id=1962, buy = 15000, name = "Strong Flame Strike", spell_name = "Exori Gran Flam", vocations = {1}, level = 49}, {id=1982, buy = 9200, name = "Strong Haste", spell_name = "Utani Gran Hur", vocations = {1}, level = 49}, {id=10062, buy = 45000, name = "Rage of the Skies", spell_name = "Exevo Gran Mas Vis", vocations = {1}, level = 59}, {id=10942, buy = 55000, name = "Hells Core", spell_name = "Exevo Gran Mas Flam", vocations = {1}, level = 59}, {id=11134, buy = 29000, name = "Dark", spell_name = "Dark Conjurer", vocations = {1}, level = 59} } local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks) if not getPlayerLearnedInstantSpell(cid, shopWindow[item].Words) then if getPlayerLevel(cid) >= shopWindow[item].Level then if isInArray(shopWindow[item].Vocs, getPlayerVocation(cid)) then doPlayerRemoveMoney(cid, shopWindow[item].Price) doPlayerLearnInstantSpell(cid, shopWindow[item].Words) npcHandler:say("você aprendeu uma nova magia chamada "..shopWindow[item].Words, cid) else npcHandler:say("você não tem a vocação para comprar está spell.", cid) end else npcHandler:say("você precisa ter level "..shopWindow[item].Level.." ou mais para comprar essa magia.", cid) end else npcHandler:say("você já aprendeu essa magia.", cid) end return true end if msgcontains(msg, 'trade') or msgcontains(msg, 'spells') then for var, item in pairs(spells) do shopWindow[item.id] = {Level = item.level, Vocs = item.vocations, item_id = item.id, Price = item.buy, subType = 0, Words = item.spell_name, SpellName = item.name} end openShopWindow(cid, spells, onBuy, onSell) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) No meu server não tem promotion, e tem magias editadas como se percebe. Também já editei todas no spells.xml, para os players terem que comprarem pra usá-las. Eu to testando aqui e, só as duas primeiras spells da lista dão para comprar, as outras eu gasto dinheiro mas não consigo soltar a spells =x
  13. Item Queria um item que ao voce dar use no item ficasse invisivel (GHOST) De monstros e players por um determinado tempo (configuravel) E o player q uso ficasse com effect como se tivesse usado utana vid... Npc Bom Queria um NPC que ao voce falar com ele e matar XX montros (configuravel) ele te daria acesso a 1 passagem... preciso so de um npc que te da XX storage o caminho eu sei criar...
  14. bom dia alguem pode me ajudar to usando a bless no ot igual a global mais to com problema nas script dos npc SOMENTE O NPC DE CARLIN VENDE CERTO A BLESS O RESTANTE PARA NA MSG ABAIXO. DEPOIS DO YES ELE NAO FALA MAIS NADA NEM VENDE A BLESS TODOS OS OUTROS TAO ASIM SOMENTE CARLIN FUNCIONA CERTO. 12:15 Edala: Welcome, noble Caue. I can provide you with bless. 12:15 Caue [8]: bless 12:15 Edala: I can bless you with The Fire of the Suns or third bless 12:15 Caue [8]: fire of the suns 12:15 Edala: Here on the Suntower you may receive the blessing The Fire of The Suns. But we must ask of you to sacrifice 2000 gold. Are you still interested? 12:15 Caue [8]: yes
  15. Iae galera To dando inicio a um projeto Mapa global 8.6 Pretendo cria projeto old global 8.6,Ja possuo vps para criação do servidor e o dedicado para abertura oficial. TO ABRINDO VAGA PARA MINHA EQUIPE VAGAS URGENTE < Scripter ProGramaDor > Experiente em Quests. Venha Fazer Parte Nossa Equipe > TibiaRetro<
  16. Boa Tarde, Galerinha do xtibia! Gostaria de Pedir sua ajuda para um sistema que quero implantar. No meu servidor de Pokemon e creio que na maioria deles, Há um NPC que compra Pokemons por uma determinada quantia em Dinheiro. Gostaria de Adaptar o meu Script para em vez de o NPC comprar os Pokemons ele vender, só que ao invés de ser por dinheiro ser por outro item a minha escolha (Ex: Diamonds). Abaixo, segue o script do npc que utilizo será que podem me ajudar a adaptar esse script e se não der será que podem me passar um que funcione dessa forma. Agradeço desde já e aguardo respostas. Pokemon Collector.xml local focus = 0 local talk_start = 0 local conv = 0 local cost = 0 local pname = "" local baseprice = 0 local pokePrice = { ["Charmander"] = 3000, ["Charmeleon"] = 8000, ["Charizard"] = 18000, ["Bulbasaur"] = 3000, ["Ivysaur"] = 8000, ["Venusaur"] = 18000, ["Squirtle"] = 3000, ["Wartortle"] = 8000, ["Blastoise"] = 18000, ["Caterpie"] = 50, ["Metapod"] = 250, ["Butterfree"] = 2000, ["Weedle"] = 50, ["Kakuna"] = 250, ["Beedrill"] = 2000, ["Pidgey"] = 60, ["Pidgeotto"] = 1500, ["Pidgeot"] = 11500, ["Rattata"] = 5, ["Raticate"] = 2000, ["Spearow"] = 100, ["Fearow"] = 5100, ["Ekans"] = 300, ["Arbok"] = 3000, ["Pikachu"] = 8000, ["Raichu"] = 18000, ["Sandshrew"] = 1000, ["Sandslash"] = 11000, ["Nidoran Female"] = 125, ["Nidorina"] = 2250, ["Nidoqueen"] = 12250, ["Nidoran Male"] = 125, ["Nidorino"] = 2250, ["Nidoqueen"] = 12250, ["Clefairy"] = 8000, ["Clefable"] = 18000, ["Vulpix"] = 1000, ["Ninetales"] = 11000, ["Jigglypuff"] = 8000, ["Wigglytuff"] = 18000, ["Zubat"] = 120, ["Golbat"] = 3000, ["Oddish"] = 80, ["Gloom"] = 2250, ["Vileplume"] = 12000, ["Paras"] = 60, ["Parasect"] = 7250, ["Venonat"] = 1500, ["Venomoth"] = 7250, ["Diglett"] = 200, ["Dugtrio"] = 3000, ["Meowth"] = 300, ["Persian"] = 3000, ["Psyduck"] = 1500, ["Golduck"] = 11500, ["Mankey"] = 300, ["Primeape"] = 7250, ["Growlithe"] = 3500, ["Arcanine"] = 60000, ["Poliwag"] = 80, ["Poliwhirl"] = 3000, ["Poliwrath"] = 13000, ["Abra"] = 800, ["Kadabra"] = 5800, ["Alakazam"] = 16000, ["Machop"] = 2000, ["Machoke"] = 7000, ["Machamp"] = 17000, ["Bellsprout"] = 80, ["Wepinbell"] = 2250, ["Victreebel"] = 12000, ["Tentacool"] = 300, ["Tentacruel"] = 10000, ["Geodude"] = 300, ["Graveler"] = 5000, ["Golem"] = 15000, ["Ponyta"] = 1500, ["Rapidash"] = 6500, ["Slowpoke"] = 400, ["Slowbro"] = 8000, ["Magnemite"] = 400, ["Magneton"] = 5400, ["Farfetch'd"] = 7000, ["Doduo"] = 600, ["Dodrio"] = 5600, ["Seel"] = 2000, ["Dewgong"] = 12000, ["Grimer"] = 300, ["Muk"] = 11000, ["Shellder"] = 200, ["Cloyster"] = 10200, ["Gastly"] = 3000, ["Haunter"] = 8000, ["Gengar"] = 18000, ["Onix"] = 6000, ["Drowzee"] = 1000, ["Hypno"] = 6000, ["Krabby"] = 200, ["Kingler"] = 5200, ["Voltorb"] = 250, ["Electrode"] = 3000, ["Exeggute"] = 200, ["Exeggutor"] = 10000, ["Cubone"] = 1000, ["Marowak"] = 11000, ["Hitmonlee"] = 20000, ["Hitmonchan"] = 20000, ["Lickitung"] = 60000, ["Koffing"] = 300, ["Weezing"] = 3000, ["Rhyhorn"] = 3000, ["Rhydon"] = 13000, ["Chansey"] = 40000, ["Tangela"] = 10000, ["Kangaskhan"] = 120000, ["Horsea"] = 200, ["Seadra"] = 5500, ["Goldeen"] = 200, ["Seaking"] = 3000, ["Staryu"] = 400, ["Starmie"] = 3000, ["Mr. Mime"] = 120000, ["Scyther"] = 120000, ["Jynx"] = 120000, ["Electabuzz"] = 120000, ["Magmar"] = 120000, ["Pinsir"] = 9000, ["Tauros"] = 5000, ["Magikarp"] = 5, ["Gyarados"] = 5000, ["Lapras"] = 120000, ["Ditto"] = 70000, ["Eevee"] = 45000, ["Vaporeon"] = 50000, ["Jolteon"] = 50000, ["Flareon"] = 50000, ["Porygon"] = 60000, ["Omanyte"] = 20000, ["Omastar"] = 75000, ["Kabuto"] = 2000, ["Kabutops"] = 75000, ["Aerodactyl"] = 2000000, ["Snorlax"] = 200000, ["Dratini"] = 15000, ["Dragonair"] = 65000, ["Dragonite"] = 125000, -- Segunda Geração ["Chikorita"] = 3000, ["Bayleef"] = 8000, ["Meganium"] = 18000, ["Cydaquil"] = 3000, ["Quilava"] = 8000, ["Typhlosion"] = 18000, ["Totodile"] = 3000, ["Croconaw"] = 8000, ["Feraligatr"] = 18000, ["Sentret"] = 250, ["Furret"] = 3000, ["Hoothoot"] = 1500, ["Noctowl"] = 11500, ["Ledyba"] = 250, ["Ledian"] = 3000, ["Spinarak"] = 250, ["Ariados"] = 3000, ["Crobat"] = 58000, ["Chinchou"] = 1000, ["Lanturn"] = 6000, ["Pichu"] = 3000, ["Cleffa"] = 3000, ["Igglybuff"] = 3000, ["Togepi"] = 15000, ["Togetic"] = 25000, ["Natu"] = 3000, ["Xatu"] = 130000, ["Mareep"] = 3000, ["Flaaffy"] = 8000, ["Ampharos"] = 18000, ["Bellossom"] = 12000, ["Marill"] = 3000, ["Azumarill"] = 13000, ["Sudowoodo"] = 120000, ["Politoed"] = 8000, ["Hoppip"] = 80, ["Skiploom"] = 2250, ["Jumpluff"] = 12000, ["Aipom"] = 8000, ["Sunkern"] = 50, ["Sunflora"] = 5000, ["Yanma"] = 9000, ["Wooper"] = 2000, ["Quagsire"] = 12000, ["Espeon"] = 50000, ["Umbreon"] = 50000, ["Murkrow"] = 10000, ["Slowking"] = 11000, ["Misdreavus"] = 100000, ["Wobbuffet"] = 200000, ["Girafarig"] = 120000, ["Pineco"] = 300, ["Forretress"] = 10000, ["Dunsparce"] = 3000, ["Gligar"] = 8000, ["Steelix"] = 110000, ["Snubbull"] = 22500, ["Granbull"] = 12500, ["Qwilfish"] = 10000, ["Scizor"] = 220000, ["Shuckle"] = 3500, ["Heracross"] = 120000, ["Sneasel"] = 10000, ["Teddiursa"] = 80000, ["Ursaring"] = 150000, ["Slugma"] = 1000, ["Magcargo"] = 11000, ["Swinub"] = 1000, ["Piloswine"] = 11000, ["Corsola"] = 9000, ["Remoraid"] = 200, ["Octillery"] = 10000, ["Delibird"] = 10000, ["Mantine"] = 120000, ["Skarmory"] = 120000, ["Houndour"] = 35000, ["Houndoom"] = 13500, ["kingdra"] = 70000, ["Phanpy"] = 3000, ["Donphan"] = 13000, ["Porygon2"] = 120000, ["Stantler"] = 10000, ["Tyrogue"] = 150000, ["Hitmontop"] = 50000, ["Smoochum"] = 45000, ["Elikid"] = 45000, ["Magby"] = 45000, ["Miltank"] = 120000, ["Blissey"] = 140000, ["Larvitar"] = 15000, ["Pupitar"] = 65000, ["Electivire"] = 125000, ["Magmortar"] = 125000, ["Tyranitar"] = 125000, -- shiny -- ["Shiny Fearow"] = 1500000, ["Shiny Vileplume"] = 1500000, ["Shiny Golem"] = 1500000, ["Shiny Nidoking"] = 1500000, ["Shiny Hypno"] = 1500000, ["Shiny Vaporeon"] = 1500000, ["Shiny Jolteon"] = 1500000, ["Shiny Flareon"] = 1500000, ["Shiny Hitmontop"] = 1500000, } local gastostones = { [0] = 0, [1] = 1, [2] = 2, [3] = 3, [4] = 4, [5] = 6, [6] = 8, [7] = 10, [8] = 12, [9] = 15, [10] = 18, [11] = 21, [12] = 24, [13] = 28, [14] = 32, [15] = 36, [16] = 40, [17] = 45, [18] = 50, [19] = 55, [20] = 60, [21] = 66, [22] = 72, [23] = 78, [24] = 84, [25] = 91, [26] = 98, [27] = 105, [28] = 112, [29] = 120, [30] = 128, [31] = 136, [32] = 144, [33] = 153, [34] = 162, [35] = 171, [36] = 180, [37] = 190, [38] = 200, [39] = 210, [40] = 220, [41] = 231, [42] = 242, [43] = 253, [44] = 264, [45] = 276, [46] = 288, [47] = 300, [48] = 312, [49] = 325, [50] = 338, } function sellPokemon(cid, name, price) local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK) if #getCreatureSummons(cid) >= 1 then selfSay("Back your pokemon to do that!") focus = 0 --alterado v1.8 return true end local storages = {17000, 63215, 17001, 13008, 5700} --alterado v1.8 for s = 1, #storages do if getPlayerStorageValue(cid, storages) >= 1 then selfSay("You can't do that while is Flying, Riding, Surfing, Diving or mount a bike!") focus = 0 return true end end if getPlayerSlotItem(cid, 8).uid ~= 0 then local boosts = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "boost") or 0 local precocertos = ((gastostones[boosts] * 10) * 100000) if string.lower(getItemAttribute(getPlayerSlotItem(cid, 8).uid, "poke")) == string.lower(name) then if not getItemAttribute(getPlayerSlotItem(cid, 8).uid, "unique") then --alterado v1.6 selfSay("Wow! Thanks for this wonderful "..name.."! Take yours "..price.." dollars. Would you like to sell another pokemon?") doPlayerAddMoney(cid, (price * 100) + precocertos) doRemoveItem(getPlayerSlotItem(cid, 8).uid, 1) --alterado v1.6 doTransformItem(getPlayerSlotItem(cid, CONST_SLOT_LEGS).uid, 2395) return true end end end for a, b in pairs(pokeballs) do local balls = getItemsInContainerById(bp.uid, b.on) for _, ball in pairs (balls) do local boost = getItemAttribute(ball, "boost") or 0 local precocerto = ((gastostones[boost] * 5) * 100000) if string.lower(getItemAttribute(ball, "poke")) == string.lower(name) then if not getItemAttribute(ball, "unique") then --alterado v1.6 selfSay("Wow! Thanks for this wonderful "..getItemAttribute(ball, "poke").."! Take yours "..price.." dollars. Would you like to sell another pokemon?") doPlayerAddMoney(cid, (price * 100) + precocerto) doRemoveItem(ball, 1) return true end end end end selfSay("You don't have a "..name..", make sure it is in your backpack and it is not fainted and it is not in a Unique Ball!") --alterado v1.6 return false end function onCreatureSay(cid, type, msg) local msg = string.lower(msg) if string.find(msg, "!") or string.find(msg, ",") then return true end if focus == cid then talk_start = os.clock() end if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 3 then selfSay('Welcome to my store! I buy pokemons of all species, just tell me the name of the pokemon you want to sell.') focus = cid conv = 1 talk_start = os.clock() cost = 0 pname = "" return true end if msgcontains(msg, 'bye') and focus == cid then selfSay('See you around then!') focus = 0 return true end if msgcontains(msg, 'yes') and focus == cid and conv == 4 then selfSay('Tell me the name of the pokemon you would like to sell.') conv = 1 return true end if msgcontains(msg, 'no') and conv == 4 and focus == cid then selfSay('Ok, see you around then!') focus = 0 return true end local common = {"rattata", "caterpie", "weedle", "magikarp"} if conv == 1 and focus == cid then for a = 1, #common do if msgcontains(msg, common[a]) then selfSay('I dont buy such a common pokemon!') return true end end end if msgcontains(msg, 'no') and conv == 3 and focus == cid then selfSay('Well, then what pokemon would you like to sell?') conv = 1 return true end if (conv == 1 or conv == 4) and focus == cid then local name = doCorrectPokemonName(msg) local pokemon = pokes[name] if not pokemon then selfSay("Sorry, I don't know what pokemon you're talking about! Are you sure you spelled it correctly?") return true end baseprice = pokePrice[name] or math.floor(pokemon.level * 150) --alterado v1.6 cost = baseprice pname = name selfSay("Are you sure you want to sell a "..name.." for "..cost.." dollars + boost?") conv = 3 end if isConfirmMsg(msg) and focus == cid and conv == 3 then if sellPokemon(cid, pname, cost) then conv = 4 else conv = 1 end return true end end local intervalmin = 38 local intervalmax = 70 local delay = 25 local number = 1 local messages = {"Buying some beautiful pokemons! Come here to sell them!", "Wanna sell a pokemon? Came to the right place!", "Buy pokemon! Excellent offers!", "Tired of a pokemon? Why don't you sell it to me then?", } 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) > 70 then focus = 0 selfSay("I have other clients too, talk to me when you feel like selling a pokemon.") end if getDistanceToCreature(focus) > 3 then selfSay("Good bye then and thanks!") focus = 0 return true end local dir = doDirectPos(npcpos, focpos) selfTurn(dir) end return true end
  17. Bom galera quando se fala em Minoru vocês falam que e aquele dos ntos (narutos) base, presente no forum mas não , bom o Minrou e quase igual a ele , mais a unica diferencia e que quando de hi / viagem / konoha / já ir direto ao destino (KONOHA). não precisar da yes exemplo : hi / viagem / konoha / yes / , só quero que ao viajar não use o yes quero que seja dessa maneira , (hi / viagem / konoha ) porque isso ? porque muitos usam bug do minoru se o Player X , ficar falando konoha , konoha ,konoha - mesmo sendo mutado , o Player Y for lá também e falar suna e dps yes ela vai pra konoha por causa do player X floodando o nome konoha, então será possivel retirar o yes do Minoru , e só por para falar o nome da cidade escolhida e ir ao destino ??? Rep ++
  18. Ola galera, entao ... tava querendo ver se alguem disponibiliza um script de npc que funcionasse da seguinte forma.. Um npc normal vendendo items. So que teria uma limitação de compras ! Exe: Npc vende Magic Plate, mas eu queria que ele vendesse apenas 5 magic plate, despois que vendesse as 5 magic plate acabaria o estoque e nao poderia vender mais !Sera que alguem pode me ajudar ? Grato desde ja
  19. Iae galera.. Queria saber se alguém pode disponibilizar um script que funcione de certa maneira... Um char compra um item pelo certo comando ''!buywand''. Mas essa ''Wand'' seria vendida por 7 items.. seria como trocar 7 items pela WAND. Sera que alguem pode ajudar ? - AGRADEÇO DESDE DE JA !
  20. gostaria de um npc que troca por exemplo 50 brown piece of cloth + 200 gold por uma JACKET
  21. deglorio

    Ajuda Random NPC

    O @Bodak Reborn fez um NPC Daily. Ele funciona perfeitamente, ai fiz uma cópia de outros 3 NPC mudando os pokemons random e as storages. Até ai beleza, porém quando eu falo com primeiro NPC hi, task, ai ele manda um random X. Ai vou no outro NPC e falo hi, task, ele manda outro random. Beleza até ai, mas se eu voltar no primeiro npc, ele manda o random do NPC 2. Segue o npc dele. 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 local tasks = { [1] = {name = "Blastoise", qnt = 20, npc = "Junko"}, [2] = {name = "Electabuzz", qnt = 15, npc = "Junko"}, [3] = {name = "Venusaur", qnt = 18, npc = "Junko"}, [4] = {name = "Charizard", qnt = 27, npc = "Junko"}, } local function getRandomTaskMonster1 () local randomTask = math.random(#tasks) local taskPokemon = tasks[randomTask].name return taskPokemon end local function getRandomTaskMonster2 () local randomTask2 = math.random(#tasks) local taskPokemon2 = tasks[randomTask2].name return taskPokemon2 end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local msg = msg:lower() if msgcontains(msg, "task") then qntLeft = 84956 gotDaily = 84957 fixedPokemon = 84958 daily = 5619846 check = 84959 done = 84960 if getPlayerStorageValue (cid, gotDaily) == 1 then if getPlayerStorageValue (cid, done) == 1 then selfSay ("Thank you! Was incredible!", cid) talkState[talkUser] = 0 return true elseif getPlayerStorageValue (cid, qntLeft) == 0 then selfSay ("Did you kill all of them?", cid) setPlayerStorageValue (cid, check, 1) talkState[talkUser] = 2 return true elseif getPlayerStorageValue(cid, 25588) > os.time() then selfSay("You have to wait 24h to do my task again!", cid) talkState[talkUser] = 0 return true elseif getPlayerStorageValue (cid, daily) ~= 0 and getPlayerStorageValue (cid, daily) ~= -1 then if getPlayerStorageValue (cid, qntLeft) >= 0 then local n = string.explode(getPlayerStorageValue (cid, daily), " ") local str = string.sub(getPlayerStorageValue (cid, daily), 1, 1) local sta = string.sub(getPlayerStorageValue (cid, daily), 2, string.len(getPlayerStorageValue (cid, daily))) name = ""..string.upper(str)..""..string.lower(sta).."" selfSay("What are you waiting for? Go kill the remaining "..getPlayerStorageValue (cid, qntLeft).." "..name.."!", cid) talkState[talkUser] = 2 return true end end end if getPlayerStorageValue (cid, fixedPokemon) ~= 1 then randomName1 = getRandomTaskMonster1 () randomName2 = getRandomTaskMonster2 () while randomName1 == randomName2 do randomName1 = getRandomTaskMonster1 () randomName2 = getRandomTaskMonster2 () end for i = 1, #tasks do if tasks[i].name == randomName1 then qnt1 = tasks[i].qnt end if tasks[i].name == randomName2 then qnt2 = tasks[i].qnt end end setPlayerStorageValue (cid, fixedPokemon, 1) end selfSay("Which you prefer? "..qnt1.." "..randomName1.." or "..qnt2.." "..randomName2.."?", cid) talkState[talkUser] = 1 return true elseif (msg == randomName1:lower() or msg == randomName2:lower()) and talkState[talkUser] == 1 then decide = msg selfSay("Are you sure?", cid) talkState[talkUser] = 2 return true elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then if getPlayerStorageValue (cid, check) == 1 then selfSay ("Thank you! That was incredible, i can't believe you kill all of them!", cid) setPlayerStorageValue(cid, sto, -1) doPlayerAddExperience(cid, 1500000) doPlayerAddItem(cid, 2160, 25) local sto = 5646132 setPlayerStorageValue(cid, sto, -1) setPlayerStorageValue(cid, 25566, os.time() + 24*60*60) setPlayerStorageValue(cid, 181601, 1) setPlayerStorageValue(cid, 181602, 1) setPlayerStorageValue(cid, qntLeft, -1) setPlayerStorageValue(cid, done, 1) talkState[talkUser] = 0 end if getPlayerStorageValue (cid, gotDaily) == 1 then return true end setPlayerStorageValue (cid, daily, decide) setPlayerStorageValue (cid, gotDaily, 1) for i = 1, #tasks do if tasks[i].name:lower() == getPlayerStorageValue (cid, daily) then qnt = tasks[i].qnt end end setPlayerStorageValue (cid, qntLeft, qnt) local sto = getFreeTaskStorage(cid) if sto == -1 then selfSay("You can't catch more tasks! You are already with the maximum of "..(maxTasks).." tasks!", cid) talkState[talkUser] = 0 return true end local n = string.explode(getPlayerStorageValue (cid, daily), " ") local str = string.sub(getPlayerStorageValue (cid, daily), 1, 1) local sta = string.sub(getPlayerStorageValue (cid, daily), 2, string.len(getPlayerStorageValue (cid, daily))) name = ""..string.upper(str)..""..string.lower(sta).."" local storage = 154721 setPlayerStorageValue (cid, storage, name.."/"..qnt) selfSay("OK kill all, good luck!", cid) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Se alguém puder me ajudar nessa parte.
  22. eae galera fmz queria saber 1 npc que fale "Voçe nao e Digno de Passar Por Min, Apenas Anbu,Akatsuki e Sennin Podem Passar por min" Storage Anbu Storage Akatsuki Storage Sennin Rep Pra que ajuda
  23. Fjinst

    Juntar dois Npcs

    Olá, gostaria de pedir um favor para vocês, tenho dois npcs aqui comigo, um que vende items só por moeda especifica e outro que vende magias abrindo o module trade Gostaria de pedir para juntar esses dois npcs no sentido que o npc que vende magia pelo trade, só venda por moeda especifica, só isso Resumindo: Npc de magia que vende a magia por moeda especifica. Segue abaixo os dois npcs que tenho Npc que vende por moeda especifica local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cidlocal itemid = 2137 -- Novos points ( default é scarab coin )local shopWindow = {}local t = { [8201] = {price = 2}, [8203] = {price = 3}, [8202] = {price = 4}, [8204] = {price = 5}, [8205] = {price = 10}, [2524] = {price = 10}, [9093] = {price = 10}, [9050] = {price = 10}, [9083] = {price = 10}, [9099] = {price = 5}, [9098] = {price = 20}, [9097] = {price = 3} }local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)if t[item] and getPlayerItemCount(cid, itemid) < t[item].price thenselfSay("you do not have "..t[item].price.." scarab coin.", cid)elsedoPlayerAddItem(cid, item)doPlayerRemoveItem(cid, itemid, (t[item].price))selfSay("Here you item", cid) endreturn trueendif (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))thenfor var, ret in pairs(t) dotable.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})endopenShopWindow(cid, shopWindow, onBuy, onSell)endreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Npc que vende magia por modulo trade local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler)NpcSystem.parseParameters(npcHandler)local talkState = {}function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) endfunction onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) endfunction onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) endfunction onThink() npcHandler:onThink() endfunction creatureSayCallback(cid, type, msg)if(not npcHandler:isFocused(cid)) thenreturn falseendlocal talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cidlocal shopWindow = {}local spells = {{id=2260, buy = 100, name = "Exori Mas Light", spell_name = "Exori Mas Light", vocations = {1,2,3,4,5,6,7,8}, level = 125}}local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)if not getPlayerLearnedInstantSpell(cid, shopWindow[item].Words) thenif getPlayerLevel(cid) >= shopWindow[item].Level thenif isInArray(shopWindow[item].Vocs, getPlayerVocation(cid)) thendoPlayerRemoveMoney(cid, shopWindow[item].Price)doPlayerLearnInstantSpell(cid, shopWindow[item].Words)npcHandler:say("Voce aprendeu uma magia chamada "..shopWindow[item].Words, cid)elsenpcHandler:say("Voce nao possui classe suficiente para adquirir essa magia.", cid)endelsenpcHandler:say("Voce precisa ter nivel "..shopWindow[item].Level.." ou mais para comprar essa magia.", cid)endelsenpcHandler:say("Voce ja adquiriu essa magia.", cid)endreturn trueendif msgcontains(msg, 'trade') or msgcontains(msg, 'magias') thenfor var, item in pairs(spells) doshopWindow[item.id] = {Level = item.level, Vocs = item.vocations, item_id = item.id, Price = item.buy, subType = 0, Words = item.spell_name, SpellName = item.name}endopenShopWindow(cid, spells, onBuy, onSell)endreturn trueendnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) Ambos npcs não são de minha autoria, se eu lembrasse de qual post eu tirei, eu colocaria os creditos respectivos, enfim, agradeço pela ajuda.
  24. rorix

    npc de luta

    galera to colocando no meu server um npc de lutar, vc fala hi, lutar, e voce começa a lutar, ai o script remove o npc e cria o monster para vc lutar... so que tem um porem, se tiver mais player na tela o monster pode atacar outro player e nao akele que pediu para lutar, como posso corrigir? script: selfSay("Entao vamos lutar preparese!") local pos = getThingPos(getNpcCid()) local summonName = getCreatureName(getNpcCid()) local lookdir = getCreatureLookDirection(cid) doRemoveCreature(getNpcCid()) local summonCid = doCreateMonster(summonName, pos) doCreatureSetLookDirection(summonCid, lookdir) addEvent(checkForLutador, 5000, summonName) doMonsterSetTarget(summonCid, cid) tentei adicionar a função como mostrado ali, para quando o monstro ser criado, setar o target para o player que pediu para lutar: doMonsterSetTarget(summonCid, cid) mas da erro no distro e nao funciona OBS: o script funciona certinho, remove npc e cria o monstro, o problema que o monstro ta atacando qualquer um que esteja na tela, e nao setando o target para o player que pediu battle (ja deixei chance de trocar de target no monstro de 0) [31/08/2016 03:56:57] [Error - Npc interface] [31/08/2016 03:56:57] data/npc/scripts/lutar.lua:onCreatureSay[31/08/2016 03:56:57] Description: [31/08/2016 03:56:57] (luaDoMonsterSetTarget) Creature not found
×
×
  • Criar Novo...