CO

Npc Stan

Por Conde Sapo, 04 de fev. de 2008 em NPCs, monsters e raids

otserv
tibia
15
5k
Conde SapoC
04 de fevereiro de 2008 às 16:20

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 Fevereiro 4 por Conde Sapo

ClaudiooC
04 de fevereiro de 2008 às 20:39

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.

Conde SapoC
04 de fevereiro de 2008 às 23:20
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:

DartilusD
05 de fevereiro de 2008 às 00:03

Gostei cara, nunca tive vontade de ir até Venore (certo?) pegar uma =X.

Me responde uma coisa, quanto tempo fica a fantasia?Até o carnaval acabar?

 

Atenciosamente,

Dartilus

ClaudiooC
05 de fevereiro de 2008 às 03:39

Ah, eu sei que é fácil, só sugeri :(

até coloquei, mas ai fico zuado porque faltou uma (surprise só tem red e blue :/)

nextskyN
05 de fevereiro de 2008 às 06:08

Aqui funcionou legal obrigada conde pelo tutorial ele vai ser bem utilizado nesse carnaval.

FAG10F
06 de fevereiro de 2008 às 20:20

Funfo mtu lokooo

flww ;D

DaNDaNrOxXD
09 de fevereiro de 2008 às 14:57

Puts muito bom como tudo que você faz né :D ja coloquei no meu ot e ficou muito bom! Obrigado!!!

matheusbmM
09 de fevereiro de 2008 às 16:21

Onda cara valeu ai?

2 meses depois...
22 de abril de 2008 às 21:02

Cara sempre fui teu fa tu se gasta muito faz coisas impossiveis

segue assim e eu serei seu fa

 

 

Sou Fan de :

ixijs0.jpg

 

mybar992as3.png

 

dandan983lw2.gif

 

condesapofan2sz1.gif

Editado Abril 22 por DevilManCray

OrangeO
24 de abril de 2008 às 23:18

xD

26 de abril de 2008 às 10:26

@Orange

 

Alertado por flood.

1 mês depois...
ThthtT
11 de maio de 2008 às 11:03

muito bom =D

achei bem criativo

faveladoF
14 de maio de 2008 às 03:23

Me lembro ate hj quando eu vi isso pela primera vez, eu saindo de Thais vi um cara de Demon! lol

Foi muito comedia..

 

@topic.

Muito bom! =P

2 meses depois...
vitimanV
27 de julho de 2008 às 16:22

Bem nao intendi direito mas o q ele faz afinal

eu vi que veio do global mas o q ele , faz?