Ir para conteúdo
  • Cadastre-se

Derivado [PEDIDO] Piso que só passa 1 player por ip


Posts Recomendados

Olá galera do tk,eu gostaria de criar uma script em que consiste apenas 1 player por ip passar por aquele piso.

Por exemplo:

Creio 1 conta com e passo no piso uma vez,ai se tentar passar novamente iria dar erro porque já passou,mesmo eu usando outra conta  ou outro char também daria erro.

Link para o post
Compartilhar em outros sites

@Gnius 

local eventArea = {from = {x=96, y=186, z=7}, to = {x=102, y=192, z=7}} -- area do evento...
function onStepIn(cid, item, position, fromPosition)
	for _, pid in pairs(getPlayersOnline()) do
		if(cid ~= pid and getPlayerIp(cid) == getPlayerIp(pid) and isInRange(getThingPos(pid), eventArea.from, eventArea.to)) then
			doTeleportThing(cid, fromPosition, false)
			doPlayerSendTextMessage(cid, 25, "[ANTI-MC] Não é permitido entrar com 2 chars no mesmo IP!")
			return true
		end
	end
	return true
end

 

Link para o post
Compartilhar em outros sites

Não foi +também não deu nenhum erro

22 minutos atrás, Thayguroficial disse:

@Gnius 


local eventArea = {from = {x=96, y=186, z=7}, to = {x=102, y=192, z=7}} -- area do evento...
function onStepIn(cid, item, position, fromPosition)
	for _, pid in pairs(getPlayersOnline()) do
		if(cid ~= pid and getPlayerIp(cid) == getPlayerIp(pid) and isInRange(getThingPos(pid), eventArea.from, eventArea.to)) then
			doTeleportThing(cid, fromPosition, false)
			doPlayerSendTextMessage(cid, 25, "[ANTI-MC] Não é permitido entrar com 2 chars no mesmo IP!")
			return true
		end
	end
	return true
end

 

O sistema que eu queria não seria esse.

Porque por exemplo

Eu botei um inicial no meu cp e para os players não ficarem criando muitas contas para pegar esse inicial, eu iria por esse sistema.

Por exemplo:

Passei no piso,meu ip ficou marcado.

Deslogo da minha conta e logo na outra e mesmo assim não iria passar porque já passei la 1x

Link para o post
Compartilhar em outros sites

Ve se Funciona @Gnius

 

local btype = "normal"
local pokemon = "Charmander"

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition)
if pokemon == "" then return true end
if getGlobalStorageValue(cid, getPlayerIp(cid)) <= 0 then
addPokeToPlayer(cid, pokemon, 0, nil, btype)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce pegou seu pokemon inicial um "..pokemon.."!!")
setGlobalStorageValue(cid, getPlayerIp(cid), 1)
else
doPlayerSendCancel(cid, "Você já pegou seu Pokémon")
end
return TRUE
end

 Obs: Já Testei e Funcionou.

Link para o post
Compartilhar em outros sites
2 minutos atrás, gabrielzika disse:

Ve se Funciona @Gnius

 


local btype = "normal"
local pokemon = "Charmander"

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition)
if pokemon == "" then return true end
if getGlobalStorageValue(cid, getPlayerIp(cid)) <= 0 then
addPokeToPlayer(cid, pokemon, 0, nil, btype)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce pegou seu pokemon inicial um "..pokemon.."!!")
setGlobalStorageValue(cid, getPlayerIp(cid), 1)
else
doPlayerSendCancel(cid, "Você já pegou seu Pokémon")
end
return TRUE
end

 Obs: Já Testei e Funcionou.

Não seria pra ganhar pokemon,somente para passar no piso impedindo de passar novamente com outro chars ou outras contas.

Link para o post
Compartilhar em outros sites

Manda o Script do Bau que Você tá usando...

Link para o post
Compartilhar em outros sites

function onUse(cid, item, fromPos, item2, toPos)
local premios = {12618, 2160, 11449, 11441, 11443}
local tempo = 24*60*60 -- Em segundos
if item.actionid == 1891 then
if os.time()-getPlayerStorageValue(cid, 48613) > tempo then
local randomChance = math.random(1, #premios)
doPlayerAddItem(cid, premios[randomChance])
setPlayerStorageValue(cid, 48613, os.time())
else
return doPlayerSendCancel(cid, "Parece que voce ja pegou o presente,aguarde 1dia para pegar novamente.")
end
return true
end
end

Link para o post
Compartilhar em outros sites

Mas vc quer continue pegando 1 vez por Dia?? 

Link para o post
Compartilhar em outros sites

Sim,

Na verdade eu queria somente o piso.

Eu usaria esse piso para diversas coisa entendeu?

Eu queria o piso assim que você passar por uma conta,não teria mais como passar novamente com outro char o outra conta

 

Pode fechar o tópico.

Editei a script aqui e funcionou

Pra quem quiser usar tá ai

 

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition)
if pokemon == "" then return true end
if getGlobalStorageValue(cid, getPlayerIp(cid)) <= 0 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabens voce passou")
setGlobalStorageValue(cid, getPlayerIp(cid), 1)
else
        doPlayerSendTextMessage(cid, 27, "Desculpe mais a passagem so e liberada um char por pc.")
        doTeleportThing(cid, fromPosition)
return 
end
return true
end

Editado por Gnius (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Tile:


 

function onStepIn(cid, item, position, fromPosition)
if not isPlayer(cid) then return true end
if getGlobalStorageValue(cid, getPlayerIp(cid)) >= 1 then
doTeleportThing(cid, fromPosition, true)
doPlayerSendTextMessage(cid, 27, "Você já passou por aqui antes.")
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
return true
end
doPlayerSendTextMessage(cid, 27, "Você passou.")
setGlobalStorageValue(cid, getPlayerIp(cid), 1)
return true
end

 

 

 

Link para o post
Compartilhar em outros sites
  • 1 month later...
Em 28/11/2017 em 13:33, Thayguroficial disse:

@Gnius 


local eventArea = {from = {x=96, y=186, z=7}, to = {x=102, y=192, z=7}} -- area do evento...
function onStepIn(cid, item, position, fromPosition)
	for _, pid in pairs(getPlayersOnline()) do
		if(cid ~= pid and getPlayerIp(cid) == getPlayerIp(pid) and isInRange(getThingPos(pid), eventArea.from, eventArea.to)) then
			doTeleportThing(cid, fromPosition, false)
			doPlayerSendTextMessage(cid, 25, "[ANTI-MC] Não é permitido entrar com 2 chars no mesmo IP!")
			return true
		end
	end
	return true
end

 

qual a tag e onde eu coloco essa script

Link para o post
Compartilhar em outros sites
Em 09/01/2018 em 23:18, eder santos disse:

qual a tag e onde eu coloco essa script

movements/movements.xml

 

	<movevent type="StepIn" actionid="1311" event="script" value="NOME DO ARQUIVO.lua"/>

 

Link para o post
Compartilhar em outros sites
18 minutos atrás, Dyego disse:

Se reiniciar o modem e mudar o ip passará normal ou não? por que o ip irá mudar né

Mudará

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo