Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa noite família, estou precisando de um Script onde o NPC vai pedir para que você mate "10 Kisame Boss".

Depois de finalizar a Task, ele te dará um item como recompensa.

O char que fez a Task não poderá fazer novamente, apenas com outro boneco. Alguém poderia me ajudar por favor?

Obrigado desde já!

Servidor Versão 8.6

 

Link para o post
Compartilhar em outros sites
  • 3 weeks later...
Taskstr = {}

local pokemonTable = {
	storages = {
		storeInformations = 432415,
	},
	NpcName = "Gabriel",
	reward = {{2160, 100}, {15645, 10}},
	exp = 2000,
	pokemons = {
		["KISAME_NAME"] = 2,
		["OROCHIMARU_NAME"] = 3,
	},
	doOnlyOne = true,
}

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 onThink() npcHandler:onThink() end

function onCreatureSay(cid, type1, msg)
	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

	if msg:lower() == "hi" then
		if getPlayerStorageValue(cid, pokemonTable.storages.storeInformations) == -1 then
			Taskstr[talkUser] = {}
			for a, b in pairs(pokemonTable.pokemons) do
				table.insert(Taskstr[talkUser], b.." "..a.."s")
			end
			local KAKAMESSAGE = doConcatTable(Taskstr[talkUser], ", ", " e ")
			selfSay("Olá, eu posso te dá task de "..KAKAMESSAGE..".", cid)
			talkState[talkUser] = 1
		elseif getPlayerStorageValue(cid, pokemonTable.storages.storeInformations) == 1 then
			selfSay("Não preciso mais da sua ajuda, obrigado!", cid)
		else
			local tab = string.explode(getPlayerStorageValue(cid, pokemonTable.storages.storeInformations), "|")
			selfSay("Você já terminou a minha task?", cid)
			talkState[talkUser] = 3				
		end
		
	elseif talkState[talkUser] == 1 and (pokemonTable.pokemons[doCorrectString(msg)] or isInArray({"yes", "sim"}, msg:lower())) then
		pName = doCorrectString(msg)
		selfSay("Você tem certeza disso?", cid)
		talkState[talkUser] = 2
		
	elseif talkState[talkUser] == 2 then
		if isInArray({"yes", "sim"}, msg:lower()) then
		
			Taskstr[talkUser] = {}
			for a, b in pairs(pokemonTable.pokemons) do
				table.insert(Taskstr[talkUser], a..","..b)
			end
			setPlayerStorageValue(cid, pokemonTable.storages.storeInformations,pokemonTable.NpcName.."|"..table.concat(Taskstr[talkUser], "|"))
			selfSay("Ok, vá terminar a task!", cid)
			
		elseif isInArray({"no", "não", "nao"}, msg:lower()) then
		
			selfSay("Você quem sabe.", cid)
			talkState[talkUser] = 0	
		end
	elseif talkState[talkUser] == 3 then
		if isInArray({"yes", "sim"}, msg:lower()) then
			local tab = string.explode(getPlayerStorageValue(cid, pokemonTable.storages.storeInformations), "|")
			if not tab[2] then
				doPlayerAddExperience(cid, pokemonTable.exp)
				doSendAnimatedText(getThingPos(cid), pokemonTable.exp, 215)
				for a, b in pairs(pokemonTable.reward) do
					doPlayerAddItem(cid, b[1], b[2])
				end
				if pokemonTable.doOnlyOne then
					setPlayerStorageValue(cid, pokemonTable.storages.storeInformations, 1)
				else
					setPlayerStorageValue(cid, pokemonTable.storages.storeInformations, -1)
				end
				-- setPlayerStorageValue(cid, stoNumber, Value)
				selfSay("Você finalizou a task! Pegue seus prêmios.", cid)
				talkState[talkUser] = 0
			else
				talkState[talkUser] = 0
				local str1 = {}
				local tab = string.explode(getPlayerStorageValue(cid, pokemonTable.storages.storeInformations), "|")
				for i = 2, #tab do
					expe = tab[i]:explode(",")				
					table.insert(str1, expe[2].." "..expe[1]..(tonumber(expe[2]) > 1 and "s" or ""))
				end			

				selfSay("Está faltando você matar ".. doConcatTable(str1, ", ", " e ") .." desta espécie!", cid)
			end
		elseif isInArray({"no", "não", "nao"}, msg:lower()) then
			selfSay("Ok, então vá terminar de matá-los!", cid)
			talkState[talkUser] = 0
		elseif isInArray({"left", "leave", "desistir"}, msg:lower()) then
			setPlayerStorageValue(cid, pokemonTable.storages.storeInformations, -1)	
			selfSay("Ok, pedirei ajuda a alguém mais corajoso!", cid)
			talkState[talkUser] = 0			
		end
	end
end
	
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por guiferr
      Alguem me ensina a descompilar as sprites do ot pokemon ou me manda ela atualiazada 2023? por favor
       
    • Por ArisenCodex
      Olá galera do TK, após um bom tempo parado resolvi voltar a me aventurar nesse mundo de arte digital, dessa vez não me limitando apenas ao estilo original do Tibia, estarei postando aqui as sprites/pixel arts que eu for criando, aceito críticas construtivas e sugestões desde colaborem para meu desenvolvimento. Inicialmente estarei fazendo pixel art/sprites simples e vou aumentando a qualidade conforme for evoluindo, enfim, espero que gostem.
       
      Uma casca de banana
      Uma roda de queijo cortada (sei que essa precisa de mais polimento, mas por enquanto é oque consigo fazer)
      Estarei atualizando o post conforme mais pixel art/sprites forem sendo criadas.?️
    • Por Foxy0
      Estou pensando em criar um ndbo, andei estudando como meche com sources,mapa,programaçao etc mais estou sem sprites queria sprites de ndbo para adicionar em meu servidor!, se alguem poder doar algumas sprites agradeço ( um client esta otimo  so quero algumas vocaçoes )
       
    • Por Anonymus Sprite
      Salve galera vi que tem pessoas vendendo esses programas que pega SPRITES de qualquer servidor sao 2 programas q estrao de graça, vim trazer informações de como usá-los fiz um video com tudo q precisa espero q gostem !!! ?                                                                                                                                                                              
      https://www.youtube.com/watch?v=AjRg2SPteNQ  
    • Por zGiovani
      Olá pessoal, mais uma vez venho aqui na intenção de ajudar a galera que está quebrando a cabeça como eu quebrei...
       
       
      Procurei vários videos e comunidades e não encontrei como resolver esse bug de quando importava as novas montarias ou itens no assets editor ele não funcionava no jogo, mesmo estando tudo configurado certinho.
       
       
      Uma Maneira rápida e simples de explicação é:
       
       
      Depois de adicionado e configurado o item, montaria, monstro ou Addon;
      De um compile no Assets Editor
      Abra a pasta do seu client
      Abra a pasta Assets do seu client
      Localize o arquivo parecido ou igual a esse: "appearances-57a4033d729f0cc94a3699172abb36d232cb8cd3babfb738e7cab08b475d3ccf.dat"
      Copie ele e cole na pasta do seu: server/data/items
      Renomeie o arquivo para:  appearances.dat
       
      Problema Resolvido, espero ter ajudado
       
       
       
      VIDEO TUTORIAL
       
       
      Quem puder dar uma força la no canal, será bem vindo!
       
       
      Desculpa se postei no lugar errado, a intenção é ajudar...
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo