Jump to content
×
×
  • Create New...
  • 0

(Pedido) Script de teletransporte em membros da party


Question

Versão do Servidor: TFS - 0.4
Tipo de Script: spell
Código:
 

    

BOM DIA/TARDE/NOITE GOSTARIA DE UM SCRIPT PARECIDO COM O TELETRANSPORTE DO GOKU, TEM ALGO PARECIDO NO PROPRIO SERVER QUE É O TALKALCTION /C
QUE TELEPORTA O GM E O ADM PARA QUALQUER PLAYER, MAS NESSE CASO EU QUERIA QUE FOSSE UMA SPELL QUE CASO ATIVADA COM O COMANDO "TELETRANSPORTE NOME DO PLAYER" TELETRANSPORTASSE O PLAYER PARA QUALQUER OUTRO PLAYER QUE ESTEJA NA MESMA PARTY. 
UTILIZAR ESSE TALKACTION NÃO IRIA FUNCIONAR POIS CASO O PLAYER SE TELETRANSPORTASSE PARA ALGUEM QUE ESTIVESSE DENTRO DE UMA HOUSE POR EXEMPLO PODERIA ACABAR ROUBANDO OS ITENS.
DESDE JÁ AGRADEÇO!

Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0
local config = 
{ 
effect = 65, -- efeito    
cost = 1000 -- mana necessaria
}
               
function onCastSpell(cid, var)    
local mana = getPlayerMana(cid)  
local players = getPartyMembers(cid)
     

	if isPlayer(cid) and mana < config.cost then        
		doCreatureAddHealth(cid, -(config.cost-mana))    
	end   
	
	if not isInParty(cid) then
		doPlayerSendCancel(cid, "Você ainda não está em party.")
	end
	
	if isCreature(cid) then    
		for i, k in ipairs(players) do
			doTeleportThing(cid, getThingPos(k)) 
			doSendMagicEffect(getThingPos(cid), config.effect)        
			doPlayerAddSpentMana(cid, -mana)        
			doPlayerAddMana(cid, -mana)          
			doSendMagicEffect(getThingPos(cid), config.effect)   
		end
	end
return true
end

 

se o player nao tiver mana, vai comer da life dele.. se o player estiver em PZ/house, n tem como usar a spell.

spells.xml:

	<instant name="Puff!" words="teletransporte" lvl="100" mana="1000" prem="0" aggressive="0" selftarget="1" params="1" exhaustion="2000" needlearn="0" event="script" value="teste.lua">
		<vocation id="1"/>
	</instant>

testa ae ^^

Link to post
Share on other sites
  • 0
11 minutos atrás, Deadpool disse:

local config = 
{ 
effect = 65, -- efeito    
cost = 1000 -- mana necessaria
}
               
function onCastSpell(cid, var)    
local mana = getPlayerMana(cid)  
local players = getPartyMembers(cid)
     

	if isPlayer(cid) and mana < config.cost then        
		doCreatureAddHealth(cid, -(config.cost-mana))    
	end   
	
	if not isInParty(cid) then
		doPlayerSendCancel(cid, "Você ainda não está em party.")
	end
	
	if isCreature(cid) then    
		for i, k in ipairs(players) do
			doTeleportThing(cid, getThingPos(k)) 
			doSendMagicEffect(getThingPos(cid), config.effect)        
			doPlayerAddSpentMana(cid, -mana)        
			doPlayerAddMana(cid, -mana)          
			doSendMagicEffect(getThingPos(cid), config.effect)   
		end
	end
return true
end

 

se o player nao tiver mana, vai comer da life dele.. se o player estiver em PZ/house, n tem como usar a spell.

spells.xml:


	<instant name="Puff!" words="teletransporte" lvl="100" mana="1000" prem="0" aggressive="0" selftarget="1" params="1" exhaustion="2000" needlearn="0" event="script" value="teste.lua">
		<vocation id="1"/>
	</instant>

testa ae ^^

Deu certinho mano vlw mesmo, so que deu um probleminha e surgiu uma duvida.

Quando eu me teletransporto para algum player que ta na pt meu magiclevel sobe para 150 da um up muito alto do nada. 
e a duvida é caso tenha mais de algum player na party tem como escolher para qual vai ser o teletransporte?

2 minutos atrás, Sugismundo disse:

Deu certinho mano vlw mesmo, so que deu um probleminha e surgiu uma duvida.

Quando eu me teletransporto para algum player que ta na pt meu magiclevel sobe para 150 da um up muito alto do nada. 
e a duvida é caso tenha mais de algum player na party tem como escolher para qual vai ser o teletransporte?

[Error - Spell Interface]
[22:52:43.398] data/spells/scripts/Goku/teletransporte.lua:onCastSpell
[22:52:43.400] Description:
[22:52:43.401] data/spells/scripts/Goku/teletransporte.lua:21: bad argument #1 to 'ipairs' (table expected, got boolean)
[22:52:43.402] stack traceback:
[22:52:43.402]  [C]: in function 'ipairs'
[22:52:43.403]  data/spells/scripts/Goku/teletransporte.lua:21: in function <data/spells/scripts/Goku/teletransporte.lua:7>

 

deu bem esse erro na distro

Link to post
Share on other sites
  • 0
local config = 
{ 
effect = 65, -- efeito    
}
               
function onCastSpell(cid, var)    
local players = getPartyMembers(cid)
     
	
	if not isInParty(cid) then
		doPlayerSendCancel(cid, "Você ainda não está em party.")
	end
	
	if isCreature(cid) then    
		for i, k in ipairs(players) do
			doTeleportThing(cid, getThingPos(k)) 
			doSendMagicEffect(getThingPos(cid), config.effect)              
			doSendMagicEffect(getThingPos(cid), config.effect)   
		end
	end
return true
end

testea, me manda o xml que tu add

Link to post
Share on other sites
  • 0
13 minutos atrás, Deadpool disse:

local config = 
{ 
effect = 65, -- efeito    
}
               
function onCastSpell(cid, var)    
local players = getPartyMembers(cid)
     
	
	if not isInParty(cid) then
		doPlayerSendCancel(cid, "Você ainda não está em party.")
	end
	
	if isCreature(cid) then    
		for i, k in ipairs(players) do
			doTeleportThing(cid, getThingPos(k)) 
			doSendMagicEffect(getThingPos(cid), config.effect)              
			doSendMagicEffect(getThingPos(cid), config.effect)   
		end
	end
return true
end

testea, me manda o xml que tu add

<instant name="Teletransporte" words="teletransporte" lvl="10" mana="1000" prem="0" aggressive="0" selftarget="1" params="1" exhaustion="2000" needlearn="0" event="script" value="Goku/teletransporte.lua">
    <vocation id="1"/>
    <vocation id="2"/>
    <vocation id="3"/>
    </instant>

 

adcionei esse que vc me mandou, a respeito do teletransporte ele sempre vai no ultimo membro que deu entrou na party, tem como alterar para mim escolher em quem ir?

O teletransporte em si ta certinho agora, não esta upando mais o ml para o maximo, e mais essa duvida mesmo agora

Link to post
Share on other sites
  • 0
1 minuto atrás, Sugismundo disse:

<instant name="Teletransporte" words="teletransporte" lvl="10" mana="1000" prem="0" aggressive="0" selftarget="1" params="1" exhaustion="2000" needlearn="0" event="script" value="Goku/teletransporte.lua">
    <vocation id="1"/>
    <vocation id="2"/>
    <vocation id="3"/>
    </instant>

 

adcionei esse que vc me mandou, a respeito do teletransporte ele sempre vai no ultimo membro que deu entrou na party, tem como alterar para mim escolher em quem ir?

O teletransporte em si ta certinho agora, não esta upando mais o ml para o maximo, e mais essa duvida mesmo agora

rapaz, achei que era aleatorio, tem sim, mas agora n vou poder fazer, assim q eu fazer eu posto

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now