Postado Agosto 4, 2016 8 anos 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!
Postado Agosto 7, 2016 8 anos 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+ DotA Event (TFS 1.x) => Clique Aqui Skype: rike.sexy
Postado Agosto 15, 2016 8 anos Autor 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.
Postado Agosto 16, 2016 8 anos 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+ DotA Event (TFS 1.x) => Clique Aqui Skype: rike.sexy
Postado Agosto 17, 2016 8 anos Autor 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 Agosto 17, 2016 8 anos por Jobs (veja o histórico de edições)
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.