DO

System Dopushcreature By Dokmos

Por Dokmos, 15 de ago. de 2008 em Actions e Talkactions

otserv
tibia
23
5.7k
DokmosD
15 de agosto de 2008 às 20:12

Bom, já vi várias dúvidas em como criar uma spell/action que empurra o player, mas este não entra para paredes/fields/creatures/etc. Como não vi nenhuma resposta, resolvi liberar meu sistema de empurrar uma criatura para a direção que você escolher (como o doMoveCreature - porém não empurra contra obstáculos).

 

ATENÇÃO CONTEÚDO OBSOLETO!!!



ATUALIZADO NESTE OUTRO TÓPICO

http://www.xtibia.com/forum/Dinastias-Dopu...01-t102517.html

 

 

Atenciosamente,

Dokmos

Editado Fevereiro 6 por Dokmos

mtxxxM
16 de agosto de 2008 às 01:45

Vlw kra , me ajudou p/ caramba !

 

Abraços

pokdoP
16 de agosto de 2008 às 09:22

Vlws Aew Dok Sabia Ki Tu Ia COnceguir

DokmosD
16 de agosto de 2008 às 09:33

@felipe666525

 

Obrigado Felipe, essa função até parece ser simples, mas é de grande utilidade... :great:

deficias14D
16 de agosto de 2008 às 10:43

Bom, valeu!

Ajudou a muitos..

EDIT:

Mais eu queria saber se tem como eu bota na mesma magia pra ir ou pra north sul leste oeste

em uma só magia, aleatoriamente

e outra!

Não só em spells com target mais em spells com área, se você puder ajudar eu agradeço!

Editado Agosto 16 por OneDay

DokmosD
16 de agosto de 2008 às 11:12

@OneDay

 

Tem sim, vou dar um exemplo de direção aleatória...

 

function onSay(cid, words, param)

local target = getCreatureTarget(cid)
local direction = math.random(0,3)

if isCreature(target) == TRUE then
doPushCreature(cid,target,direction)
else
doPlayerSendCancel(cid, "You can only use it on creatures.")
end

end

 

E para utilizar em áreas, é só você pegar a área e localizar o oponente com getThingfromPos e colocar no lugar do target...

deficias14D
16 de agosto de 2008 às 11:29

Obrigado, vou testar aqui :]

16 de agosto de 2008 às 11:33

legal também é a primeira vez q vejo esse tuto

flws

:smile_positivo:

DokmosD
16 de agosto de 2008 às 12:00

@OneDay

 

Criei uma spell de exemplo para lhe mostrar em áreas...

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_POFF)

local function event1(parameters)
if isCreature(getThingfromPos(hitpos1).uid) == 1 then
doPushCreature(parameters.cid, getThingfromPos(hitpos1).uid, 0, -1, 1, 500)
elseif isCreature(getThingfromPos(hitpos2).uid) == 1 then
doPushCreature(parameters.cid, getThingfromPos(hitpos2).uid, 0, -1, 1, 500)
elseif isCreature(getThingfromPos(hitpos3).uid) == 1 then
doPushCreature(parameters.cid, getThingfromPos(hitpos3).uid, 0, -1, 1, 500)
end 
end

local arr = {
{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)

local pos = getPlayerPosition(cid)
local parameters = { cid = cid, var = positionToVariant(getPlayerPosition(cid)) }

hitpos1 = {x=pos.x, y=(pos.y-1), z=pos.z, stackpos=253}
hitpos2 = {x=pos.x, y=(pos.y-2), z=pos.z, stackpos=253}
hitpos3 = {x=pos.x, y=(pos.y-3), z=pos.z, stackpos=253}

addEvent(event1, 0, parameters)
return doCombat(cid, combat, var)

end

 

@danilowarlord

 

Obrigado :plink:

Editado Agosto 23 por Dokmos

2 semanas depois...
14029691
23 de agosto de 2008 às 12:14

Tem como posta como fazer magia sem ser target empurra?

 

Se sim obrigado, não so muito scripper então não entendi o

 

E para utilizar em áreas, é só você pegar a área e localizar o oponente com getThingfromPos e colocar no lugar do target...[\quote]
gustavocordeiroG
23 de agosto de 2008 às 12:32

Muito Bom parabens

Aprovado; :smile_positivo:

pokdoP
26 de agosto de 2008 às 15:52

Sinceramente Dokmos n concegui bota pra fucionar nao =/

 

tem como mim explicar direito?

DokmosD
27 de agosto de 2008 às 14:11

Bom, eu atualizei o script e coloquei em uma função mais simples para usar...

 

Agora estou bastante ocupado com o Avatar Project, então em breve postarei o novo sistema e mostrarei como colocar em spells, peço desculpas pela falta de tempo...

 

Atenciosamente,

Dokmos

1 mês depois...
ThthtT
10 de setembro de 2008 às 14:35

Muito bom!

parabens

agora só tenho que aprener a colocar em uma spell '-'

se voce puder me ajuda a fazer uma spell igual ao rasenan iria ajuda muito =D

frl123F
10 de setembro de 2008 às 16:28

Muito bom

Parabens

ajuda mesmo

flw