CO

Simulando Underwater

Por Conde Sapo, 10 de set. de 2007 em Tutoriais de Mapping

otserv
tibia
script
26
6.8k
Conde SapoC
10 de setembro de 2007 às 02:24

Exclusivo para XTibia

favor não postar em outro forum

 

Alguns servers não dão suporte ao UnderWater

então resolvi fazer uma simulação

 

acrescentar estas linhas no arquivo data\movements\movements.xml

<!-- UnderWater -->
<movevent event="StepIn" itemid="5405" script="UnderWater.lua" />
<movevent event="StepIn" itemid="5406" script="UnderWater.lua" />
<movevent event="StepIn" itemid="5407" script="UnderWater.lua" />
<movevent event="StepIn" itemid="5408" script="UnderWater.lua" />
<movevent event="StepIn" itemid="5409" script="UnderWater.lua" />
<movevent event="StepIn" itemid="5410" script="UnderWater.lua" />

 

criar o arquivo data\movements\scripts\UnderWater.lua

-- Simulação de UnderWater (by Conde Sapo)

function onStepIn(cid, item, frompos, item2, topos)
porcentagem = math.random(1,17)
if porcentagem == 1 then
	-- Manda a "bolhinha" (By KingCPI)
	doSendMagicEffect(frompos, 25)
end

if isPlayer(cid) == 1 then  -- (By Wagasez) (Mudei a posição deste IF - By Sasky)
	Escafandro = getPlayerSlotItem(cid, 1)
	if Escafandro.itemid ~= 5461 then
		-- doSetPlayerCondition(0, cid, CONDITION_DROW, CONST_ME_HITBYFIRE )
		doPlayerAddHealth(cid,-20)
	end
end
return 1
end

 

A unica explicação que eu vejo necessidade é na linha

if getPlayerSlotItem(cid, 1) ~= 5461 then

Só vai tirar hit de 20 se ele NÃO estiver de escafandro na cabeça. (ID 5461)

 

Efeito da "bolhinha" (By KingCPI) ---> Brigaduúúúú

Primeiro criamos um número aleatorio de 1 a 17 (chance 17x)

se o número for 1 vai sair a "bolhinha"

se quizer mais frequente diminua o número.

(neste exemplo é 1 a cada 17 passos na media)

 

 

simples.... mas não é perfeito.

se o player ficar parado não perder hit

 

Divirtam-se

 

Ps.: Se alguém tiver alguma idéia ou dúvida é só falar.

(Fala que eu te escuto)

 

Ps2.: Troquei uniqueid por itemid

Claro que não ia funcionar.

 

Ps3.: KingCPI sugeriu no PM que eu usasse o comando

doSetPlayerCondition(0, cid, CONDITION_DROWNING, CONST_ME_NONE)

Meu OT não dá suporte pra esse comando então não tenho como testa-lo.

 

Ps4.: Wagasez sugeriu no PM que eu usasse o comando isPlayer pra não tirar vida dos bichos também.

Obrigado por essa ótima ideia.

 

Ps5.:Brigadúúú Sasky

os monstros também soltam bolinhas ?
Alterei a posição do 1° IF

Agora vai soltar.

 

 

 

XTibia_smile.gif

Editado Novembro 20 por Conde Sapo

11 de setembro de 2007 às 11:15

Eu Estava procurando issu

E o Undead tbm tava

Mtu Bom

 

Belo tuto

PARABENS....

 

Espero q Seja Aprovado...

 

Abraços...

DeadKennedyD
11 de setembro de 2007 às 12:04

Colocarei um complemento ai blz?

 

ele terá, bolinhas de ar, e um "acerto"

na condição de afogado =D

 

POde incluir no seu topic se quiser!

 

---------------------OOOOOOOOOOOOOOOOOOOOOO----------

Não floodei, o JV que mesclou os topics!!!

 

Tenha Atenção!!!

Editado Setembro 11 por KingCPI

DeadKennedyD
11 de setembro de 2007 às 12:14

Parabéns Conde Sapo!

 

Para deixar seu underwater bem divertido, vão umas bolhas em baixo d'agua.

(isso não fui eu que criei). Crie um bolhinhas_underwater.lua na pasta movements/scripts.

coloque isto:

function onStepIn(cid, item, pos)

porcentagem = math.random(1,17)

if porcentagem == 1 then

doSendMagicEffect(pos, 25)

end

end

 

e em moveevents.xml, vai isso:

<movevent event="StepIn" itemid="5405" script="bolhinhas_underwater.lua" />

<movevent event="StepIn" itemid="5406" script="bolhinhas_underwater.lua" />

<movevent event="StepIn" itemid="5407" script="bolhinhas_underwater.lua" />

<movevent event="StepIn" itemid="5408" script="bolhinhas_underwater.lua" />

<movevent event="StepIn" itemid="5409" script="bolhinhas_underwater.lua" />

<movevent event="StepIn" itemid="5410" script="bolhinhas_underwater.lua" />

 

~creditos desconhecidos~

 

 

Bye

JvchequerJ
11 de setembro de 2007 às 19:50

Tópicos Mesclados para melhor utilidade do usuário.

 

 

 

Olá Xtibiano,

 

Parabéns, seu tutorial foi aprovado.

 

Estarei movendo ele para a área de tutoriais.

 

Obrigado por trazer conteúdo para o Xtibia.com e espero que continue com o ótimo trabalho.

 

 

Atenciosamente,

JV Chequer *Diretor de Fórum Xtibia.com*

Editado Setembro 11 por JV Chequer

kiul12K
11 de setembro de 2007 às 19:54

#Conde Sapo

Parabens!!!

Esse tutorial deveria ser mesmo Aprovado!

Mas como já foi...

 

#KingCPI

Preste mais a atenção evite o Flood

 

Abraços,

IchiiNi

Editado Setembro 11 por IchiiNi

UnDeAd KlOwNU
15 de setembro de 2007 às 12:06

iuaehieuahieaueiah

esse topico foi pra mim neh *-*

xD

thnxxxxxxxxxxxxxxxxxxx !!!

:]

borghiB
16 de setembro de 2007 às 12:26

mtoo bom

xD

1 mês depois...
darkmaleD
01 de outubro de 2007 às 13:58
:D Ta bem legal esse tuto e bem explicadin
griutreG
01 de outubro de 2007 às 14:38

Muito Bom ta de parabens!!!

02 de outubro de 2007 às 18:16

Pelo jeito está bom.

 

Mais nao rola SS

?

rikyR
03 de outubro de 2007 às 20:12

To precisando de ajuda aqui.

Quando coloca isso, todos, não somentes os player (exeto GM, GODs, etc) levam hit, ou sejá os bixos que deveriam

viver debaixo d´agua estão morrendo afogados.

Tem como fazer isso somente se aplicar a players?

 

EDIT:

sempre que algo se anda da um erro:

 

"Lua Scrip error: [Action Interface]

data/actions/scripts/rwintems.lua:onuse

 

LuaDoShowTextWindow<>. Drecated function."

 

Como resolvo?

 

EDIT2:

O erro acim eu já arrumei, agora está dando o seguinte erro quando uma criatura se move:

 

"Lua Scrip error: [MoveEvents Interface]

data/movements/scripts/UnderWater.lua:onStpeIn

LuaGetPlayerSlotItem<>. Player not found"

 

Como arrumar?

Editado Outubro 3 por riky

2 semanas depois...
Conde SapoC
15 de outubro de 2007 às 22:19

@riky

Erros resolvidos com a adição do comando isPlayer no script

 

Desculpa a demora em responder seu post.

 

 

 

imagemquenaoabre.gif

1 mês depois...
FerrysF
09 de novembro de 2007 às 14:03

simples rapido e facil ;~

 

aprovado!

ahmedA
15 de novembro de 2007 às 15:30

muito legal gostei.