Ir para conteúdo

Featured Replies

Postado

opa eu tenho uma isolda aki mais não sei como edita para ela reseta


--------------------------------------------------------------------------------------------
------------------------------------ Advanced Addon NPC ------------------------------------
-------------------------------- Script made by teh_pwnage ---------------------------------
--------------- Special thanks to: mokerhamer, Xidaozu and Jiddo, 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 = getPlayerStorageValue(cid,7777)
	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)
			doPlayerTakeItem(cid,2198,1)
			doPlayerTakeItem(cid,2161,1)
			doPlayerTakeItem(cid,2170,1)
			doPlayerTakeItem(cid,2171,1)
			doPlayerTakeItem(cid,2172,1)
			doPlayerTakeItem(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)
			doPlayerTakeItem(cid,2129,1)
			doPlayerTakeItem(cid,2133,1)
			doPlayerTakeItem(cid,2130,1)
			doPlayerTakeItem(cid,2199,1)
			doPlayerTakeItem(cid,2135,1)
			doPlayerTakeItem(cid,2126,1)
			doPlayerTakeItem(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)
			doPlayerTakeItem(cid,2218,1)
			doPlayerTakeItem(cid,2142,1)
			doPlayerTakeItem(cid,2132,1)
			doPlayerTakeItem(cid,2136,1)
			doPlayerTakeItem(cid,2138,1)
			doPlayerTakeItem(cid,2200,1)
			doPlayerTakeItem(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)
			doPlayerTakeItem(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)
			doPlayerTakeItem(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)
			doPlayerTakeItem(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) >= 400 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 = getCreatureMaxHealth(cid)
		mana = getCreatureMaxMana(cid)
		doPlayerAddExp(cid,-10000000000)
		doCreatureChangeMaxHealth(cid, (health/10)*(vezes+1))
		doCreatureAddHealth(cid,(health/10)*(vezes+1))
		doCreatureChangeMaxMana(cid, (mana/15)*(vezes+1))
		doPlayerAddMana(cid,(mana/15)*(vezes+1))
		doPlayerMagicLevel(cid,25)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		setPlayerStorageValue(cid,7777,vezes+1)
		doPlayerTakeItem(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 = getCreatureMaxHealth(cid)
		mana = getCreatureMaxMana(cid)
		doPlayerAddExp(cid,-10000000000)
		doCreatureChangeMaxHealth(cid, (health/10)*(vezes+1))
		doCreatureAddHealth(cid,(health/10)*(vezes+1))
		doCreatureChangeMaxMana(cid, (mana/15)*(vezes+1))
		doPlayerAddMana(cid,(mana/15)*(vezes+1))
		doPlayerMagicLevel(cid,25)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		setPlayerStorageValue(cid,7777,vezes+1)
		doPlayerTakeItem(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 = getCreatureMaxHealth(cid)
		mana = getCreatureMaxMana(cid)
		doPlayerAddExp(cid,-10000000000)
		doCreatureChangeMaxHealth(cid, (health/10)*(vezes+1))
		doCreatureAddHealth(cid,(health/10)*(vezes+1))
		doCreatureChangeMaxMana(cid, (mana/10)*(vezes+1))
		doPlayerAddMana(cid,(mana/10)*(vezes+1))
		doPlayerMagicLevel(cid,5)
		doPlayerAddSkill(cid,4,25)
		doPlayerAddSkill(cid,5,25)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		setPlayerStorageValue(cid,7777,vezes+1)
		doPlayerTakeItem(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 = getCreatureMaxHealth(cid)
		mana = getCreatureMaxMana(cid)
		doPlayerAddExp(cid,-10000000000)
		doCreatureChangeMaxHealth(cid, (health/10)*(vezes+1))
		doCreatureAddHealth(cid,(health/10)*(vezes+1))
		doCreatureChangeMaxMana(cid, (mana/10)*(vezes+1))
		doPlayerAddMana(cid,(mana/10)*(vezes+1))
		doPlayerAddSkill(cid,0,25)
		doPlayerAddSkill(cid,1,25)
		doPlayerAddSkill(cid,2,25)
		doPlayerAddSkill(cid,3,25)
		doPlayerAddSkill(cid,5,25)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		setPlayerStorageValue(cid,7777,vezes+1)
		doPlayerTakeItem(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 getPlayerStorageValue(cid,7777) <= 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,6500) >= 1000 then
		selfSay('Oh! Now you are a god!')

        	if getPlayerVocation(cid) >= 9 and getPlayerVocation(cid) < 11 then
		doPlayerMagicLevel(cid,10)
		end
        	if getPlayerVocation(cid) == 11 then
		doPlayerMagicLevel(cid,2)
		doPlayerAddSkill(cid,4,10)
		doPlayerAddSkill(cid,5,10)
		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)
		end

		doPlayerSendTextMessage(cid,22,"Você evoluiu seu espírito a Deus.")
		doPlayerAddExp(cid,-10000000000)
		doCreatureChangeMaxHealth(cid,185)
		doCreatureAddHealth(cid,185)
		doCreatureChangeMaxMana(cid,35)
		doPlayerAddMana(cid,35)
		doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
  		doSendMagicEffect(getPlayerPosition(cid),12)
		doPlayerTakeItem(cid,6500,100)
		talk_state = 0

		else
		selfSay('Sorry, but you dont have the 100 demoniac essense!')
		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())
  • Respostas 9
  • Visualizações 1.5k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

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: "OTServScriptingMonsters e NPCs"

Para: "OTServSuporte OTServSuporte de Scripts"

Bruno Carvalho / Ex-Administrador TibiaKing

[email protected]

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Postado

E creio que para adicionar estas funções, nem seja tão difícil, pois são poucas novas.

Basta alguém que saiba, pois em C++ só sei onde fica a parte principal de Códigos em LUA, mas nem sei onde mais precisará adicionar as "tags".

E é claro, tem que ter o server descompilado e dosponível para editar.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

  • 4 years later...

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo