Ir para conteúdo
  • 0

[PEDIDO] Registrar IP automaticamente.


Josegvb

Pergunta

ola xtibianos, queria uma script que fizer um registro automatico dos chars ejemplo igual o catch ele vai anotando x player catou x pokemon com x balls

 

entao queria um que fizer a siguente funçao 

x player logou no dia xx (se for posivel) na ip xxx.xxx.xxxx

 

entao basicamente 1 script q registrada a ip q cada player tem cada vez q ele entra no jogo, iria ser registrado em 1 bloc de notas igual o Catch.

ex: Player Jose entrou pela ip 000.000.000

 

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
  • Diretor

Acabei de fazer um aqui vê se da certo

 

Em creaturescript crie um arquivo chamado playerlog.lua e cole isto dentro:

function onLogin(cid)local config = {group_id = 1, ip = getPlayerIp(cid)}   if isPlayer(cid) thenif getPlayerGroupId(cid) >= config.group_id thenio.output(io.open("data/logs/playerlogin.txt", "a"))io.write("["..os.date("%d/%m/%y %X").."] "..getPlayerName(cid).." Entrou no servidor.\nConta: "..getPlayerAccount(cid)..", Acesso: ".. getPlayerGroupName(cid) .."("..getPlayerGroupId(cid).."), IP: "..doConvertIntegerToIp(config.ip)..", Posição: [x=..getPlayerPosition(cid).x..", y="..getPlayerPosition(cid).y..", z="..getPlayerPosition(cid).z..].\n")io.close()    endreturn trueendreturn trueend

Em creaturescript.xml adicione:

<event type="login" name="LoginLog" event="script" value="playerlog.lua"/>

 

Pronto se der certo edite como quiser xD

 

Se quiser por pra registrar apenas os players com group 1 troque

if getPlayerGroupId(cid) >= config.group_id then

por

if getPlayerGroupId(cid) == config.group_id then

Caso contrario ele irá registrar de todos.

 

O arquivo .txt vai ta na pasta data/logs/playerlogin.txt

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

  • 0
39 minutos atrás, Yan Liima disse:

Acabei de fazer um aqui vê se da certo

 

Em creaturescript crie um arquivo chamado playerlog.lua e cole isto dentro:

local config = {group_id = 1, ip = getPlayerIp(cid)}function onLogin(cid)   if isPlayer(cid) thenif getPlayerGroupId(cid) >= config.group_id thenio.output(io.open("data/logs/playerlogin.txt", "a"))io.write("["..os.date("%d/%m/%y %X").."] "..getPlayerName(cid).." Entrou no servidor.\nConta: "..getPlayerAccount(cid)..", Acesso: ".. getPlayerGroupName(cid) .."("..getPlayerGroupId(cid).."), IP: "..doConvertIntegerToIp(config.ip)..", Posição: [x=..getPlayerPosition(cid).x..", y="..getPlayerPosition(cid).y..", z="..getPlayerPosition(cid).z..].\n")io.close()    endreturn trueendreturn trueend

Em creaturescript.xml adicione:

<event type="login" name="LoginLog" event="script" value="playerlog.lua"/>

 

Pronto se der certo edite do seu gosto xD

 

 

ta dando esse erro

 

[29/05/2016 20:11:10] [Error - CreatureScript Interface] 

[29/05/2016 20:11:10] data/creaturescripts/scripts/playerlog.lua

[29/05/2016 20:11:10] Description: 

[29/05/2016 20:11:10] (internalGetPlayerInfo) Player not found when requesting player info #28

Link para o comentário
Compartilhar em outros sites

  • 0
Citar
getPlayerIp(cid)

Está fora do escopo da função principal,  logo ele não pode pegar o número de identificação do player.

 

É só adicionar ele dentro da função principal inserinduo de volta na tabela.

Citar

config.ip = getPlayerIp(cid)

 

Link para o comentário
Compartilhar em outros sites

  • 1
  • Diretor

Erro meu desculpe:

function onLogin(cid)local config = {group_id = 1, ip = getPlayerIp(cid)}   if getPlayerGroupId(cid) >= config.group_id thenio.output(io.open("data/logs/playerlogin.txt", "a"))io.write("["..os.date("%d/%m/%y %X").."] "..getPlayerName(cid).." Entrou no servidor.\nConta: "..getPlayerAccount(cid)..", Acesso: ".. getPlayerGroupName(cid) .."("..getPlayerGroupId(cid).."), IP: "..doConvertIntegerToIp(config.ip)..", Posição: [x=..getPlayerPosition(cid).x..", y="..getPlayerPosition(cid).y..", z="..getPlayerPosition(cid).z..].\n")io.close()    endreturn trueend

Como o @Poccnn disse, estava fora da função.

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

  • 0
49 minutos atrás, Yan Liima disse:

Erro meu desculpe:

function onLogin(cid)local config = {group_id = 1, ip = getPlayerIp(cid)}   if getPlayerGroupId(cid) >= config.group_id thenio.output(io.open("data/logs/playerlogin.txt", "a"))io.write("["..os.date("%d/%m/%y %X").."] "..getPlayerName(cid).." Entrou no servidor.\nConta: "..getPlayerAccount(cid)..", Acesso: ".. getPlayerGroupName(cid) .."("..getPlayerGroupId(cid).."), IP: "..doConvertIntegerToIp(config.ip)..", Posição: [x=..getPlayerPosition(cid).x..", y="..getPlayerPosition(cid).y..", z="..getPlayerPosition(cid).z..].\n")io.close()    endreturn trueend

Como o @Poccnn disse, estava fora da função.

 

Resolvido! muito obrigado!!!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...