Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''npc''.



Mais opções de pesquisa

  • 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
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Recursos
    • Suporte
    • Pedidos
    • Downloads
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Categorias

Não há resultados


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

Encontrado 134 registros

  1. MathhCunha

    NPC para MINING

    Fale rapaziada. Preciso da ajuda para criar um npc em que ele só ira trocar uma quantidade x de item por uma moeda. EXEMPLO: 'COIN=2151' NPC: Ola 'JOGADOR', eu vendo a 'PICK' para minerar e também compro os 'ITENS' minerados. PLAYER: PICK NPC: A pick custa x COIN/// PLAYER: YES ////// NPC: Aqui esta sua pick. PLAYER: ITENS ////// NPC: Eu compro 100 sapphires por 10 COIN, 100 Skull por 15 COIN, 100 Diamond por 20 COIN. ///// PLAYER: YES //////// NPC: Aqui esta suas COIN. O npc precisa das quantidade exatas para trocar pela a COIN, e ele troca todos os itens automático. O player não precisa ficar falando qual item ele quer troca. Se ele tiver 1000 Sapphires, 100 Skull, 10000 Diamond, ele ja vai somar e trocar tudo.
  2. boa noite gostaria de pedi um script de npc que troka itens por itens sem limite de troka mais o menos assim eu tenho 10 itens aleatorio na bag e eu trocaria com o npc 1 itens por vez com npc mais cada itens trocaria por itens diferente com o npc com limte de tempo pra pega o iten com npc como se o npc tivesse criando o iten desde ja agradeço a ajuda se puderem
  3. Ola pessoal, esse é meu primeiro post aqui no XTibia não tenho esperiencia ainda kkk. Então como o titulo diz vou ensina a criar um npc que vende um intem que recarrega stamina, espero que ajudem. --Pedido de Nyel pelo chat do XTibia. 1.Primeiramente vamos criar o intem que recarrega stamina, abre a pasta do seu server. data/action/script , agora copie qualquer arquivo .lua e renomeia para "stamina". OBS: este intem é removido ao ser usado e apenas para premmium (elder druid,master sorcerer,elite knight e royal paladin). function onUse(cid, item, fromPosition, itemEx, toPosition) local cfg = {} cfg.refuel = 42 * 60 * 1000 if(getPlayerStamina(cid) >= cfg.refuel) then doPlayerSendCancel(cid, "Sua Stamina esta cheia.") elseif(not isPremium(cid)) then doPlayerSendCancel(cid, "Voce deve ser promovido(promotion).") else doPlayerSetStamina(cid, cfg.refuel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sua stamina foi recarregada.") doRemoveItem(item.uid) end return true end -- Caso queira que o item não some seja tipo infinito use esse codigo abaixo. function onUse(cid, item, fromPosition, itemEx, toPosition) local cfg = {} cfg.refuel = 42 * 60 * 1000 if(getPlayerStamina(cid) >= cfg.refuel) then doPlayerSendCancel(cid, "Sua Stamina esta cheia.") elseif(not isPremium(cid)) then doPlayerSendCancel(cid, "Voce deve ser promovido(promotion).") else doPlayerSetStamina(cid, cfg.refuel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Sua stamina foi recarregada.") end return true end 2.Pronto criamos o script agora vamo colocar para funciona. data/action/action.xml <action itemid="7632" event="script" value="stamina.lua"/> Vermelho é o id do item que sera usado como stamina refil, nesse caso usei a Giant Shimmering Pearl. 3.Pronto criamos o item pode criar com o GOD para testa, vamos agora cria o NPC, vamos em: data/npc/ ,agora copie qualquer arquivo .xml e renomeia para "staminaseller" ficará staminaseller.xml, agora abre apaga tudo e coloque o codigo abaixo. <?xml version="1.0" encoding="UTF-8"?> <npc name="Stamina Seller" script="data/npc/scripts/default.lua" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="141" head="76" body="113" legs="110" feet="114" addons="3" corpse="2212"/> <parameters> <parameter key="module_shop" value="3" /> <parameter key="shop_buyable" value="Stamina Refil,7632,50000" /> </parameters> </npc> Vermelho: é o nome do NPC. Verde: Nome do item refill. Azul: é o id do item. Marrom: o preço do item nesse caso coloquei 50k. Pronto criamos tudo agora é só importa no seu remeres ou qualquer outro editor que você usa e adicionar no seu mapa. E tambem não podemos esquercer se editar o item no item.xml data/items/items.xml ,procurar pelo id 7632 se ele contem alguns atributos você retira tudo ou copi o codigo abaixo e troque pelo que esta em seu servidor, isso se usar esse mesmo item que estou usando ou com qualquer outro item. <item id="7632" name="Stamina refill"/> Pronto agora terminamos de vez o nosso tutorial espero que gostem, se algo fico errado ou se esqueci de algo podem comenta ,aceitando criticas construtivas, apesar de tudo esse é meu primeiro post aqui. By: Anderson.Souza - E-mail: [email protected] / Skype: Anderson Souza
  4. Emooooo

    npc cassino erro

    erro npc não recolhe o dinheiro ! sendo que esta configurado tudo certo. 08/04/2019 20:07:20] [Error - Npc interface] [08/04/2019 20:07:20] In a timer event called from: [08/04/2019 20:07:20] data/npc/scripts/cassino.lua:onCreatureSay [08/04/2019 20:07:20] Description: [08/04/2019 20:07:20] (luaDoRemoveItem) Item not found
  5. ERRO NO NPC QUANDO VAI VENDER ITENS ÚNICO , O NPC SÓ COMPRA ITENS STACKADOS ! TFS 0.3.6 [08/04/2019 19:27:39] data/npc/lib/npcsystem/modules.lua:1229: bad argument #2 to 'error' (number expected, got string) [08/04/2019 19:27:39] stack traceback: [08/04/2019 19:27:39] [C]: in function 'error' [08/04/2019 19:27:39] data/npc/lib/npcsystem/modules.lua:1229: in function 'callbackOnSell' [08/04/2019 19:27:39] data/npc/lib/npcsystem/npchandler.lua:265: in function 'processModuleCallback' [08/04/2019 19:27:39] data/npc/lib/npcsystem/npchandler.lua:450: in function 'onSell' [08/04/2019 19:27:39] data/npc/lib/npcsystem/modules.lua:1296: in function <data/npc/lib/npcsystem/modules.lua:1295>
  6. Olá, já tenho um script de um npc de promotions, porém ele promove tanto as acc premium quanto as free, preciso que ele promova exclusivamente as acc premium. Segue o código que tenho abaixo. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 node1 = keywordHandler:addKeyword({'promot'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I can promote you for 20000 gold coins. Do you want me to promote you?'}) node1:addChildKeyword({'yes'}, StdModule.promotePlayer, {npcHandler = npcHandler, cost = 20000, level = 20, promotion = 1, text = 'Congratulations! You are now promoted.'}) node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then, come back when you are ready.', reset = true}) npcHandler:addModule(FocusModule:new())
  7. Bom dia, Galera alguém tem os scripts dos npcs do global por que o servidor que estou editando esta faltando vários os principais seriam esses quem puder ajudar: 90% ou 100% são de quest NPC Eclesius NPC Jerom NPC Bunny NPC Norman The Foreman NPC guia(ex:Aneus, Gnomad, Guide Elena NPC Rafzan NPC Iriana NPC Ashari NPC Costello NPC Eroth NPC Rapanaio NPC Oldrak NPC Baxter NPC Wyrdin NPC Julius NPC Zoltan NPC Raymond Striker NPC One-eyed Joe NPC Larek NPC Rotem Valos NPC Sinatuki NPC Alkestios NPC Mr Brandon NPC Guardian of the deep seas NPC Oldrak
  8. Dale! suave? deixo aqui um npc que fiz agora para meu servidor... Como fala no titulo, ele cobra uma certa quantia de dinheiro ou item, para dar uma informação, só configure certinho. É bem simples mas pode ajudar alguém Lembrando que está testado e funcionando 100% Vá em data/npc e crie um arquivo XML com o nome info e cole isso dentro... Salve e feche... Agora em data/npc/scripts crie um arquivo LUA com o nome info e cole dentro... Bom, é só isso espero ajudar alguém, se ajudei deixa o REP! Aí pra fortalecer a amizade LEMBRANDO QUE DENTO DO ARQUIVO ESTÁ A EXPLICAÇÃO.
  9. Fala MelloGang Blz ? Hoje vim trazer um NPC de evento , onde o player precisa trazer um pokemon(configuravel) por outro pokemon entao vamos la Em NPC crie um NPC.xml e cole isso Dps Vá em npc/script e crie um arquivo.lua e cole isso e só configurar e pronto Então e isso galera gostou deixe seu REP+
  10. Esse sistema/script/sei lá o que foi desenvolvido por Karain que quis trazer um 'ar' mais moderno ao tibia.. Com esse script conversar com o npc será mais uma experiência mais amigável, continua sendo customizável mas de uma forma mais fácil! Como instalar Em data/creaturescripts/creaturescrips.xml adicione <event type="modalWindow" name="Dialogue" script="dialogue.lua"/> Em data/creaturescripts/scripts/login.lua adicione isso antes do "return true" player:registerEvent("Dialogue") Crie em data/creaturescripts o arquivo dialogue.lua e adicione player_choices = {} defaultButtons = {{id = 0x00, text = "Select", enter = true, escape = false}, {id = 0x01, text = "End", enter = false, escape = true}} function Player:getChoiceText(choice_id) if player_choices and player_choices[self:getId()] then return player_choices[self:getId()][choice_id].text else return false end end function Player:createDialogueWindowWithButtons(modalWindowId, headerText, bodyText, buttonTable, choiceTable, sendToPlayer, priority) local var = ModalWindow(modalWindowId, headerText, bodyText) for i = 1, #buttonTable do var:addButton(buttonTable[i].id, buttonTable[i].text) if buttonTable[i].enter then var:setDefaultEnterButton(buttonTable[i].id) end if buttonTable[i].escape then var:setDefaultEscapeButton(buttonTable[i].id) end end player_choices[self:getId()] = choiceTable for i = 0, #choiceTable do if choiceTable[i] ~= nil and (choiceTable[i].storage == false or self:getStorageValue(choiceTable[i].storage[1]) == choiceTable[i].storage[2]) then var:addChoice(i, choiceTable[i].text) end end if not priority then var:setPriority(false) end if sendToPlayer then var:sendToPlayer(self) end end function onModalWindow(player, modalWindowId, buttonId, choiceId) -- be careful here if you have other modalwindow scripts if buttonId == 0x00 then player:say(player:getChoiceText(choiceId),TALKTYPE_SAY) elseif buttonId == 0x01 then player:say("Good Bye.",TALKTYPE_SAY) end return true end Crie em data/npc/scripts o arquivo dialogue.lua e adicione local npc_dialogue = { [1] = { message="This is the message that shows up before the choices, make sure it's long enough if you are having long choices.", choices= { [1]={text="Choice 1", storage=false, dialogue=1, script="end"}, [2]={text="Choice 2",storage=false, dialogue=2, script="script1"}, [3]={text="Choice 3",storage={1234,1}, dialogue=3, script="trade"}, [4]={text="Choice 4",storage=false, dialogue=3, script="quest"}, [5]={text="Choice 5",storage=false, dialogue=false, script="quest2"}}}, [2] = { message="Bla bla bla bla bla bla bla.", choices= { [1]={text="Choice 1",storage=false, dialogue=1, script="end"}, [2]={text="Choice 2",storage=false, dialogue=2, script="end"}, [3]={text="Choice 3",storage={1234,1}, dialogue=false, script="end"}, [4]={text="Choice 4",storage=false, dialogue=false, script="end"}, [5]={text="Choice 5",storage=false, dialogue=3, script="end"}}}, [3] = { message="Brought to you by Matt Shadowwing.", choices= { [1]={text="Choice 1",storage={1245,2}, dialogue=false, script="end"}, [2]={text="Choice 2",storage=false, dialogue=false, script="end"}, [3]={text="Choice 3",storage={1234,1}, dialogue=false, script="end"}, [4]={text="Choice 4",storage=false, dialogue=1, script="end"}, [5]={text="Choice 5",storage=false, dialogue=2, script="end"}}} } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 talkstate = {} local function greetCallback(cid) local player = Player(cid) local npc = Npc(getNpcCid()) npcHandler:setMessage(MESSAGE_GREET, npc_dialogue[1].message) player:createDialogueWindowWithButtons(1, npc:getName(), npc_dialogue[1].message, defaultButtons, npc_dialogue[1].choices, true, false) talkstate[player:getId()] = 1 return true end local function creatureSayCallback(cid, type, msg) local player = Player(cid) local npc = Npc(getNpcCid()) if not npcHandler:isFocused(cid) then return false elseif talkstate[player:getId()] then for _, v in pairs(npc_dialogue[talkstate[player:getId()]].choices) do if msgcontains(msg, v.text) and (v.storage == false or player:getStorageValue(v.storage[1]) == v.storage[2]) then if v.script == "end" then talkstate[player:getId()] = v.dialogue npcHandler:say(npc_dialogue[v.dialogue].message, cid) player:createDialogueWindowWithButtons(1, npc:getName(), npc_dialogue[v.dialogue].message, defaultButtons, npc_dialogue[v.dialogue].choices, true, false) elseif v.script == "trade" then -- trading script here talkstate[player:getId()] = v.dialogue npcHandler:say(npc_dialogue[v.dialogue].message, cid) player:createDialogueWindowWithButtons(1, npc:getName(), npc_dialogue[v.dialogue].message, defaultButtons, npc_dialogue[v.dialogue].choices, true, false) elseif v.script == "quest" then -- quest script here talkstate[player:getId()] = v.dialogue npcHandler:say(npc_dialogue[v.dialogue].message, cid) player:createDialogueWindowWithButtons(1, npc:getName(), npc_dialogue[v.dialogue].message, defaultButtons, npc_dialogue[v.dialogue].choices, true, false) end end end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Em data/npc/lib/npcsystem/npchandler.lua altere todos os TALKTYPE_PRIVATE_PN para TALKTYPE_SAY Depois é só criar seu npc.xml referenciar o lua e seja feliz.. Qualquer problema eu terei que repassar para o criador pois não sou apto a dar suporte.. Estou somente trazendo para cá!
  11. Ola Xtibianos precisava de um npc que fale com um char de cada vez. Ex1: char nr1 fala hi NPC fala hi Ex2: char nr2 fala hi NPC fala calma estou ocupado no momento Versão 8.6 Tfs 0.4
  12. NPC Capitain data/npcs/scripts/captain.lua : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 npcHandler:addModule(FocusModule:new()) data/npcs/Captain.xml : <?xml version="1.0" encoding="UTF-8"?><npc name="Captain" script="data/npc/scripts/captain.lua" walkinterval="0" floorchange="0"> <health now="144" max="150"/> <look type="128" head="95" body="100" legs="35" feet="100" addons="3" corpse="2212"/> <parameters> <parameter key="module_travel" value="1"/> <parameter key="message_greet" value="Hello |PLAYERNAME|. If you don't know where to flow, say travel."/> <parameter key="travel_destinations" value="exempo,x,y,z,preço;exempo2,x,y,z,preço;"/> </parameters> </npc> Explicações : <parameter key="travel_destinations" value="exempo,x,y,z,preço;exempo2,x,y,z,preço;"/> Exemplo1 = Nome do local X = Posição X Y = Posição Y Z = Posição Z Preço = Preço do Teleport value= "nome do local, posição x, posição y, posição z, preço do teleport" ; -- Usado pra adicionar mais locais
  13. 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
  14. Hail Xtibianos! Desenvolvi esse sistema pois achei legal o npc fazer isso. O que o sistema faz? Ele seta o focus do npc em um player quando o player se aproxima dele e espera por 5 segundos. Se o player não "falar" com o npc, o npc ignora ele (não foca mais o player). Mas o player pode "falar" com o npc quando quiser (não interfere em nada nesse sistema). Em npchandler.lua: Procure: Adicione dentro da tabela: Procure: Antes da função: Adicione: Procure: Dentro do escopo de: Adicione: Pronto. Adicionado.
  15. olá galera do xtibia auguem poderia fazer esse npc para mim ? Player: Hi Npc: olá [PLAYERNAME] você deseja entrar em uma missão ? Player: Yes Npc: Eu gosto muito do pokemon clefable ele sempre foi o meu preferido desde que comecei a jogar pokemon mais nunca consegui captura-lo. sera que você pode captura-lo e trazelo para mim ? Player: Yes Npc: Muito Obrigado Boa sorte treinador ==================================== e depois que o treinador capturar o clefable e levar para o Npc Player:Hi Npc: Olá você de novo tem boas noticias ? conseguiu capturar meu querido clefable ? Player: Yes Npc: OOhh!! Muito obrigado .. Aqui está sua recompensa A recompensa pode ser 30% de experiencia Versão 8.54
  16. thloko

    [Poketibia] Npc's

    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.
  17. 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
  18. 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!
  19. È um sistema para poketibia que serio o Saffari totalmente automático. [+] O jogador não perde level(experience) ao morrer. [+] O jogador é teleportado quando acabar o tempo ou quando suas Saffari balls acabar! [+] Mostra o tempo restante num comando exclusivo !saffari time Pasta mods Saffari.xml <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Saffari" version="2.0" author="Vodkart" contact="none.com" enabled="yes"> <config name="saffari_func"><![CDATA[ config = { price = 5000, level = 50, need_premium = false, minutes = 60, saffari_positions = {enter = {x=152,y=51,z=5}, exit = {x=163,y=51,z=5}}, saffari_balls = {11445,30}, -- itemid e quantidade blocked_pokeballs = {2146, 2147, 11437, 11441, 11445}, -- pokeball, ultraball, greatball, masterball, safarriball storages = {874547,874548} -- start, time } function timeString(timeDiff) local dateFormat = { {"day", timeDiff / 60 / 60 / 24}, {"hour", timeDiff / 60 / 60 % 24}, {"minute", timeDiff / 60 % 60}, {"second", timeDiff % 60} } local out = {} for k, t in ipairs(dateFormat) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #dateFormat and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find("second") then local a, b = ret:find(" and ") ret = ret:sub(b+1) end return ret end ]]></config> <event type="login" name="SaffariRegister" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "SaffariDeath") return true end]]></event> <talkaction words="/saffari;!saffari" event="buffer"><![CDATA[ domodlib('saffari_func') param = string.lower(param) if getPlayerStorageValue(cid, config.storages[1]) <= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"you are not in Saffari") return true end if (param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"invalid command, enter !saffari time or !safari leave") return true elseif isInArray({"time","tempo"}, param) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, (getPlayerStorageValue(cid, config.storages[2]) - os.time() > 0 and "Left "..timeString(getPlayerStorageValue(cid, config.storages[2]) - os.time()).."" or "Time is over. Please wait a moment.").."\nTo leave enter command: !saffari leave") return true elseif isInArray({"sair","leave"},param) then doTeleportThing(cid, config.saffari_positions.exit) setPlayerStorageValue(cid, config.storages[1], 0) setPlayerStorageValue(cid, config.storages[2], 0) doPlayerSendTextMessage(cid,22,'you left the saffari zone.') return true end ]]></talkaction> <globalevent name="SaffariCheck" interval="60" event="script"><![CDATA[ domodlib('saffari_func') function onThink(interval, lastExecution) local on = getPlayersOnline() if #on > 0 then for i = 1, #on do if getPlayerStorageValue(on[i], config.storages[1]) > 0 then if getPlayerItemCount(on[i], config.saffari_balls[1]) <= 0 or getPlayerStorageValue(on[i], config.storages[2]) - os.time() <= 0 then doTeleportThing(on[i], config.saffari_positions.exit) setPlayerStorageValue(on[i], config.storages[1], 0) setPlayerStorageValue(on[i], config.storages[2], 0) doPlayerSendTextMessage(on[i],22,'you left the saffari zone.') end end end end return true end ]]></globalevent> <event type="death" name="SaffariDeath" event="script"><![CDATA[ domodlib('saffari_func') function onDeath(cid, corpse, deathList) if isPlayer(cid) and getPlayerStorageValue(cid, config.storages[1]) >= 1 then setPlayerStorageValue(cid, config.storages[1], 0) setPlayerStorageValue(cid, config.storages[2], 0) doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) end return true end ]]></event> </mod> NPC Saffari Man.xml <?xml version="1.0"?> <npc name="Saffari Man" script="data/npc/scripts/saffari.lua" walkinterval="50000" floorchange="0"> <health now="100" max="100"/> <look type="129" head="95" body="116" legs="121" feet="115" addons="3"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. You want to {enter} in the {saffari} zone!" /> </parameters> </npc> saffari.lua domodlib('saffari_func') 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,msg = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid,msg:lower() if isInArray({"saffari","enter","entrar"}, msg) then npcHandler:say('you can stay in the Saffari zone by '..config.minutes..' minutes, the price is '..config.price..' gp(s), You want enter? {yes}', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then for i = 1, #config.blocked_pokeballs do if getPlayerItemCount(cid, config.blocked_pokeballs[i]) >= 1 then npcHandler:say('Keep your '..getItemNameById(config.blocked_pokeballs[i])..'!', cid) return true end end if config.need_premium and not isPremium(cid) then npcHandler:say('Sorry, you need to be premium!', cid) return true elseif getPlayerLevel(cid) < config.level then npcHandler:say('Sorry, you must be at least level '..config.level..' to enter the Saffari zone!', cid) return true elseif not doPlayerRemoveMoney(cid, config.price) then npcHandler:say('Sorry, you do not have enough money!', cid) return true end doPlayerAddItem(cid, config.saffari_balls[1], config.saffari_balls[2]) selfSay("Thanks, you've been teleported to the Saffari zone and has "..config.minutes.." minutes, if you want to leave enter {!saffari leave}.", cid) doTeleportThing(cid, config.saffari_positions.enter) setPlayerStorageValue(cid, config.storages[1], 1) setPlayerStorageValue(cid, config.storages[2], os.time()+config.minutes*60) elseif msg == "no" and talkState[talkUser] >= 1 then selfSay("then ok.", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  20. 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>
  21. 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
  22. 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?
  23. como faço para um npc nascer virado para baixo? e outro virado para o lado direito?
  24. 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())
  25. 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
×
×
  • Criar Novo...