Ir para conteúdo
  • 0

Como Bloquear Nicks "Adm, Admin"


luangop

Pergunta

 

Olá! Estou com um grande problema no meu servidor, tem pessoas criando char com nome Adm, tipo 'Adm Luan' e roubando os players se passando por staff.

 

 

Quando fazem isso, por ter Adm no nick, não consigo nem dar ban de imediato, preciso mudar o nick dele pelo sqlstudio, dar kick, esperar ele logar e dar ban.

 

 

Existe alguma maneira de impedir que personagens com Adm no nick sejam criados?

 

 

TFS 0.3.6

 

 

Não tenho as sourcers, então teria de ser em .lua

 

 

Uso SQL, sem possibilidade de usar MYSQL para fazer em .php

 

 

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Coloca uma mensagem pra aparecer para o servidor todo em minutos, exemplo: "Nós da STAFF nunca vamos pedir seus itens, não sejam roubados por trapaceiros!"

E muda os nicks de todos os integrantes da sua equipe, tipo: ADM Luan, ai você troca pra: [ADM] Luan

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta por no seu login.lua

if (string.find(tostring(getCreatureName(cid)),"Admin")) and (string.find(tostring(getCreatureName(cid)),"Adm")) and (getCreatureName(cid) == "ADM SEU NOME")  thendoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Bem vindo adm!")elsedoRemoveCreature(cid)       return trueend
Editado por Cleberadm
Link para o comentário
Compartilhar em outros sites

  • 0

Ele vai buscar no nome se tiver adm ou admin, se for conter admin seu nome ele vai deixar logar se nao for igual seu nome ele vai kikar o cara

 

Se funcionar avisa :D

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

  • 0

@Cleberadm

Ele não ta dexando logar char com adm no nick, mas nem eu mesmo consigo logar kkk

Obs: sim, eu botei meu nick ali

if (string.find(tostring(getCreatureName(cid)),"Admin")) and (string.find(tostring(getCreatureName(cid)),"Adm")) and (getCreatureName(cid) == "[ADM] Luan")  then

Link para o comentário
Compartilhar em outros sites

  • 0
4 minutos atrás, luangop disse:

@Cleberadm

Ele não ta dexando logar char com adm no nick, mas nem eu mesmo consigo logar kkk

Obs: sim, eu botei meu nick ali

if (string.find(tostring(getCreatureName(cid)),"Admin")) and (string.find(tostring(getCreatureName(cid)),"Adm")) and (getCreatureName(cid) == "[ADM] Luan")  then

Com outros nomes está entrando? vou ver aqui perai...

 

tenta


 

if (string.find(tostring(getCreatureName(cid)),"Admin")) and (string.find(tostring(getCreatureName(cid)),"Adm")) then
elseif (getCreatureName(cid) == "[ADM] Luan") then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Bem vindo adm!")
else
doRemoveCreature(cid)       
end

 

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

  • 0
3 minutos atrás, Cleberadm disse:

Com outros nomes está entrando? vou ver aqui perai...

Agora que você falou, fui testar e nenhum personagem ta podendo logar rsrs

6 minutos atrás, Cleberadm disse:

Com outros nomes está entrando? vou ver aqui perai...

 

tenta

 if (string.find(tostring(getCreatureName(cid)),"Admin")) and (string.find(tostring(getCreatureName(cid)),"Adm")) thenelseif (getCreatureName(cid) == "[ADM] Luan") thendoPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Bem vindo adm!")elsedoRemoveCreature(cid)       end 

 

Agora meu char loga, e quando tento logar outro char da esse erro no console:

data/creaturescripts/scripts/login.lua:14: attempt to compare number with boolean

a linha 14 e essa:

    if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then   --alterado v1.8

Editado por luangop
erro meu
Link para o comentário
Compartilhar em outros sites

  • 0
7 minutos atrás, luangop disse:

Agora que você falou, fui testar e nenhum personagem ta podendo logar rsrs

Agora meu char loga, e quando tento logar outro char da esse erro no console:

data/creaturescripts/scripts/login.lua:14: attempt to compare number with boolean

a linha 14 e essa:

    if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then   --alterado v1.8

Posta seu login.lua ai, fazendo favor...

Link para o comentário
Compartilhar em outros sites

  • 0
local config = {
	loginMessage = getConfigValue('loginMessage'),
	useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
if (string.find(tostring(getCreatureName(cid)),"Admin")) and (string.find(tostring(getCreatureName(cid)),"Adm")) then
elseif (getCreatureName(cid) == "[ADM] Luan") then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Bem vindo adm!")
else
doRemoveCreature(cid)       
end

    if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then   --alterado v1.8
       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)
    else     
       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) )
	end
	doCreatureSetDropLoot(cid, false)

	local accountManager = getPlayerAccountManager(cid)

	if(accountManager == MANAGER_NONE) then
		local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
		if(lastLogin > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
			str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
		else
			str = str
		end

		doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

	elseif(accountManager == MANAGER_NAMELOCK) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
	elseif(accountManager == MANAGER_ACCOUNT) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
	end

	if getCreatureName(cid) == "Account Manager" then
		local outfit = {}
		if accountManagerRandomPokemonOutfit then
			outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])}
		else
			outfit = accountManagerOutfit
		end
	
		doSetCreatureOutfit(cid, outfit, -1)
	return true
	end

	if(not isPlayerGhost(cid)) then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
	end

	local outfit = {}

	if getPlayerVocation(cid) == 0 then
		doPlayerSetMaxCapacity(cid, 0)
		doPlayerSetVocation(cid, 1)
		setCreatureMaxMana(cid, 6)
		doPlayerAddSoul(cid, -getPlayerSoul(cid))
		setPlayerStorageValue(cid, 19898, 0)
			if getCreatureOutfit(cid).lookType == 128 then
				outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}
			elseif getCreatureOutfit(cid).lookType == 136 then
				outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)}
			end
		doCreatureChangeOutfit(cid, outfit)
	end

    registerCreatureEvent(cid, "dropStone")  
    registerCreatureEvent(cid, "ShowPokedex") 
    registerCreatureEvent(cid, "ClosePokedex") 
	registerCreatureEvent(cid, "WatchTv")
	registerCreatureEvent(cid, "StopWatchingTv")
	registerCreatureEvent(cid, "LevelMax")
	registerCreatureEvent(cid, "WalkTv")
	registerCreatureEvent(cid, "RecordTv")
	registerCreatureEvent(cid, "PlayerLogout")
	registerCreatureEvent(cid, "WildAttack")
	registerCreatureEvent(cid, "Idle")
	registerCreatureEvent(cid, "EffectOnAdvance")
	registerCreatureEvent(cid, "GeneralConfiguration")
	registerCreatureEvent(cid, "SaveReportBug")   
	registerCreatureEvent(cid, "LookSystem")
              registerCreatureEvent(cid, "Xregen")
	registerCreatureEvent(cid, "T1")
	registerCreatureEvent(cid, "T2")
	registerCreatureEvent(cid, "task_count")
              registerCreatureEvent(cid, "premio")

	

	if getPlayerStorageValue(cid, 99284) == 1 then
		setPlayerStorageValue(cid, 99284, -1)
	end
	local noticia = getConfigValue("noticia")
	if getPlayerStorageValue(cid, 4999999) < noticia then
	file = io.open('noticias.txt','r')
	notice = file:read(-1)
	doPlayerPopupFYI(cid, notice)
	file:close()
--	setPlayerStorageValue(cid, 4999999, noticia) --Alterado para mostrar sempre.
	end

    if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then
       setPlayerStorageValue(cid, 6598754, -1)
       setPlayerStorageValue(cid, 6598755, -1)
       doRemoveCondition(cid, CONDITION_OUTFIT)             --alterado v1.9 \/
       doTeleportThing(cid, posBackPVP, false)
       doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
    end
    
	doChangeSpeed(cid, -(getCreatureSpeed(cid)))
	
	--///////////////////////////////////////////////////////////////////////////--
    local storages = {17000, 63215, 17001, 13008, 5700}
    for s = 1, #storages do
        if not tonumber(getPlayerStorageValue(cid, storages[s])) then
           if s == 3 then
              setPlayerStorageValue(cid, storages[s], 1)
           elseif s == 4 then
              setPlayerStorageValue(cid, storages[s], -1)
           else   
              if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then
                 setPlayerStorageValue(cid, storages[s], 1)                 
              else
                 setPlayerStorageValue(cid, storages[s], -1) 
              end
           end
           doPlayerSendTextMessage(cid, 27, "Sorry, but a problem occurred on the server, but now it's alright")
        end
    end
    --/////////////////////////////////////////////////////////////////////////--
	if getPlayerStorageValue(cid, 17000) >= 1 then -- fly
        
		local item = getPlayerSlotItem(cid, 8)
		local poke = getItemAttribute(item.uid, "poke")
		doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
		doRemoveCondition(cid, CONDITION_OUTFIT)
		doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1)

	local apos = getFlyingMarkedPos(cid)
    apos.stackpos = 0
		
			if getTileThingByPos(apos).itemid <= 2 then
				doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE)
				doCreateItem(460, 1, getFlyingMarkedPos(cid))
			end 

	doTeleportThing(cid, apos, false)
	if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then   
       sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")])                     --alterado v1.8
    end  
 
    local posicao = getTownTemplePosition(getPlayerTown(cid))
    markFlyingPos(cid, posicao)
    
	elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf

		local item = getPlayerSlotItem(cid, 8)
		local poke = getItemAttribute(item.uid, "poke")
		doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) --alterado v1.6
		doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
		if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then   
           sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")])                     --alterado v1.8
        end 

	elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride
        
		local item = getPlayerSlotItem(cid, 8)
		local poke = getItemAttribute(item.uid, "poke")
		
		
		if rides[poke] then
		   doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
		   doRemoveCondition(cid, CONDITION_OUTFIT)
		   doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1)
		   if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then   
              sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")])                     --alterado v1.8
           end 
		else
		   setPlayerStorageValue(cid, 17001, -1)
		   doRegainSpeed(cid)   
		end
	
	    local posicao2 = getTownTemplePosition(getPlayerTown(cid))
        markFlyingPos(cid, posicao2)
        
	elseif getPlayerStorageValue(cid, 13008) >= 1 then -- dive
       if not isInArray({5405, 5406, 5407, 5408, 5409, 5410}, getTileInfo(getThingPos(cid)).itemid) then
			setPlayerStorageValue(cid, 13008, 0)
			doRegainSpeed(cid)              
			doRemoveCondition(cid, CONDITION_OUTFIT)
		return true
		end   
          
       if getPlayerSex(cid) == 1 then
          doSetCreatureOutfit(cid, {lookType = 1034, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1)
       else
          doSetCreatureOutfit(cid, {lookType = 1035, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1)
       end
       doChangeSpeed(cid, 800)

     elseif getPlayerStorageValue(cid, 5700) > 0 then   --bike
        doChangeSpeed(cid, -getCreatureSpeed(cid))
        doChangeSpeed(cid, 500)
        if getPlayerSex(cid) == 1 then
           doSetCreatureOutfit(cid, {lookType = 1394}, -1)
        else
           doSetCreatureOutfit(cid, {lookType = 1393}, -1)
        end
     
     elseif getPlayerStorageValue(cid, 75846) >= 1 then     --alterado v1.9 \/
        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false)  
        setPlayerStorageValue(cid, 75846, -1)
        sendMsgToPlayer(cid, 20, "You have been moved to your town!")
	 else
		doRegainSpeed(cid)  
	 end
	
	if getPlayerStorageValue(cid, 22545) >= 1 then
	   setPlayerStorageValue(cid, 22545, -1)              
	   doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false)
       setPlayerRecordWaves(cid)     
    end
	
	if getPlayerStorageValue(cid, 8445601) >= 1 and (not isPremium(cid)) then
	setPlayerStorageValue(cid, 8445601, -1)
	doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) 
	sendMsgToPlayer(cid, 20, "Sua VIP acabou!")
	end
	
	if (getPlayerStorageValue(cid, 8445603) <= os.time()) and (getPlayerStorageValue(cid, 8445604) >= 1) then
	setPlayerStorageValue(cid, 8445601, -1)
	setPlayerStorageValue(cid, 8445604, -1)
	local atual = getPlayerPremiumDays(cid)
	doPlayerRemovePremiumDays(cid, atual)
	doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) 
	sendMsgToPlayer(cid, 20, "Sua VIP acabou!")
	end
	
	local maxlevel = getConfigValue("lvlmaximo")
	if getPlayerLevel(cid) <= maxlevel-1 then
	setPlayerStorageValue(cid, 8445606, 1)
	end
	
	if isPremium(cid) and getPlayerStorageValue(cid, 8445601) <= 0 then
	setPlayerStorageValue(cid, 8445601, 1)
	end
	
	if isPremium(cid) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Ola! Como voce e vip, fale !comandosvip para ver seus comandos exclusivos!")
	end
    
	if useKpdoDlls then
		doUpdateMoves(cid)
		doUpdatePokemonsBar(cid)
	end
	return true
end

 

@Cleberadm

Consegui mano! Mas foi graças a seu código! rsrs

ficou assim:

if (string.find(tostring(getCreatureName(cid)),"Admin")) or (string.find(tostring(getCreatureName(cid)),"Adm")) or (string.find(tostring(getCreatureName(cid)),"ADM")) and not (getCreatureName(cid) == "[ADM] Luan" or getCreatureName(cid) == "[ADM] Lerme") then
	doRemoveCreature(cid) 
	return true
end

Vlw mano!

Link para o comentário
Compartilhar em outros sites

  • 1
22 minutos atrás, luangop disse:

 

@Cleberadm

Consegui mano! Mas foi graças a seu código! rsrs

ficou assim:


if (string.find(tostring(getCreatureName(cid)),"Admin")) or (string.find(tostring(getCreatureName(cid)),"Adm")) or (string.find(tostring(getCreatureName(cid)),"ADM")) and not (getCreatureName(cid) == "[ADM] Luan" or getCreatureName(cid) == "[ADM] Lerme") then
	doRemoveCreature(cid) 
	return true
end

Vlw mano!

Eu tava vendo um jeito de ficar melhor, usa o (getPlayerGroupId(cid) == 1) no lugar do -> not (getCreatureName(cid) == "[ADM] Luan" or getCreatureName(cid) == "[ADM] Lerme")

 

cheguei baixar um aqui pra testar kk tava sem 

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

  • 0
8 minutos atrás, Cleberadm disse:

Eu tava vendo um jeito de ficar melhor, usa o (getPlayerGroupId(cid) == 1) no lugar do -> not (getCreatureName(cid) == "[ADM] Luan" or getCreatureName(cid) == "[ADM] Lerme")

 

cheguei baixar um aqui pra testar kk tava sem 

kkk boa ideia, vou usar assim..

vlw denovo mano ajudou bastante!

Mas teria de ser  getPlayerGroupId(cid) >= 2 para funcionar no meu ot, porque no meu ot group 1 é player rsrs

Link para o comentário
Compartilhar em outros sites

  • 0
3 minutos atrás, luangop disse:

kkk boa ideia, vou usar assim..

vlw denovo mano ajudou bastante!

Mas teria de ser  getPlayerGroupId(cid) >= 2 para funcionar no meu ot, porque no meu ot group 1 é player rsrs

por isso mesmo, se conter admin e o grupo for 1 ele vai remover....

Link para o comentário
Compartilhar em outros sites

  • 0
1 minuto atrás, Cleberadm disse:

por isso mesmo, se conter admin e o grupo for 1 ele vai remover....

Ah sim, foi mal eu que li rápido e entendi errado o que vc disse, rsrsrs

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...