[Action]-[Talkaction] Fly System

DevilMoon
em Actions e Talkactions
  • 1
  • 2

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Ola Eks Tibianos, Vim postar um Script de Fly System dando Use em Um Item!!!

Voce esta se Perguntando!! Nummm Item????

Isso Mesmo!!

 

Talkaction Explicaçao:

 

/flyup = Verifica se tem o Piso itemid= 260 que é o Tile Invisivel e ve se nao tem nada acima para voce subir!!

 

/flydown = Verifica se tem tem algo que voce nao pode descer como arvores paredes e etc....

 

-------------

 

Action Explicaçao: Voce da Use no Item e Sobe a Cima no Tile! ou Descee!!

 

vá em Data>Actions>Scripts crie uma pasta.lua chamada actionfly e coloque isso:

 

local t =   {
[150] = {outfit='dragon', text='Fly, dragon!', dtext='Go down, dragon!'} -- Falas
}       
local thisCondition = createConditionObject(CONDITION_OUTFIT)
setConditionParam(thisCondition, CONDITION_PARAM_TICKS, -1)
addOutfitCondition(thisCondition, {lookType = 32, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0}) -- Outfit
function onUse(cid, item, fromPosition, itemEx, toPosition)
local v, r, s = getCreaturePosition(cid), t[item.itemid], 100
local pos = {x = v.x, y = v.y, z = 6} ----- Onde ele Precisa para dar Down -- Pode Modificar do 0 ao 7
local posd = {x = v.x, y = v.y, z = 7} ---- Onde ele Precisa para Dar Up -- Pode Modificar do 7 ao 0
if r then
	if v.z == 7 then
		if getTileItemById(pos, 460).uid > 0 then -- id do tile
			if doTeleportThing(cid, pos, false) then
				doSendMagicEffect(pos, 10) -- efeito
				doCreatureSay(cid, r.text, 19)
				return doAddCondition(cid, thisCondition)
			else
				return doPlayerSendCancel(cid, 'You can\'t fly here.')
			end    
		else
			return doPlayerSendCancel(cid, 'You can\'t fly here.')
		end
	elseif v.z == 6 then
		if doTeleportThing(cid, posd, false) then
			doSendMagicEffect(posd, 10) -- efeito
			doCreatureSay(cid, r.dtext, 19)
			return doRemoveCondition(cid, CONDITION_OUTFIT)
		else
			return doPlayerSendCancel(cid, 'You can\'t land here.')
		end
	else
		return doPlayerSendCancel(cid, 'You can\'t fly here.')
	end
else
	return doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, 'There has been some error, try contacting a staff member.')
end
end

 

Ok Acabamos... Uffa agora vamos ao Action.xml Adicione Isso:

 

<action itemid="SEU ITEM" event="script" value="actionfly.lua"/>

 

Ok Agora vamos em Talkaction...

 

Vá em Data>Talkactions>Scripts crie uma pasta.lua chamada flyinfo e Adicione isso:

 

local s = {
{100}
}

local water = {4608,4609,4610,4611,4612,4613,4614,4615,4616,4617,4618,4619,4664,4665,4666,5757,5756,5755,5759,5760,5758,5761}
function onSay(cid,words,param)
for _,i in ipairs(s) do
	local r = i[1]
	local v = getThingPos(cid)
	local up,down = {x=v.x,y=v.y,z=v.z-1},{x=v.x,y=v.y,z=v.z+1}
	if words == '/flyup' then
		if getPlayerStorageValue(cid,r) > 0 then
			if getTileItemById(up,460).uid > 0 then
				doPlayerSendTextMessage(cid,20,'[Flying] You have flown up.')
				doSendMagicEffect(up,10)
				doCreatureSay(cid,'Up!',19)
				doTeleportThing(cid,up)
				return doSendMagicEffect(up,10)
			else
				doPlayerSendTextMessage(cid,20,'[Flying] You can\'t fly here.')
			end
		else
			doPlayerSendTextMessage(cid,20,'[Flying] You aren\'t mounted.')
		return true
		end
	elseif words == '/flydown' then
		if getPlayerStorageValue(cid,r) > 0 then
			if v.z >= 7 == false then
				if getHouseFromPos(down) == false then
					if(getTileItemById(down,(isInArray(water,itemid)),false).uid) then
						if getTileItemById(v,460).uid > 0 then
							doPlayerSendTextMessage(cid,20,'[Flying] You have flown down.')
							doSendMagicEffect(down,10)
							doCreatureSay(cid,'Down!',19)
							doTeleportThing(cid,down)
							return doSendMagicEffect(down,10)
						else
							doPlayerSendTextMessage(cid,20,'[Flying] You can\'t fly into ground.')
						end
					else
						doPlayerSendTextMessage(cid,20,'[Flying] You can\'t fly on water.')
					end
				else
					doPlayerSendTextMessage(cid,20,'[Flying] This is a house!')
				end
			else
				doPlayerSendTextMessage(cid,20,'[Flying] You can\'t fly into ground.')
			end
		else
			doPlayerSendTextMessage(cid,20,'[Flying] You aren\'t mounted!')
		return true
	end
end
return true
end
end

 

Ufa, Agora vamos a Data>Talkactions.xml e Adicione Isso!!

 

<talkaction words="/flyup;/flydown" event="script" value="flyinfo.lua"/>

 

Creditos:

 

Google Tradutor

unknown666

 

Gostou do Script? Rep+ :p

 

Duvidas, Elogios neste Topico!!

 

Abraços..

Contato: DevilMoon@Xtibia.com

Doidin

Delícia
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/06/08Posts: 723Gênero: MasculinoChar no Tibia: Diiva

Cara você testou o script onUse?

Que eu saiba não funciona funções condition em scripts onUse... Posso estar enganado. =)

 

Tem um script semelhante a essa aqui no XTibia, mas o seu script ficou ótimo, parabéns! (;

Meu site pessoal:
https://devmat.com.br/


dono do um sitezinho qualquer

o lado negro da força, bjs

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Nao eu Testei aki em Casa do Loko, Tive que da umas ageitadas o Original tava Meio Bugado!!

Tipow do Use no Item e Vo para o Floor 0....La em Cima do Use denovo vou pro 7 !! So um Exemplo..

Contato: DevilMoon@Xtibia.com

Kydrai

"Keep Your Mind Wide Open"
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/08/06Posts: 250

Não gostei muito desse fly ai não, ta meio mal feito com umas coisas sem sentido.

~ Kydrai
Programador / Scripter

 

sign.png

3440245

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/03/08Posts: 2Char no Tibia: Makumberow
local pos = {x = v.x, y = v.y, z = 6} ----- Onde ele Precisa para dar Down -- Pode Modificar do 0 ao 7

local posd = {x = v.x, y = v.y, z = 7} ---- Onde ele Precisa para Dar Up -- Pode Modificar do 7 ao 0

 

isso significa que o cara só pode dizer o /flyup quando tiver no andar 6

e o /flydown quando tiver no andar 7?

 

tem como eu acrescentar pra ele poder usar em todos,

e se tiver em um determinado andar ele n pode subir mais?

pq no meu server tem várias "dimensões" e a partir de certo andar, começa o piso da outra dimensão

 

tipo assim, se tiver no andar 7, o player pode subir 3 andares, mas n pode subir mais que o andar 10

 

dai se o player tiver no andar 11, ele pode subir até o 14

mas se tiver no 11, não pode descer mesmo se encontrar um lugar vago

 

acho que esses ajustes são simples...

só me diz mais ou menos se tem como que eu tento ajeitar aqui :D

 

já dei +rep

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Se Ele , Estiver no Andar 7 E Falar /flydown aparecera que oque tem em bacho.. Porque o Tile 260 ( N Lembro se é Esse ) o Invisivel é um Tile normal como qualquer outro so que invisivel, entao vai dizer oque tem abaicho!!

e no Ultimo .Nao Testei ainda. Vou testar e dou um Edit!!

 

Abraços..

Contato: DevilMoon@Xtibia.com

iago14

God Killer
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/11/08Posts: 2Char no Tibia: Nao tem

Mto bom o script ja vo testa ele :D

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

ok se haver algum erro poste para eu ageitar..

Contato: DevilMoon@Xtibia.com

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

ok se haver algum erro poste para eu ageitar..

Contato: DevilMoon@Xtibia.com

bagdarapaq

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/08/10Posts: 3

ajuda o meu da erro

[11/09/2010 16:08:29] luaAddOutfitCondition(). Condition not found

[11/09/2010 16:08:29] [Warning - BaseEvents::loadFromXml] Cannot open talkactions.xml file.

[11/09/2010 16:08:29] Line: 106, Info: Extra content at the end of the document

 

 

[11/09/2010 16:08:29] > ERROR: Unable to load TalkActions!

BlackStoner

Eu so Foda
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/08/10Posts: 9

galera editei mais algumas coisas aki, quando sair minha suspensao edito o topic!!

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

[11/09/2010 16:08:29] luaAddOutfitCondition(). Condition not found

[11/09/2010 16:08:29] [Warning - BaseEvents::loadFromXml] Cannot open talkactions.xml file.

[11/09/2010 16:08:29] Line: 106, Info: Extra content at the end of the document

 

 

[11/09/2010 16:08:29] > ERROR: Unable to load TalkActions!

 

Voce colocou Algo Errado na Talkactions.xml que ela nao Esta Abrindo.

Abrá-la, Coloque CTRL+G e coloca 106 lá estara o Erro, que nem Diz o Erro no Distro.

 

 

Line: 106 = Linha: 106

 

na Linha 106 Esta o Erro do Script, Aperte CTRL + G coloque 106 e De Ok e Mande para min se Conseguir Arrumar Pronto.

 

 

Abraços..

Contato: DevilMoon@Xtibia.com

1931461

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/09/08Posts: 22

bom não sei o que houve o script num da debug mais quando eu usso o comando /flyup ele aparece essa mensaguem 04:45 [Flying] You aren't mounted. oque é isso alguem me ajuda

 

Edit e tambem daesse erro quando eu uso o item 04:56 There has been some error, try contacting a staff member.

LaisDosOts

asfassda
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/09/10Posts: 84Gênero: Feminino

Sim ficou bom... Mas dava pra melhorar.

E você fez um Duplo post

Postou 07 setembro 2010 - 11:05

 

ok se haver algum erro poste para eu ageitar..

 

Pergunta:

É tipo o !fly system do Forcera mas Modificado do ZERO? ' - '

 

@Edit

Desculpa por ter falado do Duplo Post. Postou os doisna mesma hora, só pode ter sido erro.

Desculpa ' - ' ²

LaísNãoéMaisDosOts

Caronte

Ex-Moderador de Scripting
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 25/09/10Posts: 1341Gênero: Masculino

consegui fazer mas é muito complicado na primeira vez

em que eu fiz nao consegui tive que trocar de map

mas ae na segunda deu certo maneiro o script do pet !! VLW

  • 1
  • 2