Ir para conteúdo
  • 0

[Duvida] Ajuda Aqui Urgente !


soulpop

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

Vai em data/talkactions/scripts abre o teleportto.lua e substitui por isso:

function getPlayerOnlineWithIp(ip)
   for i,x in pairs(getPlayersOnline()) do
       if doConvertIntegerToIp(getPlayerIp(x)) == ip then
           return x
       end
   end
end

function onSay(cid, words, param, channel)
if(param == '') then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
	return true
end

local creature = getCreatureByName(param)
local player = getPlayerByNameWildcard(param)
local waypoint = getWaypointPosition(param)
local tile = string.explode(param, ",")
local pos = {x = 0, y = 0, z = 0}
local playerbyip = getPlayerOnlineWithIp(param)


if(player ~= nil and (not isPlayerGhost(player) or getPlayerGhostAccess(player) <= getPlayerGhostAccess(cid))) then
	pos = getCreaturePosition(player)
elseif(creature ~= nil and (not isPlayer(creature) or (not isPlayerGhost(creature) or getPlayerGhostAccess(creature) <= getPlayerGhostAccess(cid)))) then
	pos = getCreaturePosition(creature)
elseif(type(waypoint) == 'table' and waypoint.x ~= 0 and waypoint.y ~= 0) then
	pos = waypoint
elseif(tile[2] and tile[3]) then
	pos = {x = tile[1], y = tile[2], z = tile[3]}
elseif(isPlayer(playerbyip)) then
    pos = getCreaturePosition(playerbyip)
else
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
	return true
end
if(not pos or isInArray({pos.x, pos.y}, 0)) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Destination not reachable.")
	return true
end

pos = getClosestFreeTile(cid, pos, true, false)
if(not pos or isInArray({pos.x, pos.y}, 0)) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cannot perform action.")
	return true
end

local tmp = getCreaturePosition(cid)
if(doTeleportThing(cid, pos, true) and not isPlayerGhost(cid)) then
	doSendMagicEffect(tmp, CONST_ME_POFF)
	doSendMagicEffect(pos, CONST_ME_TELEPORT)
end

return true
end

 

Pra usar é igual seu exemplo, /goto 127.0.0.1

Link para o comentário
Compartilhar em outros sites

  • 0

Eai, tudo bem? Bom fiz o talkactions, não testei ele, e ele funciona da seguinte maneira: /go ip,num , ip é o ip que você deseja procurar, num é caso tiver mais de um player com o mesmo ip voce vai aumentando ele e assim vai trocando o player, se voce nao declarar ele, por exemplo: /go 10.10.10.10 ele vai entender que voce quer o primeiro. Bom vamos ao script.

Em talkactions/scripts crie um arquivo e coloque isso nele:

function onSay(cid, words, param, channel)
if(param == '') then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
	return true
end

local con = string.explode(param, ",")
local ip = con[1]
local p = tonumber(con[2])

if ip == nil then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid Ip.")
	return TRUE
end

if p == nil then
	p = 1
end

local interger = doConvertIpToInteger(ip)

if interger == 0 then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid Ip.")
	return TRUE
end

local players = getPlayersByIp(interger)

if #players < 1 then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Nao ha nenhum player utilizando o ip " .. ip .. "")
	return TRUE
end

if p > #players then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ha somente " .. #players .. " players utilizando o ip " .. ip .. ", foi considerado o primeiro!")
	p = 1
else
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ha " .. #players .. " players utilizando o ip " .. ip .. ", foi considerado " .. p .. "º!")
end

local player = players[p]
local pos = pos = getCreaturePosition(player)

if(not pos or isInArray({pos.x, pos.y}, 0)) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Destination not reachable.")
	return true
end

pos = getClosestFreeTile(cid, pos, true, false)
if(not pos or isInArray({pos.x, pos.y}, 0)) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Cannot perform action.")
	return true
end

local tmp = getCreaturePosition(cid)
if(doTeleportThing(cid, pos, true) and not isPlayerGhost(cid)) then
	doSendMagicEffect(tmp, CONST_ME_POFF)
	doSendMagicEffect(pos, CONST_ME_TELEPORT)
end

return true
end

 

E em talkactions.xml coloque:

<talkaction log="yes" words="/go" access="3" event="script" value="nome do seu script.lua"/>

 

Caso não funcionar poste o erro! :P:

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...