Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá, sei que existe esse sistema no global, já vi em outros servidores também. Não sei se é feito source code ou LUA, porém gostaria de propor esse desafio para vocês e ajudar bastante gente, inclusive eu.

 

Funciona que quando o player toma KICK pelo servidor, ou até mesmo sua mãe puxando o cabo da internet, ou coisas do tipo o IP do cara fica 0.0.0.0, gostaria de que ele não tomasse hit pra monstros e não morrese!

Link para o post
Compartilhar em outros sites

Todas as ultimas versões do TFS 1.2 já tem isso, basta colocar para dar a storage do sistema no login.lua no creaturescripts.

Ajudei? REP+

gLpfVZ6.png.1639daf943fbd385c7ba030675b6ffc0.png

DotA Event (TFS 1.x) => Clique Aqui

Skype: rike.sexy

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
Em 07/08/2016 ás 18:05, CirocReturn disse:

Todas as ultimas versões do TFS 1.2 já tem isso, basta colocar para dar a storage do sistema no login.lua no creaturescripts.

hm, primeiramente boa noite. Como eu descubro a storage que está usando? se eu nem sei aonde é que ta o sistema? geralmente ele vem incluso nas source.

Link para o post
Compartilhar em outros sites

Procura no seu login.lua se tem essas linhas:

local function onMovementRemoveProtection(cid, oldPosition, time)
	local player = Player(cid)
	if not player then
		return true
	end

	local playerPosition = player:getPosition()
	if (playerPosition.x ~= oldPosition.x or playerPosition.y ~= oldPosition.y or playerPosition.z ~= oldPosition.z) or player:getTarget() then
		player:setStorageValue(Storage.combatProtectionStorage, 0)
		return true
	end

	addEvent(onMovementRemoveProtection, 1000, cid, oldPosition, time - 1)
end

e essas:

	if player:getStorageValue(Storage.combatProtectionStorage) <= os.time() then
		player:setStorageValue(Storage.combatProtectionStorage, os.time() + 10)
		onMovementRemoveProtection(playerId, player:getPosition(), 10)
	end

caso tenha essas linhas então já existe o sistema no seu servidor, muitas vezes a gente não percebe eu mesmo demorei pra ver que já tinha, se já tiver as linhas teste da seguinte maneira, de exit em char nos treiners e fique com outro do lado de mc pra ver se os monstros param de atacar e em seguida o player toma kick, se isso ocorrer o sistema já está ativo.

Ajudei? REP+

gLpfVZ6.png.1639daf943fbd385c7ba030675b6ffc0.png

DotA Event (TFS 1.x) => Clique Aqui

Skype: rike.sexy

Link para o post
Compartilhar em outros sites
22 horas atrás, CirocReturn disse:

Procura no seu login.lua se tem essas linhas:


local function onMovementRemoveProtection(cid, oldPosition, time)
	local player = Player(cid)
	if not player then
		return true
	end

	local playerPosition = player:getPosition()
	if (playerPosition.x ~= oldPosition.x or playerPosition.y ~= oldPosition.y or playerPosition.z ~= oldPosition.z) or player:getTarget() then
		player:setStorageValue(Storage.combatProtectionStorage, 0)
		return true
	end

	addEvent(onMovementRemoveProtection, 1000, cid, oldPosition, time - 1)
end

e essas:


	if player:getStorageValue(Storage.combatProtectionStorage) <= os.time() then
		player:setStorageValue(Storage.combatProtectionStorage, os.time() + 10)
		onMovementRemoveProtection(playerId, player:getPosition(), 10)
	end

caso tenha essas linhas então já existe o sistema no seu servidor, muitas vezes a gente não percebe eu mesmo demorei pra ver que já tinha, se já tiver as linhas teste da seguinte maneira, de exit em char nos treiners e fique com outro do lado de mc pra ver se os monstros param de atacar e em seguida o player toma kick, se isso ocorrer o sistema já está ativo.

 

Nenhuma delas, segue meu login.. rs

 

Coloquei em spoiler pois é meio grandinho..

 

login.lua

 

 

function onLogin(cid)
    local player = Player(cid)

    local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. ' World, if you are not a Premium Account, see the benefits on our website and become a player with more advantages!'
    if player:getLastLoginSaved() <= 0 then
        loginStr = loginStr .. ' Please choose your outfit.'
        player:sendTutorial(1)
    else
        if loginStr ~= '' then
            player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
        end

        loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))
    end
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
    
    local mensagem_premium = "You have "..player:getPremiumDays().." Premium Days and 20% more experience with full stamina."
    if isPremium(cid) then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, mensagem_premium)
    end

    -- Stamina
    nextUseStaminaTime[player.uid] = 0
    
-- Promotion
    local vocation = player:getVocation()
    local promotion = vocation:getPromotion()
    local value = player:getStorageValue(STORAGEVALUE_PROMOTION)
    if not promotion and value ~= 1 then
        player:setStorageValue(STORAGEVALUE_PROMOTION, 1)
    elseif value == 1 then
        player:setVocation(promotion)
    end

local defaultTown = "Intiri" -- default town where player is teleported if his home town is in premium area
local freeTowns = {"Intiri", "Ald'ruhn", "Skyrim", "Ithilien", "Ascal", "Avendale"} -- towns in free account area

if player:getPremiumDays() <= 0 and player:getStorageValue(998899) == 1 then
    local town = player:getTown()
    town = isInArray(freeTowns, town:getName()) and town or Town(defaultTown)
    player:teleportTo(town:getTemplePosition())
    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your Premium Time has expired.")
    player:setStorageValue(998899, 0)
end

    -- Events
player:registerEvent("PlayerDeath")
player:registerEvent("Tasks")
player:registerEvent("TaskLorelei")
player:registerEvent("TopFrags")
player:registerEvent("killingInTheNameOfQuestKills")
player:registerEvent("inquisitionQuestBosses")
player:registerEvent("inquisitionQuestUngreez")
player:registerEvent("IconMap")
player:registerEvent("Vermush")
player:registerEvent("lookreset")
player:registerEvent("Recompensavoc")
player:registerEvent("Recompensa")
player:registerEvent("Login")
player:registerEvent("SvargrondArenaKill")
player:registerEvent("Pythius")
player:registerEvent("ModalWindowHelper")
player:registerEvent("AnunciarMortes")
player:registerEvent("AutoLoot")
player:registerEvent("Yalahar")
player:registerEvent("BlessProtect")
player:registerEvent("Shang")
player:registerEvent("BeastEnergyElemental")
player:registerEvent("BeastFireElemental")
player:registerEvent("DropLoot")

    return true
end

 

 

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

seu servidor o global? vai nas storages na pasta lib e ve se existe a storage combatProtectionStorage, eu não investiguei se é direto na source ou por script esse sistema mas não achei script dele, teste e veja se funciona assim e se caso não funcione eu procuro onde o sistema funciona e te passo.

 

Spoiler

local function onMovementRemoveProtection(cid, oldPosition, time)
	local player = Player(cid)
	if not player then
		return true
	end

	local playerPosition = player:getPosition()
	if (playerPosition.x ~= oldPosition.x or playerPosition.y ~= oldPosition.y or playerPosition.z ~= oldPosition.z) or player:getTarget() then
		player:setStorageValue(50722, 0)
		return true
	end

	addEvent(onMovementRemoveProtection, 1000, cid, oldPosition, time - 1)
end

function onLogin(cid)
    local player = Player(cid)
    local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. ' World, if you are not a Premium Account, see the benefits on our website and become a player with more advantages!'
    if player:getLastLoginSaved() <= 0 then
        loginStr = loginStr .. ' Please choose your outfit.'
        player:sendTutorial(1)
    else
        if loginStr ~= '' then
            player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
        end
        loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))
    end
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
    
    local mensagem_premium = "You have "..player:getPremiumDays().." Premium Days and 20% more experience with full stamina."
    if isPremium(cid) then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, mensagem_premium)
    end
    -- Stamina
    nextUseStaminaTime[player.uid] = 0
    
-- Promotion
    local vocation = player:getVocation()
    local promotion = vocation:getPromotion()
    local value = player:getStorageValue(STORAGEVALUE_PROMOTION)
    if not promotion and value ~= 1 then
        player:setStorageValue(STORAGEVALUE_PROMOTION, 1)
    elseif value == 1 then
        player:setVocation(promotion)
    end
local defaultTown = "Intiri" -- default town where player is teleported if his home town is in premium area
local freeTowns = {"Intiri", "Ald'ruhn", "Skyrim", "Ithilien", "Ascal", "Avendale"} -- towns in free account area
if player:getPremiumDays() <= 0 and player:getStorageValue(998899) == 1 then
    local town = player:getTown()
    town = isInArray(freeTowns, town:getName()) and town or Town(defaultTown)
    player:teleportTo(town:getTemplePosition())
    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your Premium Time has expired.")
    player:setStorageValue(998899, 0)
end
    -- Events
    player:registerEvent("PlayerDeath")
    player:registerEvent("Tasks")
    player:registerEvent("TaskLorelei")
    player:registerEvent("TopFrags")
    player:registerEvent("killingInTheNameOfQuestKills")
    player:registerEvent("inquisitionQuestBosses")
    player:registerEvent("inquisitionQuestUngreez")
    player:registerEvent("IconMap")
    player:registerEvent("Vermush")
    player:registerEvent("lookreset")
    player:registerEvent("Recompensavoc")
    player:registerEvent("Recompensa")
    player:registerEvent("Login")
    player:registerEvent("SvargrondArenaKill")
    player:registerEvent("Pythius")
    player:registerEvent("ModalWindowHelper")
    player:registerEvent("AnunciarMortes")
    player:registerEvent("AutoLoot")
    player:registerEvent("Yalahar")
    player:registerEvent("BlessProtect")
    player:registerEvent("Shang")
    player:registerEvent("BeastEnergyElemental")
    player:registerEvent("BeastFireElemental")
    player:registerEvent("DropLoot")

	if player:getStorageValue(50722) <= os.time() then
		player:setStorageValue(50722, os.time() + 10)
		onMovementRemoveProtection(playerId, player:getPosition(), 10)
	end
    return true
end

 

 

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

Ajudei? REP+

gLpfVZ6.png.1639daf943fbd385c7ba030675b6ffc0.png

DotA Event (TFS 1.x) => Clique Aqui

Skype: rike.sexy

Link para o post
Compartilhar em outros sites
1 hora atrás, CirocReturn disse:

seu servidor o global? vai nas storages na pasta lib e ve se existe a storage combatProtectionStorage, eu não investiguei se é direto na source ou por script esse sistema mas não achei script dele, teste e veja se funciona assim e se caso não funcione eu procuro onde o sistema funciona e te passo.

 

  Mostrar conteúdo oculto


local function onMovementRemoveProtection(cid, oldPosition, time)
	local player = Player(cid)
	if not player then
		return true
	end

	local playerPosition = player:getPosition()
	if (playerPosition.x ~= oldPosition.x or playerPosition.y ~= oldPosition.y or playerPosition.z ~= oldPosition.z) or player:getTarget() then
		player:setStorageValue(50722, 0)
		return true
	end

	addEvent(onMovementRemoveProtection, 1000, cid, oldPosition, time - 1)
end

function onLogin(cid)
    local player = Player(cid)
    local loginStr = 'Welcome to ' .. configManager.getString(configKeys.SERVER_NAME) .. ' World, if you are not a Premium Account, see the benefits on our website and become a player with more advantages!'
    if player:getLastLoginSaved() <= 0 then
        loginStr = loginStr .. ' Please choose your outfit.'
        player:sendTutorial(1)
    else
        if loginStr ~= '' then
            player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
        end
        loginStr = string.format("Your last visit was on %s.", os.date("%a %b %d %X %Y", player:getLastLoginSaved()))
    end
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, loginStr)
    
    local mensagem_premium = "You have "..player:getPremiumDays().." Premium Days and 20% more experience with full stamina."
    if isPremium(cid) then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, mensagem_premium)
    end
    -- Stamina
    nextUseStaminaTime[player.uid] = 0
    
-- Promotion
    local vocation = player:getVocation()
    local promotion = vocation:getPromotion()
    local value = player:getStorageValue(STORAGEVALUE_PROMOTION)
    if not promotion and value ~= 1 then
        player:setStorageValue(STORAGEVALUE_PROMOTION, 1)
    elseif value == 1 then
        player:setVocation(promotion)
    end
local defaultTown = "Intiri" -- default town where player is teleported if his home town is in premium area
local freeTowns = {"Intiri", "Ald'ruhn", "Skyrim", "Ithilien", "Ascal", "Avendale"} -- towns in free account area
if player:getPremiumDays() <= 0 and player:getStorageValue(998899) == 1 then
    local town = player:getTown()
    town = isInArray(freeTowns, town:getName()) and town or Town(defaultTown)
    player:teleportTo(town:getTemplePosition())
    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your Premium Time has expired.")
    player:setStorageValue(998899, 0)
end
    -- Events
    player:registerEvent("PlayerDeath")
    player:registerEvent("Tasks")
    player:registerEvent("TaskLorelei")
    player:registerEvent("TopFrags")
    player:registerEvent("killingInTheNameOfQuestKills")
    player:registerEvent("inquisitionQuestBosses")
    player:registerEvent("inquisitionQuestUngreez")
    player:registerEvent("IconMap")
    player:registerEvent("Vermush")
    player:registerEvent("lookreset")
    player:registerEvent("Recompensavoc")
    player:registerEvent("Recompensa")
    player:registerEvent("Login")
    player:registerEvent("SvargrondArenaKill")
    player:registerEvent("Pythius")
    player:registerEvent("ModalWindowHelper")
    player:registerEvent("AnunciarMortes")
    player:registerEvent("AutoLoot")
    player:registerEvent("Yalahar")
    player:registerEvent("BlessProtect")
    player:registerEvent("Shang")
    player:registerEvent("BeastEnergyElemental")
    player:registerEvent("BeastFireElemental")
    player:registerEvent("DropLoot")

	if player:getStorageValue(50722) <= os.time() then
		player:setStorageValue(50722, os.time() + 10)
		onMovementRemoveProtection(playerId, player:getPosition(), 10)
	end
    return true
end

 

 

 

eu andei procurando aqui e nada, baixei umas datapack que tem aqui atual do fórum e mesclei pra ver, mas nada adiantou, presumo que seja em source e se for não posso compilar 

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo