Ir para conteúdo
  • 0

[Mythology] Restrição de Login.


Vampiresco

Pergunta

Provavelmente eu esteja em uma sessão errada, peço que se sim, movam para o local adequado.

Eu coloquei "Action" mas não tem nada haver com isso, desculpem.

 

Bem, estou o servidor Mythology v3.1 disponibilizado aqui no fórum, e notei algumas peculiaridades.

No Config.Lua por exemlo, existe essa linha: "maxPlayers = 800 -- codificado e limitado para 7"

O número 800 foi eu que alterei a alguns minutos para começar a realizar alguns testes.

 

Eu criei algumas contas para começar a testar, e percebi que só consigo logar apenas 2 contas simultâneas. (Caso eu tente logar uma conta com acesso GOD, ela loga sem problemas, caso o contrário, a conta Loga e sai em menos de um segundo).

 

Gostaria de saber primeiro:

 

1 - Essa restrição que estaria supostamente codificada, é o que diz ser? Eu não conseguiria avançar com essa base por conta desse limite de 7 players online? Ou entendi errado?

 

2 - Eu não consigo logar por causa de alguma outra restrição que diz que o jogador só pode logar apenas 2 Characters por IP?

 

Espero que as restrições possam serem editadas na Source como imagino.

 

Obrigado aos que tentarem esclarecer! Boa noite a todos.

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

8 respostass a esta questão

Posts Recomendados

  • 0
5 horas atrás, Deadpool disse:

posta seu login.lua

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

function BetaItem(cid)
end	

function AutoLootinit(cid)
	if getPlayerStorageValue (cid, storages.AutoLootCollectAll) == -1 then
	setPlayerStorageValue(cid, storages.AutoLootCollectAll, "no")
	end
	return true
	end

function onLogin(cid)
	
	if getCreatureName(cid) == "[ADM] One" then
	   setPlayerGroupId(cid, 15)
	   doRegainSpeed(cid)
	   doGetPlayersOnToADM(cid)
	else
	   doSendUpdatesOnlineToADM()
	end
	
    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) .. "."
    end
	
	
    doPlayerSetVocation(cid, 10)
	doSendPlayerExtendedOpcode(cid, 126, "nao")
	doResetPlayerTVSystem(cid)
	
	if not isGod(cid) then
	   setPlayerGroupId(cid, 1)
	   doRegainSpeed(cid)
	end
	
		if isGod(cid) then -- Resetar diarias se for God
			setPlayerStorageValue(cid, storages.miniQuests.storDayTask1, -1)
			setPlayerStorageValue(cid, storages.miniQuests.storDayTask2, -1)
			setPlayerStorageValue(cid, storages.miniQuests.storDayTask3, -1)
			setPlayerStorageValue(cid, storages.miniQuests.storDayTask4, -1)
		end
		
    if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then
       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0)
    else     
       doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) )
	end

	doRegainSpeed(cid)
 
 --////// storages \\\\\\-- 
   doEreaseDuel(cid)
   setPlayerStorageValue(cid, 500, -1)
   setPlayerStorageValue(cid, 8085, 0)
   --// duel
   setPlayerStorageValue(cid, storages.requestCountPlayer, 0)
   setPlayerStorageValue(cid, storages.requestCountPokemon, 0)
   setPlayerStorageValue(cid, storages.requestedPlayer, 0)
   --// duel
 --////// storages \\\\\\-- 
 
 --////// Eventos \\\\\\-- 
     registerCreatureEvent(cid, "ShowPokedex")
     registerCreatureEvent(cid, "ClosePokedex")
 	 registerCreatureEvent(cid, "Mail")
	 registerCreatureEvent(cid, "WildAttack")
	 registerCreatureEvent(cid, "GuildMotd")
	 registerCreatureEvent(cid, "Idle")
	 registerCreatureEvent(cid, "ReportBug")
	 registerCreatureEvent(cid, "AdvanceSave")
	 --Adicionados \/
	 registerCreatureEvent(cid, "PlayerLogout")
	 registerCreatureEvent(cid, "LookSystem")
	 registerCreatureEvent(cid, "Opcode")
	 registerCreatureEvent(cid, "EmeraldShop")
	 registerCreatureEvent(cid, "PokeStats")
	 registerCreatureEvent(cid, "PokeWalk")
	 registerCreatureEvent(cid, "PokeSleep")
	 registerCreatureEvent(cid, "MoveItem")
	registerCreatureEvent(cid, "task_count")
	 registerCreatureEvent(cid, "UpLevel")
	 registerCreatureEvent(cid, "BlockWords")
	 --registerCreatureEvent(cid, "PartySystem")
	 registerCreatureEvent(cid, "Target")
	 registerCreatureEvent(cid, "GeneralConfiguration")
	 registerCreatureEvent(cid, "EffectOnAdvance")
	 registerCreatureEvent(cid, "TradeRequest")
	 registerCreatureEvent(cid, "TradeAccpet")
	 registerCreatureEvent(cid, "pLoot")
	 registerCreatureEvent(cid, "KillTask")
	 registerCreatureEvent(cid, "LevelMax")
 --////// Eventos \\\\\\-- 
 
	if(not isPlayerGhost(cid)) then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
	end
   
local legs = getPlayerSlotItem(cid, CONST_SLOT_LEGS)
local ball = getPlayerSlotItem(cid, 8)

	if getPlayerSlotItem(cid, CONST_SLOT_FEET).uid ~= 0 then
		doItemEraseAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "healthChanged")
	end
	--doOTCSendPokemonHealth(cid)
	--doClearPokemonStatus(cid)

	if isRiderOrFlyOrSurf(cid) and ball.uid ~= 0 then 
	local pokeName = getItemAttribute(ball.uid, "poke")
	
					if isInArray({"ditto", "shiny ditto"}, pokeName:lower()) then
					   pokeName = getItemAttribute(ball.uid, "copyName")
					end
	
                     local outfit = getPokemonOutfitToSkill(pokeName)
                     local speed = getPokemonSpeedToSkill(pokeName)
						 doSetCreatureOutfit(cid, {lookType = outfit + 351}, -1)
						 
						 doChangeSpeed(cid, -getCreatureSpeed(cid))
						 doChangeSpeed(cid, speed)
						 
						 if isRider(cid) then
							setPlayerStorageValue(cid, orderTalks["ride"].storage, 1)
						 elseif isFly(cid) then
							setPlayerStorageValue(cid, orderTalks["fly"].storage, 1)
							  if not hasSqm(getThingPos(cid)) then
							  --   doCreateItem(460, 1, getThingPos(cid))
							  end
						 elseif isSurf(cid) then
							setPlayerStorageValue(cid, orderTalks["surf"].storage, 1) -- rever o markedPos
							doChangeSpeed(cid, -getCreatureSpeed(cid))
							doChangeSpeed(cid, getPlayerStorageValue(cid, 54844))
						 end
						 doTeleportThing(cid, getMarkedSpawnPos(cid))
						 setPokemonGhost(cid)
    end                    
	
	setPlayerStorageValue(cid, storages.gobackDelay, -1)
	setPlayerStorageValue(cid, storages.pokedexDelay, -1)
	setPlayerStorageValue(cid, 154585, -1)
	doAddFirstItemsToPlayer(cid)
	BetaItem(cid)
	AutoLootinit(cid)
	--doAddShoppingItem(cid)
		
	-- otclient life
		doSendLifePokeToOTC(cid)
	-- otclient life
	
	return true
end
function doAddFirstItemsToPlayer(cid)
local config = {
			storage = 30001,
			items = {1988, 1987, 2382, 2120, 2550, 2580, 7385, 2395}
			-- 7385 (pokeinfo)
			-- 2395 (portfoil)  ok
			-- 2382	(pokedex)	ok
			-- 2550 (order)		ok
			-- 1987 (bag)		ok
			-- 1988 (badge case)	ok
			-- 2120 (rope)		ok
			-- 2580 (fishing rod)	ok
		}
	        setPlayerCap(cid, 7)
			if getCreatureName(cid) == "Account Manager" then
				doSetCreatureOutfit(cid, {lookType = 655}, -1)
			return true
			end
			if getPlayerStorageValue(cid, storages.BugFishing) ~= -1 then return true end
			
		    if getPlayerSlotItem(cid, CONST_SLOT_ARMOR).itemid > 0 then
			return true
			end
			
			for _, id in ipairs(config.items) do
				doPlayerAddItem(cid, id, 1)
			end
			local bag = getPlayerItemById(cid, false, 1988).uid
			doAddContainerItem(bag, 12267, 1)
			doAddContainerItem(bag, 12266, 1)
			doAddContainerItem(bag, 12264, 1)
			doAddContainerItem(bag, 12265, 1)
			doAddContainerItem(bag, 12263, 1)
			doAddContainerItem(bag, 12262, 1)
			doAddContainerItem(bag, 12261, 1)
			doAddContainerItem(bag, 12260, 1)
			setPlayerStorageValue(cid, duelTable.wins, 0)
			setPlayerStorageValue(cid, duelTable.loses, 0)
			local pokeBag = getPlayerItemById(cid, false, 1987).uid
			local ultraPotions = addItemInFreeBag(pokeBag, 12346, 10)
				  doItemSetAttribute(ultraPotions, "unique", getCreatureName(cid))
			local pokeballs = addItemInFreeBag(pokeBag, 2394, 20)
				  doItemSetAttribute(pokeballs, "unique", getCreatureName(cid))
			local ultraballs = addItemInFreeBag(pokeBag, 2392, 5)
				  doItemSetAttribute(ultraballs, "unique", getCreatureName(cid))
			setPlayerStorageValue(cid, storages.BugFishing, 1)
			doTeleportThing(cid, getTownTemplePosition(1), false)
			
---Corrigindo vida caso o playe relogue ---

local health = 10000 -- vida que voce colocou no robo.lua
if getPlayerStorageValue(cid, 92001) >= 1 then
        setPlayerStorageValue(cid, 92001, 0) 
        setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)-health)-- linha adicionada by crypter
end
 

return true
end

local itensShopping = {
	[1] = {{2394, 100}, {12344, 25}, {12286, 2}},
	[2] = {{2391, 200}, {2393, 100}, {2392, 100}},
	[3] = {{12832, 1}},
	[4] = {{12286, 1}},
	[5] = {premiumDays = 30}
}

function doAddShoppingItem(cid)
	local allItems = {}
	local compra = 0
	local msg = ""
	local result = db.getResult("SELECT itemID, compraID FROM playercompras WHERE playerID = '" .. getPlayerGUID(cid) .. "' AND entregue = 0")
	if result:getID() ~= -1 then
		compra = result:getDataInt("compraID")
	    allItems[#allItems+1] = result:getDataInt("itemID")
		db.executeQuery("UPDATE playercompras SET entregue = 13 WHERE compraID = ".. compra ..";")
		while(result:next()) do
			allItems[#allItems+1] = result:getDataInt("itemID")
			compra = result:getDataInt("compraID")
			db.executeQuery("UPDATE playercompras SET entregue = 13 WHERE compraID = ".. compra ..";")
		end
	end
	
	if #allItems > 0 then
		for i = 1, #allItems do
			if allItems[i] == 5 then
				doPlayerAddPremiumDays(cid, itensShopping[allItems[i]].premiumDays)
				msg = "Seu pacote de '30 premium days' foi adicionado a sua conta com sucesso!"
				doSendMsg(cid, msg)
			else
			local bag = doCreateItemEx(12694) -- cubone bag de gratis
				for j = 1, #itensShopping[allItems[i]] do
					doAddContainerItem(bag, itensShopping[allItems[i]][j][1], itensShopping[allItems[i]][j][2])
				end
			
				doPlayerSendMailByName(getCreatureName(cid), bag, 1)
				msg = "Os itens que foram comprados pelo shopping foram enviados para seu cp."
				doSendMsg(cid, msg)
			end
		end
	end
end

function addSkillsToDB(cid)
		local str1 = "INSERT INTO player_skills (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 5, 5, 0);"
		local str2 = "INSERT INTO player_skills (player_id, skillid, value, count) VALUES (" .. getPlayerGUID(cid) .. ", 6, 5, 0);"
			db.executeQuery(str1)
			db.executeQuery(str2)
end

 

3 horas atrás, FlamesAdmin disse:

no arquivo anti-mc.lua dentro da pasta creaturescripts/scripts vc consegue alterar a quantidade de players por ip

local maximo = 2 -- Maximo de IP's iguais permitidos.

Realmente passou batido. O meu problema era esse... Porem, como eu já bem disse e mostrei, eles dizem "MaxPlayers codificado e limitado para 7". Tenho medo de investir tempo, estudo, dinheiro, dedicado... Chegar na hora dos players logarem eu me deparar com esse problema.

Link para o comentário
Compartilhar em outros sites

  • 0
3 minutos atrás, FlamesAdmin disse:

@Vampirescovai na suas sources, no arquivo configmanager.cpp e procura por m_confNumber[MAX_PLAYERS] = getGlobalNumber("maxPlayers");

Troca por m_confNumber[MAX_PLAYERS] = getGlobalNumber("maxPlayers", 1000);

1. A linha:  getGlobalNumber("maxPlayers")  está me dizendo que irá pegar o "MaxPlayers" do Config.lua? Entendi correto?

2. E no caso, a sua alteração irá fazer com que o MaxPlayers seja agora determinado via Configmanager.cpp propriamente dito?

 

No caso se eu entendi certo, então ainda não encontramos nem um tipo de código que limite para 7 como foi comentado nessa Config.lua.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...