Ir para conteúdo

Npc Stan


Conde Sapo

Posts Recomendados

Exclusivo para XTibia

favor não postar em outro forum

 

Tive algumas barreiras.

Alguns outfits eu não tenho no meu Evolutions

 

data\npc\Stan.xml

local focus = 0
local talk_start = 0
local talk_state = 0
local target = 0
local following = false
local attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)
end

function onCreatureAppear(creature)
end

function onCreatureDisappear(cid, pos)
if focus == cid then
	selfSay('Good bye then.')
	focus = 0
	talk_start = 0
end
end

function onCreatureTurn(creature)
end

function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end

function onCreatureSay(cid, type, msg)
msg = string.lower(msg)

if (msgcontains(msg, 'hi') and focus == 0) and getDistanceToCreature(cid) < 4 then
	selfSay('Hello ' .. creatureGetName(cid) .. '! I sell masquerade costumes.')
	focus = cid
	talk_start = os.clock()

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
	selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

elseif focus == cid then
	talk_start = os.clock()

	if msgcontains(msg, 'deluxe costume') then
		selfSay('Do you want to buy deluxe costume for 1500 gps?')
		talk_state = 1

	elseif msgcontains(msg, 'uncommon costume') then
		selfSay('Do you want to buy uncommon costume for 1000 gps?')
		talk_state = 2

	elseif msgcontains(msg, 'common costume') then
		selfSay('Do you want to buy common costume for 500 gps?')
		talk_state = 3

	elseif msg == 'costume' or msg == 'costumes' then
		selfSay('I sell Deluxe Costume (1500gps), Uncommon Costume (1000 gps) and Commom Costume (500 gps)')
		selfSay('I sell also Party Hats (600gps) and Party Trumpets (80 gps)')
		talk_start = os.clock()

	elseif msgcontains(msg, 'party hat') then
		selfSay('Do you want to buy party hat for 600 gps?')
		talk_state = 4

	elseif msgcontains(msg, 'party trumpet') then
		selfSay('Do you want to buy party trumpet for 80 gps?')
		talk_state = 5

	elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
		selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
		focus = 0
		talk_start = 0
		talk_state = 0

	elseif msgcontains(msg, 'yes') and talk_state == 1 then
		if doPlayerRemoveMoney(cid,1500) == TRUE then
			bag = doPlayerAddItem(cid, 1997, 1)
			doSetItemActionId(bag,3001)
			talk_state = 0
			talk_start = os.clock()
		else
			selfSay('Sorry, you don\'t have money.')
		end
		talk_state = 0

	elseif msgcontains(msg, 'yes') and talk_state == 2 then
		if doPlayerRemoveMoney(cid,1000) == TRUE then
			bag = doPlayerAddItem(cid, 1996, 1)
			doSetItemActionId(bag,3002)
			talk_start = os.clock()
		else
			selfSay('Sorry, you don\'t have money.')
		end
		talk_state = 0

	elseif msgcontains(msg, 'yes') and talk_state == 3 then
		if doPlayerRemoveMoney(cid,500) == TRUE then
			bag = doPlayerAddItem(cid, 1994, 1)
			doSetItemActionId(bag,3003)
			talk_start = os.clock()
		else
			selfSay('Sorry, you don\'t have money.')
		end
		talk_state = 0

	elseif msgcontains(msg, 'yes') and talk_state == 4 then
		buy(cid,6578,1,600)
		talk_start = os.clock()
		talk_state = 0

	elseif msgcontains(msg, 'yes') and talk_state == 5 then
		buy(cid,6572,1,80)
		talk_start = os.clock()
		talk_state = 0
	end
end
end

function onCreatureChangeOutfit(creature)
end

function onThink()
doNpcSetCreatureFocus(focus)
if (os.clock() - talk_start) > 30 then
	if focus > 0 then
		selfSay('Next Please...')
	end
	focus = 0
end
if focus ~= 0 then
	if getDistanceToCreature(focus) > 5 then
		selfSay('Good bye then.')
		focus = 0
	end
end
end

 

 

Agora vem a AÇÂO de clicar na bag

 

data\actions\actions.xml

--  Bag de Carnaval - by Conde Sapo

function onUse(cid, item, frompos)
if frompos.x == 65535 then
	--  tah na BP
	if item.actionid == 3001 then
		-- Deluxe
		rand = math.random(1,5)
		if rand == 1 then
			outfit = {lookType = 220}  -- Serpent Spawn
		elseif rand == 2 then
			outfit = {lookType = 201}  -- Demon
		elseif rand == 3 then
			outfit = {lookType = 244}  -- Juggernaut
		elseif rand == 4 then
			outfit = {lookType = 55}   -- Behemoth
		elseif rand == 5 then
			outfit = {lookType = 91}   -- Rahemos  (Abrigado Claudioo pelo número do LookType)
		end

	elseif item.actionid == 3002 then
		-- UnCommon
		rand = math.random(1,5)
		if rand == 1 then
			outfit = {lookType = 47}   -- Quara Hydromancer
		elseif rand == 2 then
			outfit = {lookType = 237}  -- Diabolic Imp
		elseif rand == 3 then
			outfit = {lookType = 78}   -- Banshee
		elseif rand == 4 then
			outfit = {lookType = 257}  -- Frost Giant  (Abrigado Claudioo pelo número do LookType)
		elseif rand == 5 then
			outfit = {lookType = 99}   -- Lich
		end

	elseif item.actionid == 3003 then
		-- Common
		rand = math.random(1,5)
		if rand == 1 then
			outfit = {lookType = 7}    -- Orc Warrior
		elseif rand == 2 then
			outfit = {lookType = 96}   -- Pirate Cutthroat
		elseif rand == 3 then
			outfit = {lookType = 214}  -- Dworc Voodoomaster
		elseif rand == 4 then
			outfit = {lookType = 70}   -- Dwarf Guard
		elseif rand == 5 then
			outfit = {lookType = 23}   -- Minotaur Mage
		end
	end
	if doPlayerRemoveItem(cid,item.itemid,1) == TRUE then
		doPlayerSay(cid,"I\'m bad!",16)
	end

	doSetCreatureOutfit(cid, outfit, 600000 )
	doSendMagicEffect(frompos,12)
else
	doPlayerSendCancel(cid,"Carry with you first!")
end
return 1
end

 

 

Agradecimentos

 

outfit = {lookType = 91} -- Rahemos
outfit = {lookType = 257} -- Frost Giant

Claudioo

pelos códigos dos LookType

 

Eu não inventei nada

Isso vem do Tibia Global

Divirtam-se com as fantasias de Carnaval

:XTibia_smile:

Editado por Conde Sapo
Link para o comentário
Compartilhar em outros sites

Valeu pelo script! Perfeito...

 

 

Assim, ao inves de demon, pq eu também nao achei esse look, coloca de Ghaz~ que é: 12.

E os que vc precisa são esses:

 

outfit = {lookType = 91} -- Rahemos

outfit = {lookType = 257} -- Frost Giant

 

Ja testados ;)

 

Pra ficar melhor, bom, eu nao sei, nao sei como é no global, pq vc não coloca aquelas surprise bags no lugar de só bags, bom enfim, brigado pelo script.

Link para o comentário
Compartilhar em outros sites

Pra ficar melhor, bom, eu nao sei, nao sei como é no global,
no global é exatamente assim.

eu não inventei nada

 

 

pq vc não coloca aquelas surprise bags no lugar de só bags,
é facil

 

Basta trocar estas linhas

bag = doPlayerAddItem(cid, 1997, 1) <-- amarela

bag = doPlayerAddItem(cid, 1996, 1) <--- cinza

bag = doPlayerAddItem(cid, 1994, 1) <--- lilas

substitua pelo ID das suprise-bags

 

 

:XTibia_smile:

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 3 weeks later...
  • 2 months later...
×
×
  • Criar Novo...