Ir para conteúdo
  • 0

Chance telepoted


brendoonh

Pergunta

Bom dia xTibianos..

 

Estou precisando de uma script que ao entrar na area especifica de 15 sqms , aconteceria isso:

- Slow nessa area (configuravel)

- Algum efeito (configuravel)

- chance de ser teleportado (x,y,z) andando nessa area 30%

 

Deu pra entender?? Qualquer coisa da 1 toque q tento explicar melhor..

 

REP+ pra qm ajudar vlws

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

11 respostass a esta questão

Posts Recomendados

  • 0

Vá em movements/scripts
crie um arquivo chamado arquivo.lua

Coloque isto dentro dele:

local condition = createConditionObject(CONDITION_PARALYZE)
local chance = math.random(0, 100)
local position = {x = 123, y = 456, z = 7}
local effect = CONST_ME_GREEN_RINGS

function onStepIn(cid, item, position, fromPosition)

	setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
	setConditionFormula(condition, -0.9, 0, -0.9, 0)
	setCombatCondition(combat, condition)

	doSendMagicEffect(getThingPos(cid), effect) 
	doAddCondition(cid, condition)
	if chance <= 30 then
		doTeleportThing(cid, position)
	end

    return true
end 

function onStepOut(cid, item, position, fromPosition)
	doRemoveCondition(cid, 32)
    return true
end


Agora vá em movements.xml

<movevent type="StepIn" actionid="6353" event="script" value="arquivo.lua"/>
<movevent type="StepOut" actionid="6353" event="script" value="arquivo.lua"/>
Link para o comentário
Compartilhar em outros sites

  • 0

 

Vá em movements/scripts

crie um arquivo chamado arquivo.lua

 

Coloque isto dentro dele:

local condition = createConditionObject(CONDITION_PARALYZE)
local chance = math.random(0, 100)
local position = {x = 123, y = 456, z = 7}
local effect = CONST_ME_GREEN_RINGS

function onStepIn(cid, item, position, fromPosition)

	setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
	setConditionFormula(condition, -0.9, 0, -0.9, 0)
	setCombatCondition(combat, condition)

	doSendMagicEffect(getThingPos(cid), effect) 
	doAddCondition(cid, condition)
	if chance <= 30 then
		doTeleportThing(cid, position)
	end

    return true
end 

function onStepOut(cid, item, position, fromPosition)
	doRemoveCondition(cid, 32)
    return true
end

 

Agora vá em movements.xml

<movevent type="StepIn" actionid="6353" event="script" value="arquivo.lua"/>
<movevent type="StepOut" actionid="6353" event="script" value="arquivo.lua"/>

Exatamente isso!! Porém deu esse erro, e acho que devido a isso, nao ta sendo teleportado..

j13gol.png

up

Link para o comentário
Compartilhar em outros sites

  • 0


local chance = math.random(0, 100)

local position = {x = 123, y = 456, z = 7}

local effect = CONST_ME_GREEN_RINGS

 

function onStepIn(cid, item, position, fromPosition)

 

setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)

setConditionFormula(condition, -0.9, 0, -0.9, 0)

setCombatCondition(combat, condition)

local condition = createConditionObject(CONDITION_PARALYZE)

 

doSendMagicEffect(getThingPos(cid), effect)

doAddCondition(cid, condition)

if chance <= 30 then

doTeleportThing(cid, position)

end

 

return true

end

 

function onStepOut(cid, item, position, fromPosition)

doRemoveCondition(cid, 32)

return true

end

 

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

  • 0
local chance = math.random(0, 100)
local position = {x = 123, y = 456, z = 7}
local effect = CONST_ME_GREEN_RINGS

function onStepIn(cid, item, position, fromPosition)

	setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
	setConditionFormula(condition, -0.9, 0, -0.9, 0)
	setCombatCondition(combat, condition)
	local condition = createConditionObject(CONDITION_PARALYZE)

	doSendMagicEffect(getThingPos(cid), effect) 
	doAddCondition(cid, condition)
	if chance <= 30 then
		doTeleportThing(cid, position)
	end

    return true
end 

function onStepOut(cid, item, position, fromPosition)
	doRemoveCondition(cid, 32)
    return true
end

1zlf4ae.png

Link para o comentário
Compartilhar em outros sites

  • 0

Eta coloquei a variável nos lugares errados 2 vezes...

 

agora vai:

local chance = math.random(0, 100)
local position = {x = 123, y = 456, z = 7}
local effect = CONST_ME_GREEN_RINGS

function onStepIn(cid, item, position, fromPosition)

	local condition = createConditionObject(CONDITION_PARALYZE)
	setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
	setConditionFormula(condition, -0.9, 0, -0.9, 0)

	doSendMagicEffect(getThingPos(cid), effect) 
	doAddCondition(cid, condition)
	if chance <= 30 then
		doTeleportThing(cid, position)
	end

    return true
end 

function onStepOut(cid, item, position, fromPosition)
	doRemoveCondition(cid, CONDITION_PARALYZE)
    return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

Eta coloquei a variável nos lugares errados 2 vezes...

 

agora vai:

local chance = math.random(0, 100)
local position = {x = 123, y = 456, z = 7}
local effect = CONST_ME_GREEN_RINGS

function onStepIn(cid, item, position, fromPosition)

	local condition = createConditionObject(CONDITION_PARALYZE)
	setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
	setConditionFormula(condition, -0.9, 0, -0.9, 0)

	doSendMagicEffect(getThingPos(cid), effect) 
	doAddCondition(cid, condition)
	if chance <= 30 then
		doTeleportThing(cid, position)
	end

    return true
end 

function onStepOut(cid, item, position, fromPosition)
	doRemoveCondition(cid, CONDITION_PARALYZE)
    return true
end

O erro foi corrigido, editei aqui a parte da % para ser teleportado para 100, andei durante 3 minutos e n fui teleportado o.O

 

E eu tinha mudado o efeito para o 34, nesse eu vi que é diferente pq é uma "tag" e nao sei como é agora, mais o efeito que eu quero é aquele tipo do "exori mas" , teria como mudar? Isso eu mesmo mudaria mais n conhece os efeitos por tag..

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

  • 0

Opa, outro erro básico:

local position = {x = 123, y = 456, z = 7}
local effect = CONST_ME_GREEN_RINGS

function onStepIn(cid, item, position, fromPosition)

	local chance = math.random(0, 100)
	local condition = createConditionObject(CONDITION_PARALYZE)
	setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
	setConditionFormula(condition, -0.9, 0, -0.9, 0)

	doSendMagicEffect(getThingPos(cid), effect) 
	doAddCondition(cid, condition)
	print(chance)
	if chance <= 30 then
		doTeleportThing(cid, position)
	end

    return true
end 

function onStepOut(cid, item, position, fromPosition)
	doRemoveCondition(cid, CONDITION_PARALYZE)
    return true
end

Agora vai...

 

Sobre a TAG, você fala do CONST_ME_GREEN_RINGS ? tanto faz colocar números ou palavras, eu prefiro palavras, pois é mais fácil de decorar qual é.

 

Veja os efeitos, tá no spoiler de CONST_ME e CONST_ANI

http://www.xtibia.com/forum/topic/237220-lib-000-const/

 

Lista de const_me tibia padrão 8.6

 

CONST_ME_DRAWBLOOD = 0
CONST_ME_LOSEENERGY = 1
CONST_ME_POFF = 2
CONST_ME_BLOCKHIT = 3
CONST_ME_EXPLOSIONAREA = 4
CONST_ME_EXPLOSIONHIT = 5
CONST_ME_FIREAREA = 6
CONST_ME_YELLOW_RINGS = 7
CONST_ME_GREEN_RINGS = 8
CONST_ME_HITAREA = 9
CONST_ME_TELEPORT = 10
CONST_ME_ENERGYHIT = 11
CONST_ME_MAGIC_BLUE = 12
CONST_ME_MAGIC_RED = 13
CONST_ME_MAGIC_GREEN = 14
CONST_ME_HITBYFIRE = 15
CONST_ME_HITBYPOISON = 16
CONST_ME_MORTAREA = 17
CONST_ME_SOUND_GREEN = 18
CONST_ME_SOUND_RED = 19
CONST_ME_POISONAREA = 20
CONST_ME_SOUND_YELLOW = 21
CONST_ME_SOUND_PURPLE = 22
CONST_ME_SOUND_BLUE = 23
CONST_ME_SOUND_WHITE = 24
CONST_ME_BUBBLES = 25
CONST_ME_CRAPS = 26
CONST_ME_GIFT_WRAPS = 27
CONST_ME_FIREWORK_YELLOW = 28
CONST_ME_FIREWORK_RED = 29
CONST_ME_FIREWORK_BLUE = 30
CONST_ME_STUN = 31
CONST_ME_SLEEP = 32
CONST_ME_WATERCREATURE = 33
CONST_ME_GROUNDSHAKER = 34
CONST_ME_HEARTS = 35
CONST_ME_FIREATTACK = 36
CONST_ME_ENERGYAREA = 37
CONST_ME_SMALLCLOUDS = 38
CONST_ME_HOLYDAMAGE = 39
CONST_ME_BIGCLOUDS = 40
CONST_ME_ICEAREA = 41
CONST_ME_ICETORNADO = 42
CONST_ME_ICEATTACK = 43
CONST_ME_STONES = 44
CONST_ME_SMALLPLANTS = 45
CONST_ME_CARNIPHILA = 46
CONST_ME_PURPLEENERGY = 47
CONST_ME_YELLOWENERGY = 48
CONST_ME_HOLYAREA = 49
CONST_ME_BIGPLANTS = 50
CONST_ME_CAKE = 51
CONST_ME_GIANTICE = 52
CONST_ME_WATERSPLASH = 53
CONST_ME_PLANTATTACK = 54
CONST_ME_TUTORIALARROW = 55
CONST_ME_TUTORIALSQUARE = 56
CONST_ME_MIRRORHORIZONTAL = 57
CONST_ME_MIRRORVERTICAL = 58
CONST_ME_SKULLHORIZONTAL = 59
CONST_ME_SKULLVERTICAL = 60
CONST_ME_ASSASSIN = 61
CONST_ME_STEPSHORIZONTAL = 62
CONST_ME_BLOODYSTEPS = 63
CONST_ME_STEPSVERTICAL = 64
CONST_ME_YALAHARIGHOST = 65
CONST_ME_BATS = 66
CONST_ME_SMOKE = 67
CONST_ME_INSECTS = 68
CONST_ME_NONE = 255
CONST_ME_LAST = CONST_ME_INSECTS

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Opa, outro erro básico:

local position = {x = 123, y = 456, z = 7}
local effect = CONST_ME_GREEN_RINGS

function onStepIn(cid, item, position, fromPosition)

	local chance = math.random(0, 100)
	local condition = createConditionObject(CONDITION_PARALYZE)
	setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
	setConditionFormula(condition, -0.9, 0, -0.9, 0)

	doSendMagicEffect(getThingPos(cid), effect) 
	doAddCondition(cid, condition)
	print(chance)
	if chance <= 30 then
		doTeleportThing(cid, position)
	end

    return true
end 

function onStepOut(cid, item, position, fromPosition)
	doRemoveCondition(cid, CONDITION_PARALYZE)
    return true
end

Agora vai...

 

Sobre a TAG, você fala do CONST_ME_GREEN_RINGS ? tanto faz colocar números ou palavras, eu prefiro palavras, pois é mais fácil de decorar qual é.

 

Veja os efeitos, tá no spoiler de CONST_ME e CONST_ANI

http://www.xtibia.com/forum/topic/237220-lib-000-const/

 

Lista de const_me tibia padrão 8.6

 

CONST_ME_DRAWBLOOD = 0
CONST_ME_LOSEENERGY = 1
CONST_ME_POFF = 2
CONST_ME_BLOCKHIT = 3
CONST_ME_EXPLOSIONAREA = 4
CONST_ME_EXPLOSIONHIT = 5
CONST_ME_FIREAREA = 6
CONST_ME_YELLOW_RINGS = 7
CONST_ME_GREEN_RINGS = 8
CONST_ME_HITAREA = 9
CONST_ME_TELEPORT = 10
CONST_ME_ENERGYHIT = 11
CONST_ME_MAGIC_BLUE = 12
CONST_ME_MAGIC_RED = 13
CONST_ME_MAGIC_GREEN = 14
CONST_ME_HITBYFIRE = 15
CONST_ME_HITBYPOISON = 16
CONST_ME_MORTAREA = 17
CONST_ME_SOUND_GREEN = 18
CONST_ME_SOUND_RED = 19
CONST_ME_POISONAREA = 20
CONST_ME_SOUND_YELLOW = 21
CONST_ME_SOUND_PURPLE = 22
CONST_ME_SOUND_BLUE = 23
CONST_ME_SOUND_WHITE = 24
CONST_ME_BUBBLES = 25
CONST_ME_CRAPS = 26
CONST_ME_GIFT_WRAPS = 27
CONST_ME_FIREWORK_YELLOW = 28
CONST_ME_FIREWORK_RED = 29
CONST_ME_FIREWORK_BLUE = 30
CONST_ME_STUN = 31
CONST_ME_SLEEP = 32
CONST_ME_WATERCREATURE = 33
CONST_ME_GROUNDSHAKER = 34
CONST_ME_HEARTS = 35
CONST_ME_FIREATTACK = 36
CONST_ME_ENERGYAREA = 37
CONST_ME_SMALLCLOUDS = 38
CONST_ME_HOLYDAMAGE = 39
CONST_ME_BIGCLOUDS = 40
CONST_ME_ICEAREA = 41
CONST_ME_ICETORNADO = 42
CONST_ME_ICEATTACK = 43
CONST_ME_STONES = 44
CONST_ME_SMALLPLANTS = 45
CONST_ME_CARNIPHILA = 46
CONST_ME_PURPLEENERGY = 47
CONST_ME_YELLOWENERGY = 48
CONST_ME_HOLYAREA = 49
CONST_ME_BIGPLANTS = 50
CONST_ME_CAKE = 51
CONST_ME_GIANTICE = 52
CONST_ME_WATERSPLASH = 53
CONST_ME_PLANTATTACK = 54
CONST_ME_TUTORIALARROW = 55
CONST_ME_TUTORIALSQUARE = 56
CONST_ME_MIRRORHORIZONTAL = 57
CONST_ME_MIRRORVERTICAL = 58
CONST_ME_SKULLHORIZONTAL = 59
CONST_ME_SKULLVERTICAL = 60
CONST_ME_ASSASSIN = 61
CONST_ME_STEPSHORIZONTAL = 62
CONST_ME_BLOODYSTEPS = 63
CONST_ME_STEPSVERTICAL = 64
CONST_ME_YALAHARIGHOST = 65
CONST_ME_BATS = 66
CONST_ME_SMOKE = 67
CONST_ME_INSECTS = 68
CONST_ME_NONE = 255
CONST_ME_LAST = CONST_ME_INSECTS

 

 

Nada de ser teleportado... Notei na distro que todo passo que eu do nessa area a distro registra um par de numeros, parece que é a porcentagem de ser teleportado, se for mesmo isso era pra ter sido, pois numeros como 98,96,95 foi registrado na distro, se nao for desconsidere, de resto ta tudo como eu queria.. So a parte de ser teleportado que nao tá indo..

@edit , foto >

a3gqv4.png

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

  • 0
Nada de ser teleportado... Notei na distro que todo passo que eu do nessa area a distro registra um par de numeros, parece que é a porcentagem de ser teleportado, se for mesmo isso era pra ter sido, pois numeros como 98,96,95 foi registrado na distro, se nao for desconsidere, de resto ta tudo como eu queria.. So a parte de ser teleportado que nao tá indo.. @edit , foto >

 

Não é assim, são 100 números, que são sorteados de 0 a 100, se o número for menor ou igual a 30, ele teleporta...

era para ter teleportado quando deu 19, 27 e 18....

 

Só que, a position estava sendo outro valor, no caso, o tile que o cid estava em cima, o script estava sim teleportando, porém para o mesmo local....

local effect = CONST_ME_GREEN_RINGS

function onStepIn(cid, item, position, fromPosition)

	local chance = math.random(0, 100)
	local condition = createConditionObject(CONDITION_PARALYZE)
	local pos = {x = 40, y = 139, z = 7}
	setConditionParam(condition, CONDITION_PARAM_TICKS, 20000)
	setConditionFormula(condition, -0.9, 0, -0.9, 0)

	doSendMagicEffect(getThingPos(cid), effect) 
	doAddCondition(cid, condition)

	if chance <= 30 then
		doTeleportThing(cid, pos)
	end

    return true
end 

function onStepOut(cid, item, position, fromPosition)
	doRemoveCondition(cid, CONDITION_PARALYZE)
    return true
end
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...