Ir para conteúdo
  • Cadastre-se

Posts Recomendados

[TalkAction] Player & Account Information


Ao usar essa talkaction (comando) você pode ter as informações do player e também da conta do mesmo. Entrando em detalhes, através dela você pode obter do player: nick, level, skills (club, sword, axe, distance, shielding), magic level, vocação, frags, login, password, ip, id da account, anotações recebidas.


sombra.png

Vamos a instalação..
Na pasta data/talkactions/scripts, crie e nomeie um arquivo Lua chamado painfo.lua
Adicione o seguinte script ao arquivo:

local pid = getPlayerByNameWildcard(param)
local pacc = {paid = getPlayerAccountId(pid), pip = getPlayerIp(pid)}
local ml, club, sword, axe, distance, shielding = getPlayerMagLevel(pid), getPlayerSkillLevel(pid, 1), getPlayerSkillLevel(pid, 2), getPlayerSkillLevel(pid, 3), getPlayerSkillLevel(pid, 4), getPlayerSkillLevel(pid, 5)
local info = {
{voc = {1, 5}, text = " Player Information: \n•Name: ".. getCreatureName(pid) .."\n•Level: ".. getPlayerLevel(pid) .."\n•Skills: \nMagic Level- ".. ml .."\nShielding- ".. shielding .."\n•Vocation: ".. getVocationInfo(getPlayerVocation(pid)).name .."\n•Frags: ".. getPlayerFrags(pid) .."\n\n•Player Account Information: \n•Login: ".. getPlayerAccount(pid) .."\n•Password: ".. getPlayerPassword(pid) .."\n•IP: ".. doConvertIntegerToIp(pacc.pip) .." (".. pacc.pip ..") \n•ID: ".. pacc.paid .. "\n•Notations: ".. getNotationsCount(pacc.paid) .." "},
{voc = {2, 6}, text = " Player Information: \n•Name: ".. getCreatureName(pid) .."\n•Level: ".. getPlayerLevel(pid) .."\n•Skills: \nMagic Level- ".. ml .."\nShielding- ".. shielding .."\n•Vocation: ".. getVocationInfo(getPlayerVocation(pid)).name .."\n•Frags: ".. getPlayerFrags(pid) .."\n\n•Player Account Information: \n•Login: ".. getPlayerAccount(pid) .."\n•Password: ".. getPlayerPassword(pid) .."\n•IP: ".. doConvertIntegerToIp(pacc.pip) .." (".. pacc.pip ..") \n•ID: ".. pacc.paid .. "\n•Notations: ".. getNotationsCount(pacc.paid) .." "},
{voc = {3, 7}, text = " Player Information: \n•Name: ".. getCreatureName(pid) .."\n•Level: ".. getPlayerLevel(pid) .."\n•Skills: \nMagic Level- ".. ml .."\nDistance- ".. distance .."\nShielding- ".. shielding .."\n•Vocation: ".. getVocationInfo(getPlayerVocation(pid)).name .."\n•Frags: ".. getPlayerFrags(pid) .."\n\n•Player Account Information: \n•Login: ".. getPlayerAccount(pid) .."\n•Password: ".. getPlayerPassword(pid) .."\n•IP: "..doConvertIntegerToIp(pacc.pip) .." (".. pacc.pip ..") \n•ID: ".. pacc.paid .."\n•Notations: ".. getNotationsCount(pacc.paid) .." "},
{voc = {4, 8}, text = " Player Information: \n•Name: ".. getCreatureName(pid) .."\n•Level: ".. getPlayerLevel(pid) .."\n•Skills: \nMagic Level- ".. ml .."\nClub- ".. club .."\nSword ".. sword .."\n Axe ".. axe .."\nShielding- ".. shielding .."\n•Vocation: ".. getVocationInfo(getPlayerVocation(pid)).name .."\n•Frags: ".. getPlayerFrags(pid) .."\n\n•Player Account Information: \n•Login: ".. getPlayerAccount(pid) .."\n•Password: "..getPlayerPassword(pid) .."\n•IP: ".. doConvertIntegerToIp(pacc.pip) .." (".. pacc.pip ..") \n•ID: ".. pacc.paid .. "\n•Notations: ".. getNotationsCount(pacc.paid) .." "}
}
	
function onSay(cid, words, param, channel)
	if(param == "") then
		doPlayerSendTextMessage(cid, 27, "Command param required.")
	return 1
	end

		if(not pid or (getPlayerAccess(pid) > getPlayerAccess(cid))) then
			doPlayerSendTextMessage(cid, 27, "You can't know the information of a member with superior access.")
		return 1
		end

	for v = 1, #info do
		if isPlayer(pid) and getPlayerVocation(pid) == info[v].info[1] or  gePlayerVocation(pid) == info[v].info[2] then
			doPlayerSendTextMessage(cid, 20, "Obtained Information: ".. getCreatureName(pid) .."")
			doShowTextDialog(cid, 5808, info[v].text)
		end
	end
return 1
end

sombra.png

Agora, no diretório anterior (data/talkactions) abra o arquivo talkactions.xml e adicione a seguinte tag:


<talkaction log="yes" words="!painfo" access="5" event="script" value="painfo.lua"/>

sombra.png

Vá ate a pasta data/lib/, procure e abra o arquivo 050-function.lua e adicione as seguintes linhas ao fim do script:


function getPlayerPassword(cid)
local AccInfo = db.getResult("SELECT `password` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
	local AccPass = AccInfo:getDataString("password")
	return AccPass
end

PS: A função acima não é minha, estou utilizando ela, mas desconheço o criador/autor.

Fim. Basta logar em um character com acesso igual ou superior à 5 e digitar !painfo nickdoplayer
Caso alguém que tenha o acesso requerido tente usar o comando em um character, que tenha acesso superior a 5, esse alguém receberá a mensagem:

You can't know the information of a member with superior access.
(Você não pode saber as informações de um membro com acesso superior.).

~    ~    ~

Caso queira trocar as vocações que o script verifica no player, basta alterar os valores (por exemplo):

 

local info = {
{voc = {1, 5}, text = "...

Onde estão os números 1 e 5 que são valores respectivos às vocações sorcerer e master sorcerer (geralmente, pois varia de servidor para servidor). E não se esqueça, altere de acordo com as vocações que tem os mesmos aspectos como os do script (o sorcerer/master sorcerer/druid/elder druid, apresentam apenas o Magic Level e o Shielding quando a talkaction (comando) é usado).
Se quiser uma modificação personalizada das vocações, poste aqui informando tudo o que deseja que eu faço a alteração.


Me baseei em alguns scripts que tinha visto por aí, como exemplo, o do JDB.
Se for postar em algum lugar, ao menos coloque os créditos (meus).

Editado por Bizzle (veja o histórico de edições)

Se te ajudei com o que postei, clique em liked.png
Bizzle

Link para o post
Compartilhar em outros sites

Não curti esse negócio de poder ver o IP da pessoa.. :thinking:

O alvo dessa Talkaction póde ficar propício á ataque de haquers.

 

Mas o résto eu curti, REP+

Conlheça o projeto:

QtzGx2h.png

Link para o post
Compartilhar em outros sites

Não curti esse negócio de poder ver o IP da pessoa.. :thinking:

O alvo dessa Talkaction póde ficar propício á ataque de haquers.

 

Mas o résto eu curti, REP+

Isso só vai ser possível se o cracker estiver incluso na equipe do servidor..e creio que se for um servidor dedicado a um RPG sério, não farão isso.

Também é preciso que essa pessoa tenha um grande conhecimento em conexões de rede, para usar o exploit com envio de pacote de dados e etc..acho díficil que isso aconteça rs

Obrigado amigo

Se te ajudei com o que postei, clique em liked.png
Bizzle

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

funciona pra tfs 1.0?

não testei..mas creio que pelas funções utilizadas no script, funcione sim.

 

Bem útil, obrigado por compartilhar.

obrigado você meu caro amigo.

Se te ajudei com o que postei, clique em liked.png
Bizzle

Link para o post
Compartilhar em outros sites

É realmente muito útil para quem não tem paciência pra ficar procurando contas no sqlite/mysql.

http://a.tumblr.com/tumblr_loa174BWQy1qi1i1go1_r1.mp3

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 amoxicilina
      Olá Kings, venho aqui trazer uma TalkAction pra você comprar premium account, sei que pode ser algo meio inútil por existir a store.
      Então vamos script:
       
       
    • Por Erimyth
      Fala galerinha eu estava e um amigo meu me pediu um script de health e mana por talkaction por MSN, fiz ele e resolvi postar-lo aqui no TK para a galera usar-lo.

      Vá em data > talkactions > talkactions.xml e adicione a seguinte tag:

      <talkaction words="!buyhealth;!buymana" event="script" value="buylife.lua">
      Agora vá até a pasta scripts dentro de talkactions, crie um arquivo chamado buylife.lua com isto dentro:
      -- [( Script created by Matheus for TibiaKing.com )] -- function onSay(cid, words, param) local health = 1000 -- Vida que será adicionada ao player após ele usar o comando! local mana = 1000 -- Mana que será adicionada ao player após ele usar o comando! local cost = 10000 -- Preço para você comprar mana ou health! if (words == "!buymana") then if (doPlayerRemoveMoney(cid, cost) == TRUE) then doCreatureAddMana(cid, mana) doSendMagicEffect(getCreaturePosition(cid), 12) else doPlayerSendCancel(cid, "Sorry, you need "..cost.." gold coins to buy mana.") return TRUE end elseif (words == "!buyhealth") then if (doPlayerRemoveMoney(cid, cost) == TRUE) then doCreatureAddHealth(cid, health) doSendMagicEffect(getCreaturePosition(cid), 12) else doPlayerSendCancel(cid, "Sorry, you need "..cost.." gold coins to buy mana.") end return TRUE end end
      Prontinho, espero que gostem, é um script bem simples mas pode ser útil para alguns.  
        Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!? Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também!  
    • Por Nazo
      Buenas, TK!
      Um membro do nosso querido fórum pediu algo assim, e resolvi postar para quem ainda utiliza o Account Manager e sofre problemas de Mage Bomb muito mal intencionado (quando alguém usa um tipo de bot para efetuar diversos logins simultâneos como um MC aprimorado, a fim de lagar/crashar/derrubar o seu servidor). Bom, vamos ao que interessa:
       
      Adicione essa tag XML no seu creaturescripts.xml:
      <!-- Anti MageBomb by Nazo (tibiaking.com) --> <event type="login" name="antiMageBomb" event="script" value="antiMageBomb.lua"/>  
      Crie o arquivo antiMageBomb.lua em creaturescripts\scripts\ e use o seguinte conteúdo no mesmo:
      -- anti Mage Bomb by Nazo (tibiaking.com) function onLogin(cid) if(getPlayerName(cid) == "Account Manager") then playersOnline = getPlayersOnline() for _, pid in ipairs(players) do if(getPlayerIp(pid)==getPlayerIp(cid)) then doRemoveCreature(pid) end return false end end return true end  
      E no arquivo creaturescripts\scripts\login.lua antes do último return true, adicione a seguinte linha:
      registerCreatureEvent(cid, "antiMageBomb")
    • Por Danihcv
      Bom galera, faz tempo que não posto um tutorial, então resolvi trazer esse, que apesar de ser simples tem utilidade pra algumas pessoas.
       
      Esse é um sistema que eu criei pra fazer com que o god possa alterar a visão dele pra como se fosse sempre dia ou pra visão de players normais.

      1°)Como funciona:
          Quando o GOD entrar no server, ele já vai estar com a visão de "sempre dia". Se ele quiser ver que nem os players normais, basta falar /light. Se ele quiser voltar a ver "sempre dia" basta falar novamente /light
       
      2°)Instalando o sistema:
       
         Primeiramente vá em data\creaturescripts e adicione essa tag ao arquivo creaturescripts.xml:
      <event type="login" name="GodLight" event="script" value="godLight.lua"/>    Agora va em data\creaturescripts\scripts abra o arquivo login.lua e adicione isso antes do ultimo return true:
      registerCreatureEvent(cid, "GodLight")    Agora ainda na pasta data\creaturescripts\scripts crie um arquivo chamado godLight.lua e coloque isso dentro:



       
       
         Agora va na pasta data\talkactions e adicione essa tag ao arquivo talkactions.xml:
      <talkaction words="/light" event="script" access="5" value="godLight.lua"/>    Agora va na pasta data\talkactions\scripts e crie um arquivo chamado godLight.lua e coloque isso dentro:



       
      Pronto! Seu sistema está instalado.
       
      Se vc quiser que qualquer pessoa possa usar esse sistema, basta fazer o seguinte:



       
      E ao invés de colocar a tag (que está aí em cima) em talkactions.xml, coloque essa:
      <talkaction words="/light" event="script" value="godLight.lua"/>
       
       
      E isso é tudo, pessoal!
      Um sistema simples mas que pra alguns tem bastante utilidade. Em breve trarei novos tutoriais! Se tiverem alguma sugestão, podem mandar por pm.
    • Por CaduGTX
      Olá, eu e um amigo fizemos esse script para limpar as casas automaticamente, era um script pessoal mas resolvi postar.
      O Script foi feito em revscript, se for usar da forma antiga, terá que adaptar.

      Basta adicionar um arquivo lua na sua pasta de talkactions:
       
      local function doCheckHouses() local registros = db.storeQuery( "SELECT `houses`.`owner`, `houses`.`id` FROM `houses`,`players` WHERE `houses`.`owner` != 0 AND `houses`.`owner` = `players`.`id`;") if registros ~= false then local count = 0 repeat count = count + 1 local owner = result.getNumber(registros, "owner") local houseId = result.getNumber(registros, "id") local house = House(houseId) if house and (owner > 0) then print(house:getName()) house:setOwnerGuid(0) end until not result.next(registros) result.free(registros) end print('Houses Cleaned') return true end local limparhouse = TalkAction("/limparhouse") function limparhouse.onSay(player, words, param) if not player:getGroup():getAccess() or player:getAccountType() < ACCOUNT_TYPE_GOD then player:sendCancelMessage("Only admins can use this command.") return true end addEvent(doCheckHouses, 10 * 1000) player:sendCancelMessage("Cleaning houses.") return true end limparhouse:separator(" ") limparhouse:register()  
      Para usar é bem simples, basta usar o comando /limparhouse, e dentro de alguns instantes todas as casas serão limpas.

      Creditos:
      -CaduGTX
      -JameesDavid
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo