Ir para conteúdo
  • Cadastre-se

Preciso de ajuda com esse sistema de npc


Posts Recomendados

pessoal eu criei um sistema reset por npc xml 7.92 e preciso que quando reseta o char o npc kika ele so que eu ja tentei de todo modo colocar a fala ./kick no npc so que ele reseta e volta pro level 8 e nao da kick.


--------------------------------------------------------------------------------------------
------------------------------------ Advanced Addon NPC ------------------------------------
-------------------------------- Script made by teh_pwnage ---------------------------------
--------------- Special thanks to: mokerhamer, Xidaozu and Viniciusrx, deaths'life --------------
------------------------------- Thanks also to everyone else -------------------------------
------------------------------ NPC based on Evolutions V0.7.7 ------------------------------
--------------------------------------------------------------------------------------------

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

-- OTServ event handling functions start
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


-- OTServ event handling functions end

function creatureSayCallback(cid, type, msg)
	-- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself.
	if(npcHandler.focus ~= cid) then
		return false
	end

	preco = getPlayerLevel(cid)*3
    	bless = getPlayerBlessing(cid,1)
	vezes = getResets(cid)
	rubys = (getPlayerLevel(cid)*4000)*(vezes*30*2)/1000000
	
		if msgcontains(msg, 'necklace') then
			selfSay('I only need a mysterious, dragon breath, scorpion, platinum, fluids and vampire tooth, accept change all for a Elemental necklace?')
			talk_state = 1

		elseif msgcontains(msg, 'amulet') then
			selfSay('I only need a Ialamar, frozzen, sickness, Samantha, Mastafar, priest and eletric, accept change all for a Spirit Elemental amulet?')
			talk_state = 2

		elseif msgcontains(msg, 'magic') then
			selfSay('I only need a Merlian, relic of the hell, Broonier, Thordain, dark wyzard, angel and gaya, accept change all for a Elemental magic amulet?')
			talk_state = 3

		elseif msgcontains(msg, 'energyze') then
			selfSay('I can energyze your necklace for 50k, amulet for 100k or your magic amulet for 150k, do you want energyze?')
			talk_state = 4

		elseif msgcontains(msg, 'bless') or msgcontains(msg, 'blessing') then
			selfSay('Bless a mortal? Hmm... Sure I can bless, but it will not be cheap, what do you say about ' .. preco .. 'k?')
			talk_state = 5

		elseif msgcontains(msg, 'reset') then
		if vezes == -1 or vezes == 0 then
			selfSay('Reset a god? Hmm... First time? Ok, i will do it free this time!')
			talk_state = 6
		else
			selfSay('Reset a god? Hmm... Sure I can, but it will not be cheap, what do you say about ' .. rubys .. ' ruby coins?')
			talk_state = 6
		end


		elseif msgcontains(msg, 'job') then
			selfSay('I am a servent of Merlian!')

		elseif msgcontains(msg, 'offer') then
			selfSay('I can do an element item or energyze your element item, i only need all "necklace", "amulet" ou "magic" amulet, also can bless a little mortal and reset a god!')

		elseif msgcontains(msg, 'sell') then
			selfSay('I am not a merchant!')

		elseif msgcontains(msg, 'buy') then
			selfSay('I am not a merchant!')

		elseif msgcontains(msg, 'quest') then
			selfSay('Ha! You are only a novice!')

		elseif msgcontains(msg, 'mission') then
			selfSay('Ha! You are only a novice!')

-- neck
	elseif talk_state == 1 then
	if msgcontains(msg, 'yes') then
		if getPlayerItemCount(cid,2198) >= 1 and getPlayerItemCount(cid,2161) >= 1 and getPlayerItemCount(cid,2170) >= 1 and getPlayerItemCount(cid,2171) >= 1 and getPlayerItemCount(cid,2172) >= 1 and getPlayerItemCount(cid,2201) >= 1 then
			selfSay('Its all yours!')
			doPlayerSendTextMessage(cid,22,"Voce recebeu um Elemental necklace.")
  			doSendMagicEffect(getPlayerPosition(cid),12)
			doPlayerRemoveItem(cid,2198,1)
			doPlayerRemoveItem(cid,2161,1)
			doPlayerRemoveItem(cid,2170,1)
			doPlayerRemoveItem(cid,2171,1)
			doPlayerRemoveItem(cid,2172,1)
			doPlayerRemoveItem(cid,2201,1)
			doPlayerAddItem(cid,2197,1)
			talk_state = 0
			else
			selfSay('You dont have this itens!')
			talk_state = 0
			end
		end
-- amulet

	elseif talk_state == 2 then
	if msgcontains(msg, 'yes') then
		if getPlayerItemCount(cid,2129) >= 1 and getPlayerItemCount(cid,2133) >= 1 and getPlayerItemCount(cid,2130) >= 1 and getPlayerItemCount(cid,2199) >= 1 and getPlayerItemCount(cid,2135) >= 1 and getPlayerItemCount(cid,2126) >= 1 and getPlayerItemCount(cid,2131) >= 1 then
			selfSay('Its all yours!')
			doPlayerSendTextMessage(cid,22,"Voce recebeu um Spirit Elemental amulet.")
  			doSendMagicEffect(getPlayerPosition(cid),12)
			doPlayerRemoveItem(cid,2129,1)
			doPlayerRemoveItem(cid,2133,1)
			doPlayerRemoveItem(cid,2130,1)
			doPlayerRemoveItem(cid,2199,1)
			doPlayerRemoveItem(cid,2135,1)
			doPlayerRemoveItem(cid,2126,1)
			doPlayerRemoveItem(cid,2131,1)
			doPlayerAddItem(cid,2173,1)
			talk_state = 0
			else
			selfSay('You dont have this itens!')
			talk_state = 5
			end
		end

	elseif talk_state == 3 then
	if msgcontains(msg, 'yes') then
		if getPlayerItemCount(cid,2218) >= 1 and getPlayerItemCount(cid,2142) >= 1 and getPlayerItemCount(cid,2132) >= 1 and getPlayerItemCount(cid,2136) >= 1 and getPlayerItemCount(cid,2138) >= 1 and getPlayerItemCount(cid,2200) >= 1 and getPlayerItemCount(cid,2196) >= 1 then
			selfSay('Its all yours!')
			doPlayerSendTextMessage(cid,22,"Voce recebeu um Elemental magic amulet.")
  			doSendMagicEffect(getPlayerPosition(cid),12)
			doPlayerRemoveItem(cid,2218,1)
			doPlayerRemoveItem(cid,2142,1)
			doPlayerRemoveItem(cid,2132,1)
			doPlayerRemoveItem(cid,2136,1)
			doPlayerRemoveItem(cid,2138,1)
			doPlayerRemoveItem(cid,2200,1)
			doPlayerRemoveItem(cid,2196,1)
			doPlayerAddItem(cid,2125,1)
			talk_state = 0
			else
			selfSay('You dont have this itens!')
			talk_state = 5
			end
		end
-- energ

	elseif talk_state == 4 then
	if msgcontains(msg, 'yes') and getPlayerItemCount(cid,2197) >= 1 then
		if pay(cid,50000) then
			selfSay('Its all yours!')
			doPlayerSendTextMessage(cid,22,"Voce recebeu Energizou seu Elemental necklace.")
  			doSendMagicEffect(getPlayerPosition(cid),12)
			doPlayerRemoveItem(cid,2197,1)
			doPlayerAddItem(cid,13682,1)
			talk_state = 0
			else
			selfSay('You dont have this money!')
			talk_state = 0
			end

	elseif msgcontains(msg, 'yes') and getPlayerItemCount(cid,2173) >= 1 then
		if pay(cid,100000) then
			selfSay('Its all yours!')
			doPlayerSendTextMessage(cid,22,"Voce recebeu Energizou seu Spirit Elemental amulet.")
  			doSendMagicEffect(getPlayerPosition(cid),12)
			doPlayerRemoveItem(cid,2173,1)
			doPlayerAddItem(cid,13683,1)
			talk_state = 0
			else
			selfSay('You dont have this money!')
			talk_state = 0
			end

	elseif msgcontains(msg, 'yes') and getPlayerItemCount(cid,2125) >= 1 then
		if pay(cid,150000) then
			selfSay('Its all yours!')
			doPlayerSendTextMessage(cid,22,"Voce recebeu Energizou seu Elemental magic amulet.")
  			doSendMagicEffect(getPlayerPosition(cid),12)
			doPlayerRemoveItem(cid,2125,1)
			doPlayerAddItem(cid,13684,1)
			talk_state = 0
			else
			selfSay('You dont have this money!')
			talk_state = 0
			end

	elseif msgcontains(msg, 'yes') and getPlayerItemCount(cid,2197) >= 0 and getPlayerItemCount(cid,2125) >= 0 and getPlayerItemCount(cid,2173) >= 0 then
			selfSay('You dont have this item!')
			talk_state = 0



		end

-- bless

	elseif talk_state == 5 then
	if msgcontains(msg, 'yes') then
	if bless then
		selfSay('You are already blessed my little mortal.')
		talk_state = 0
		else
        if isPremium(cid) then
	if pay(cid,preco*1000) then
		selfSay('Receive this bless mortal, with the gods touch i bless you!')
		doPlayerSendTextMessage(cid,22,"Voce recebeu a benção de Isolda.")
                doPlayerAddBlessing(cid, 1)
                doPlayerAddBlessing(cid, 2)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		talk_state = 0
		else
		selfSay('Sorry mortal, but you dont have this monney!')
		talk_state = 0
		end
		else
		selfSay('Sorry but only can bless a mortal premmy.')
		talk_state = 0
		end

		end
		end

-- reset

	elseif talk_state == 6 then
	--rubys = (getPlayerLevel(cid)*4000)*(vezes*10)/1000000)
	if msgcontains(msg, 'yes') then
        if isPremium(cid) then
        if getPlayerLevel(cid) >= 500 then
        if getPlayerVocation(cid) >= 9 then
	--if pay(cid,(getPlayerLevel(cid)*4000)*(vezes*10)) then
	

        if getPlayerVocation(cid) == 13 then	-- deuses
        if getPlayerLevel(cid) >= 500 then
	if getPlayerItemCount(cid,13685) >= rubys then
		selfSay('Welcome new god!')
		doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.")
		health = getPlayerMaxHealth(cid)
		mana = getPlayerMaxMana(cid)
		doPlayerAbortExp(cid,getPlayerExperience(cid))
           doPlayerIncExp(cid,4200)
		setPlayerMaxHealth(cid, (health/10)*(vezes+1))
		doPlayerAddHealth(cid,(health/10)*(vezes+1))
		setPlayerMaxMana(cid, (mana/15)*(vezes+1))
		doPlayerAddMana(cid,(mana/15)*(vezes+1))
           setPlayerMaxCapacity(cid,360)
		doPlayerAddMagicLevel(cid,25)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		doPlayerAddResets(cid,1)
		doPlayerRemoveItem(cid,13685,rubys)
		talk_state = 0
		else
		selfSay('Sorry mortal, but you dont have this monney!')
		talk_state = 0
		end
		else
		selfSay('Sorry, but only gods level 500 or above can do that!')
		talk_state = 0
		end
	end
        if getPlayerVocation(cid) == 14 then
        if getPlayerLevel(cid) >= 500 then
	if getPlayerItemCount(cid,13685) >= rubys then
		selfSay('Welcome new god!')
		doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.")
		health = getPlayerMaxHealth(cid)
		mana = getPlayerMaxMana(cid)
		doPlayerAbortExp(cid,getPlayerExperience(cid))
           doPlayerIncExp(cid,4200)
		setPlayerMaxHealth(cid, (health/10)*(vezes+1))
		doPlayerAddHealth(cid,(health/10)*(vezes+1))
		setPlayerMaxMana(cid, (mana/15)*(vezes+1))
		doPlayerAddMana(cid,(mana/15)*(vezes+1))
           setPlayerMaxCapacity(cid,360)
		doPlayerAddMagicLevel(cid,25)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		doPlayerAddResets(cid,1)
		doPlayerRemoveItem(cid,13685,rubys)
		talk_state = 0
		else
		selfSay('Sorry mortal, but you dont have this monney!')
		talk_state = 0
		end
		else
		selfSay('Sorry, but only gods level 500 or above can do that!')
		talk_state = 0
		end
	end
        if getPlayerVocation(cid) == 15 then
        if getPlayerLevel(cid) >= 500 then
	if getPlayerItemCount(cid,13685) >= rubys then
		selfSay('Welcome new god!')
		doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.")
           
		health = getPlayerMaxHealth(cid)
		mana = getPlayerMaxMana(cid)
		doPlayerAbortExp(cid,getPlayerExperience(cid))
           doPlayerIncExp(cid,4200)
		setPlayerMaxHealth(cid, (health/10)*(vezes+1))
		doPlayerAddHealth(cid,(health/10)*(vezes+1))
		setPlayerMaxMana(cid, (mana/15)*(vezes+1))
		doPlayerAddMana(cid,(mana/15)*(vezes+1))
           setPlayerMaxCapacity(cid,360)
		doPlayerAddMagicLevel(cid,2)
		doPlayerAddSkill(cid,4,25) 
		doPlayerAddSkill(cid,5,25) 
  		doSendMagicEffect(getPlayerPosition(cid),12)
		doPlayerAddResets(cid,1)
		doPlayerRemoveItem(cid,13685,rubys)
		talk_state = 0
		else
		selfSay('Sorry mortal, but you dont have this monney!')
		talk_state = 0
		end
		else
		selfSay('Sorry, but only gods level 500 or above can do that!')
		talk_state = 0
		end
	end

        if getPlayerVocation(cid) == 16 then
        if getPlayerLevel(cid) >= 500 then
	if getPlayerItemCount(cid,13685) >= rubys then
		selfSay('Welcome new god!')
		doPlayerSendTextMessage(cid,22,"Você resetou seu personagem.")
		health = getPlayerMaxHealth(cid)
		mana = getPlayerMaxMana(cid)
		doPlayerAbortExp(cid,getPlayerExperience(cid))
           doPlayerIncExp(cid,4200)
		setPlayerMaxHealth(cid, (health/10)*(vezes+1))
		doPlayerAddHealth(cid,(health/10)*(vezes+1))
		setPlayerMaxMana(cid, (mana/15)*(vezes+1))
		doPlayerAddMana(cid,(mana/15)*(vezes+1))
           setPlayerMaxCapacity(cid,360)
		doPlayerAddSkill(cid,0,25) 
		doPlayerAddSkill(cid,1,25) 
		doPlayerAddSkill(cid,2,25) 
		doPlayerAddSkill(cid,3,25) 
		doPlayerAddSkill(cid,5,25) 
  		doSendMagicEffect(getPlayerPosition(cid),12)
		doPlayerAddResets(cid,1)
		doPlayerRemoveItem(cid,13685,rubys)
		talk_state = 0
		else
		selfSay('Sorry mortal, but you dont have this monney!')
		talk_state = 0
		end
		else
		selfSay('Sorry, but only gods level 500 or above can do that!')
		talk_state = 0
		end
	end

	if getResets(cid) <= 0 and getPlayerVocation(cid) >= 13 and getPlayerLevel(cid) >= 500 then
		setPlayerStorageValue(cid,7777,1)
	end
	
        if getPlayerVocation(cid) >= 9 and getPlayerVocation(cid) < 13 then	-- semis
	if getPlayerItemCount(cid,13685) >= 5 then
		selfSay('Oh! Now you are a god!')

        	if getPlayerVocation(cid) >= 9 and getPlayerVocation(cid) < 11 then
		doPlayerAddMagicLevel(cid,10)
           setPlayerMaxCapacity(cid,360)
		end
        	if getPlayerVocation(cid) == 11 then
		doPlayerAddMagicLevel(cid,2)
		doPlayerAddSkill(cid,4,10)
		doPlayerAddSkill(cid,5,10)
           setPlayerMaxCapacity(cid,360)
		end
        	if getPlayerVocation(cid) == 12 then
           doPlayerAddSkill(cid,0,10)
           doPlayerAddSkill(cid,1,10)
           doPlayerAddSkill(cid,2,10)
           doPlayerAddSkill(cid,3,10)
           doPlayerAddSkill(cid,5,10)
           setPlayerMaxCapacity(cid,360)
		end

		doPlayerSendTextMessage(cid,22,"Você evoluiu seu espírito a Deus.")
		doPlayerAbortExp(cid,getPlayerExperience(cid))
           doPlayerIncExp(cid,4200)
		setPlayerMaxHealth(cid,185)
		doPlayerAddHealth(cid,185)
		setPlayerMaxMana(cid,35)
		doPlayerAddMana(cid,35)
		doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		doPlayerRemoveItem(cid,13685,5)
		talk_state = 0

		else
		selfSay('Sorry, but you dont have the 5 ruby coins!')
		talk_state = 0
		end
	end

		else
		selfSay('Sorry, but only gods i can do that!')
		talk_state = 0
		end
		else
		selfSay('Sorry, but only gods level 500 or above can do that!')
		talk_state = 0
		end
		else
		selfSay('Sorry but only can reset a god premmy.')
		talk_state = 0
		end

		end
		--end

------------------------------------------------ confirm no ------------------------------------------------
		elseif msgcontains(msg, 'no') and (talk_state >= 1 and talk_state <= 34) then
			selfSay('Ok than.')
			talk_state = 0
		end
	-- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself.
	return true
end

function teste(cid)

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServAprovação de Tópicos de Conteúdos"

Para: "OTServSuporte OTServSuporte de Scripts"

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo