Ir para conteúdo

Diogozore

Campones
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Diogozore

  1. Assim que o player morrer ele volta para o level 400 perdendo todo experiência ganha, preciso que o player só ganhe level 400 quando ele entrar a primeira vez no sevidor e que não perca todo o level ganho quando morrer.  

     

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <mod name="TeamWarOT HardCore Mod - TeamWarOT.com" version="0.3" author="HeberPcL" contact="heberpcl@gmail.com" enabled="yes">
    	<config name="TeamWar-config"><![CDATA[
    		-- [[   	  ## Config TeamWarOT HardCore ##		]] --
    		configTWH = {
    			maxTopRanking = 12,
    			diffFragsToEqui = 15,
    			antiMC = {
    				enable = true, -- enable or disable
    				max = 5, -- max chars with the same ip
    				allowedIP = {""},
    				timeForKick = 1500,
    				MsgKick = "You have been kicked because you are using Multi-Client.",
    				group_id = 3  -- only kick player with group id 1 (normal players)
    			},
    
    			-- Logout Protection Time
    			logoutProtectionTimer = {
    				enable = true,
    				storage = 55552,
    				timer = 20 * 1000
    			},
    			
    			defaultCharStatus = false, -- c/false for enable accounts  (1/1 - 2/2 - 3/3 - 4/4)
    			defaultCharAccoutID = {10,20,30,40}, -- Sorcerer/Druid/Paladin/Knight
    			
    			-- OutFit Type / Color
    			TEAMS_SET = { 
    				{lookType = true, lookHead = 0, lookAddons = 3, lookLegs = 76, lookBody = 94, lookFeet = 0}, -- Team I OutFit
    				{lookType = true, lookHead = 0, lookAddons = 3, lookLegs = 76, lookBody = 81, lookFeet = 0}, -- Team II Outfit
    				{lookType = true, lookHead = 0, lookAddons = 3, lookLegs = 0, lookBody = 0, lookFeet = 0} -- NoTeam Outfit
    			},
    
    			-- Map Type  (1 = Team vs Team (Normal)  2 = Quest Map (No-PvP?)  3 = Capture The Flag (Normal + Capture)  4 = Deathmatch (Player vs All))
    			mapStats = {
    				[1] = {
    					author = "Staff",	name = "Thais",	mapType = {1, "Team vs Team"},		templeIDs = {1, 2},
    					templePositions = {		[1] = { x = 1254,	y = 1508, z = 7},	[2] = { x = 1345,	y = 1466, z = 7}		}
    				},
    				[2] = {
    					author = "Staff",	name = "Carlin", mapType = {1, "Team vs Team"},		templeIDs = {1, 2},
    					templePositions = {		[1] = { x = 1254,	y = 1508, z = 7},	[2] = { x = 1345,	y = 1466, z = 7}		}
    				},
    				[3] = {
    					author = "Staff",	name = "Venore", mapType = {1, "Team vs Team"},		templeIDs = {1, 2},
    					templePositions = {		[1] = { x = 1254,	y = 1508, z = 7},	[2] = { x = 1345,	y = 1466, z = 7}		}
    				},
    				[4] = {
    					author = "Staff",	name = "Edron",	mapType = {1, "Team vs Team"},		templeIDs = {1, 2},
    					templePositions = {		[1] = { x = 1254,	y = 1508, z = 7},	[2] = { x = 1345,	y = 1466, z = 7}		}
    			    },
    				[5] = {
    					author = "Staff",	name = "Fibula", mapType = {1, "Team vs Team"},		templeIDs = {1, 2},
    					templePositions = {		[1] = { x = 1254,	y = 1508, z = 7},	[2] = { x = 1345,	y = 1466, z = 7}		}
    				}
    			},
    			
    			deathBroadcast = {
    				killStorageValue = 9000,
    				lastKillerStorage = 3000,
    				maxPlayerGainFrag = 5,
    				MaxLevel = 	{ use = true,	MAX =2000  },
    				FragCount = { use = true 	},
    				AnimeText = { use = true 	},
    				GainMoney = { use = true, coinID = 2160 },
    				MultiIp = 	{ use = false 	},
    				experienceByKillingPlayers = {	use = true,	levelAmount = 0.6, color = 240 }, -- level gain for last hit killer
    				killMessage = {	use = true,	text = "[War Stats]  Frags Online: |KILLERKILLS|  Frags All: |KILLERKILLSALL|  Last Killer: |TARGETNAME|!", messageClass = MESSAGE_STATUS_CONSOLE_BLUE },
    				killerAnimation = {	use = true,	text = "Frag!",	 color = 240 }, -- Only 9 letters! No "commands" here.
    				targetAnimation = {	use = true, text = "Owned!", color = 151 } -- Only 9 letters! No "commands" here.
    			},
    
    			mapType = {
    				[1] = {
    					idType = 1,
    					nameType = "Team vs Team",
    					descricao = "           { Team vs Team } \n\n O objetivo é matar \n jogadores de outros times."
    				},
    				[4] = {
    					idType = 4,
    					nameType = "Deathmatch",
    					descricao = "           { Deathmatch } \n\n O objetivo é matar \n o maior numero de jogadores \n      (TODOS SÃO INIMIGO!)."
    				},
    			},
    			
    			mapChange = {
    				timer = 20 * 60,
    				timerStorage = 13001,
    				mapIdStorage = 13002,
    				mapTypeStorage = 13005,
    				accessIgnore = 3
    			},
    			
    			STORAGE = {
    				PLAYER = {
    					TEAM_INFO = 40000,
    					FRAGS_Online = 5000,
    					OUTFIT_Status = 4999,
    				},
    				GLOBAL = {
    					FRAGS = {30001, 30002},
    					TEAMS = {40001, 40002, 40003},
    					TEAMS_COUNT = {40011, 40012, 40013}
    				}
    			},
    			-- Protect Area / Not Teleport in Change Map
    			protectArea = {
    				{fromx=102, fromy=615, fromz=8, tox=146, toy=638, toz=8},
    			},
    			startPlayer = {
    				LevelFree = 400,
    				LevelPremium = 400,
    				STATS = {
    					-- Free Account 1-4
    					{	healthMax = 895,  manaMax = 4045,	cap = 1890, 	healthExt = 200,	manaExt = 500,	capExt = 250 },
    					{	healthMax = 895,  manaMax = 4045,	cap = 1890,		healthExt = 200,	manaExt = 500,	capExt = 250 },
    					{	healthMax = 1605, manaMax = 2165,	cap = 3310,		healthExt = 350,	manaExt = 350,	capExt = 250 },
    					{	healthMax = 2315, manaMax = 745,	cap = 4020,		healthExt = 500,	manaExt = 200,	capExt = 250 },
    					-- Premium Account  and  Promotion
    					{ 	healthMax = 1045, manaMax = 4795, 	cap = 1890,		healthExt = 200,	manaExt = 500,	capExt = 250 },
    					{ 	healthMax = 1045, manaMax = 4795, 	cap = 1890,		healthExt = 200,	manaExt = 500,	capExt = 250 },
    					{ 	healthMax = 1905, manaMax = 2615,	cap = 3310,		healthExt = 350,	manaExt = 350,	capExt = 250 },
    					{ 	healthMax = 2765, manaMax = 895,	cap = 4020,		healthExt = 500,	manaExt = 200,	capExt = 250 },
    				},
    			},
    			mensagens = {
    				[0] = "Fique por dentro de tudo que acontece no servidor e participe do nosso Site. Visite: http://ntofullwar.servegame.com/",
    				[1] = "A Equipe não se responsabiliza por perda de Items/Roubos/Accounts Hackeds. Mantenha sua account segura, nunca use Account = Senha!",
    				[2] = "Comandos disponiveis no Servidor: !frags, !top, !jutsus, !online, !map, !maps, !nextMap.",
    				[3] = "Crie Agora sua Account! Visite: http://ntofullwar.servegame.com/",
    				[4] = "Visite nosso TeamSpeak 3, otimo bate-papo de voz com toda Equipe e Players! Cliente antigo 3.1.8 IP: TS.TeamSpeakClub.com:9987  Download: https://mega.nz/#!uMgzBIzY!fd1JoRq0tx41gfP1-d2f718XI19Szx_SJa8xf_3M4is "
    			}
    		}
    	]]></config>
    	
    	<lib name="TeamWar-lib"><![CDATA[
    		domodlib('TeamWar-config')
    		-- TeamWar HardCore - Functions List
    		map = {
    			get = function()
    				return getStorage(configTWH.mapChange.mapIdStorage)
    			end,
    			removeIssue = function()
    				if map.get() < 1 or map.get() > #configTWH.mapStats then
    					-- print("map.removeIssue: issue has been removed :: map was ".. map.get())
    					return doSetStorage(configTWH.mapChange.mapIdStorage, 1)
    				end
    				return FALSE
    			end,
    			getIdByName = function(mapName)
    				for i = 1, #configTWH.mapStats do
    					if (configTWH.mapStats[i].name == mapName) then
    						returnID = i
    					end
    				end
    				return returnID or 0
    			end,
    			set = function(id)
    				local nextMapID = id or ((map.get() % #configTWH.mapStats) + 1)
    				map.removeIssue()
    				return doSetStorage(configTWH.mapChange.mapIdStorage, nextMapID)
    			end
    		}
    		mapInfo = {
    			mapId = function()
    				return getStorage(configTWH.mapChange.mapIdStorage)
    			end,
    			mapIdNext = function()
    				return ((map.get() % #configTWH.mapStats) + 1)
    			end,
    			mapName = function()
    				return configTWH.mapStats[map.get()].name
    			end,
    			mapNameNext = function()
    				return configTWH.mapStats[((map.get() % #configTWH.mapStats) + 1)].name
    			end
    		}
    		mapTypeManager = {
    			get = function()
    				return getStorage(configTWH.mapChange.mapTypeStorage)
    			end,
    			set = function(id)
    				return doSetStorage(configTWH.mapChange.mapTypeStorage, id)
    			end,
    		}
    		playerTeam = {
    			get = function (cid)
    				return ((getCreatureStorage(cid, configTWH.STORAGE.PLAYER.TEAM_INFO) == configTWH.STORAGE.GLOBAL.TEAMS[1]) and 1) or 2
    			end,
    			set = function (cid, id)
    				return doPlayerSetStorageValue(cid, configTWH.STORAGE.PLAYER.TEAM_INFO, id)
    			end
    		}
    		fragsTeam = {
    			get = function (teamId)
    				return getStorage(configTWH.STORAGE.GLOBAL.FRAGS[teamId])
    			end,
    			add = function (teamId, count)
    				return doSetStorage(configTWH.STORAGE.GLOBAL.FRAGS[teamId], fragsTeam.get(teamId) + count)
    			end,
    			start = function (teamId)
    				return doSetStorage(configTWH.STORAGE.GLOBAL.FRAGS[teamId], 0)
    			end,
    			rem = function (teamId, count)
    				return fragsTeam.add(teamId, -count)
    			end
    		}
    		teamCount = {
    			get = function (teamId)
    				return getStorage(configTWH.STORAGE.GLOBAL.TEAMS_COUNT[teamId])
    			end,
    			add = function (teamId, count)
    				return doSetStorage(configTWH.STORAGE.GLOBAL.TEAMS_COUNT[teamId], teamCount.get(teamId) + count)
    			end,
    			start = function (teamId)
    				return doSetStorage(configTWH.STORAGE.GLOBAL.TEAMS_COUNT[teamId], 0)
    			end,
    			rem = function (teamId, count)
    				return teamCount.add(teamId, -count)
    			end,
    			change = function (cid, team, teamGo)
    				-- print("["..getCreatureName(cid).."]  ID: "..cid.." Team: "..team.." TeamGo: "..teamGo.." !")
    				doSetStorage(configTWH.STORAGE.GLOBAL.TEAMS_COUNT[team], teamCount.get(team) - 1)
    				doSetStorage(configTWH.STORAGE.GLOBAL.TEAMS_COUNT[teamGo], teamCount.get(teamGo) + 1)
    			end
    		}
    		frags = {
    			get = function (cid)
    				local query = db.getResult("SELECT `frags` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1;")
    				return query:getDataInt("frags")
    			end,
    			add = function (cid, amount)
    				return db.executeQuery("UPDATE `players` SET `frags` = `frags` + " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
    			end
    		}
    		fragsOnline = {
    			add = function(cid, amount)
    				return db.executeQuery("UPDATE `players` SET `frags_online` = `frags_online` + " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
    			end,
    			get = function(cid)
    				local query = db.getResult("SELECT `frags_online` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1;")
    				return query:getDataInt("frags_online")
    			end,
    			cleanStart = function(cid)
    				return db.executeQuery("UPDATE `players` SET `frags_online` = '0' WHERE `id` = '" .. getPlayerGUID(cid) .. "';")
    			end,
    			cleanALL = function()
    				return db.executeQuery("UPDATE `players` SET `frags_online` = '0';")
    			end
    		}
    		deaths = {
    			get = function (cid)
    				local query = db.getResult("SELECT `deaths` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")
    				return query:getDataInt("deaths")
    			end,
    			add = function (cid, amount)
    				return db.executeQuery("UPDATE `players` SET `deaths` = `deaths` + " .. amount .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";") 
    			end
    		}
    		outfit = {
    			-- // Set Team Color
    			setTeam = function (cid, team)
    				doCreatureSetStorage(cid, configTWH.STORAGE.PLAYER.OUTFIT_Status, 1)
    				if (not isPremium(cid)) then
    					--doCreatureChangeOutfit(cid, configTWH.TEAMS_SET[team])
    				elseif isPremium(cid) then
    					local newOutfit = {
    						{lookType = getCreatureOutfit(cid).lookType, lookHead = configTWH.TEAMS_SET[team].lookHead, lookAddons = getCreatureOutfit(cid).lookAddons, lookLegs = configTWH.TEAMS_SET[team].lookLegs, lookBody = configTWH.TEAMS_SET[team].lookBody, lookFeet = configTWH.TEAMS_SET[team].lookFeet},
    						{lookType = getCreatureOutfit(cid).lookType, lookHead = configTWH.TEAMS_SET[team].lookHead, lookAddons = getCreatureOutfit(cid).lookAddons, lookLegs = configTWH.TEAMS_SET[team].lookLegs, lookBody = configTWH.TEAMS_SET[team].lookBody, lookFeet = configTWH.TEAMS_SET[team].lookFeet},
    						{lookType = getCreatureOutfit(cid).lookType, lookHead = configTWH.TEAMS_SET[team].lookHead, lookAddons = getCreatureOutfit(cid).lookAddons, lookLegs = configTWH.TEAMS_SET[team].lookLegs, lookBody = configTWH.TEAMS_SET[team].lookBody, lookFeet = configTWH.TEAMS_SET[team].lookFeet}
    					}
    					--doCreatureChangeOutfit(cid, newOutfit[team])
    				end
    			end,
    			
    			-- Set Random Outfits/Color
    			setRandomColor = function(cid)
    				doCreatureSetStorage(cid, configTWH.STORAGE.PLAYER.OUTFIT_Status, 1)
    				local out = getCreatureOutfit(cid)
    				--doCreatureChangeOutfit (cid, {lookType = out.lookType, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132), lookAddons = out.lookAddons } )
    			end
    		}
    		ranking = {
    			-- ranking.getTopFragsOnline()
    			getTopFragsOnline = function()
    				local query = db.getResult("SELECT `name` FROM `players` WHERE `online` = '1' ORDER BY `frags_online` DESC LIMIT 1;")
    				return query:getDataString("name")
    			end
    			-- getPlayerGUID
    		}
    		-- Player Set Team [Login]
    		doPlayerSetTeam = {
    			login = function (cid)
    				
    				if (getPlayerAccess(cid) <= 3) and (getCreatureName(cid) ~= "Account Manager") then
    					-- Player Mensagem
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE ,"[ NTOFULLWAR HardCore ]  Site: http://NtoFullwar.servegame.com/  -  IP: ntofullwar.ddns.net")
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE ,"   Accounts      :   Naruto  |  Sasuke  |  Kakuzu  |  jiraya  |  Shisui  |  Konan  |  anbu  |  orochimaru  |  kankuro  |  temari  |  kisame  |  nagato  |  itachi  |  kiba  |  gaara  |  sakura  |  kakashi  |  tenten")
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE ,"   Commands    :   !jutsus")
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE ,"    Players        :   Team Red   [".. teamCount.get(1) .."]   vs   [".. teamCount.get(2) .."]   Team Green")
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE ,"  Team Frags   :   Team Red   [".. fragsTeam.get(1) .."]   vs   [".. fragsTeam.get(2) .."]   Team Green")
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE ,"   Map Info       :   Game Map:  ".. mapInfo.mapName() .."  NextMap:  ".. mapInfo.mapNameNext())
    
    					--  1 = Team vs Team (Normal)  2 = Quest Map (No-PvP?)  3 = Capture The Flag (Normal + Capture)  4 = Deathmatch (Player vs All)
    					-- // 1 = Team vs Team (Normal)
    					if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    						--print("[Login-MapType] 1 = Team vs Team (Normal)")
    						
    						-- Set Team Small
    						local team = getSmallestTeam()
    						playerTeam.set(cid, configTWH.STORAGE.GLOBAL.TEAMS[team])
    						
    						-- Set Team Color Outfits
    						outfit.setTeam(cid, team)
    						
    						-- Team Count e Resete Frags
    						teamCount.add(team, 1)
    						
    						-- Set Town & Position
    						doPlayerSetTown(cid, configTWH.mapStats[map.get()].templeIDs[playerTeam.get(cid)])
    						doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true, true)
    						
    					-- // 2 = Quest Map (No-PvP?)
    					elseif (configTWH.mapStats[map.get()].mapType[1] == 2) then
    					
    					-- // 3 = Capture The Flag (Normal + Capture)
    					elseif (configTWH.mapStats[map.get()].mapType[1] == 3) then
    					
    					-- // 4 = Deathmatch (Player vs All)
    					elseif (configTWH.mapStats[map.get()].mapType[1] == 4) then		
    						--print("[Change-MapType] 4 = Deathmatch (Player vs All)")
    						
    						-- Set Town & Position
    						doPlayerSetTown(cid, math.random(configTWH.mapStats[map.get()].templeIDs[1], configTWH.mapStats[map.get()].templeIDs[2]))
    						doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), true, true)
    						
    						-- Set Random Outfits/Color
    						outfit.setRandomColor(cid)
    					end
    					
    					
    					-- MapType Informacao
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE , configTWH.mapType[mapTypeManager.get()].descricao)
    					--doPlayerPopupFYI(cid, configTWH.mapType[mapTypeManager.get()].descricao)
    					
    					
    					-- Player Set (Level / Health / Mana)
    					if not isPremium(cid) and (getPlayerLevel(cid) <= configTWH.startPlayer.LevelFree) then 
    						-- Free Players
    						doPlayerAddExperience(cid, (getExperienceForLevel(configTWH.startPlayer.LevelFree) - getPlayerExperience(cid)))
    					elseif isPremium(cid) and getPlayerPromotionLevel(cid) == 0 and (getPlayerLevel(cid) <= configTWH.startPlayer.LevelFree) then
    						-- Premium 
    						doPlayerAddExperience(cid, (getExperienceForLevel(configTWH.startPlayer.LevelFree) - getPlayerExperience(cid)))
    						
    					elseif isPremium(cid) and getPlayerPromotionLevel(cid) == 1 and (getPlayerLevel(cid) <= configTWH.startPlayer.LevelPremium) then
    						-- Premium com Promotion
    						doPlayerAddExperience(cid, (getExperienceForLevel(configTWH.startPlayer.LevelPremium) - getPlayerExperience(cid)))
    						
    					end
    					
    					
    					-- Clean Player Frags Online
    					fragsOnline.cleanStart(cid)
    					
    					-- Set Max (Health & Mana)
    					doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid))
    					doCreatureAddMana(cid, (getCreatureMaxMana(cid) - getCreatureMana(cid)))
    					
    					-- Remove Conditions
    					doRemoveCondition(cid, CONDITION_INFIGHT)
    					
    					-- Send Magic Effect
    					doSendMagicEffect(getCreaturePosition(cid), 37)
    					doSendMagicEffect(getCreaturePosition(cid), 2)
    
    
    					if isInArray(configTWH.defaultCharAccoutID, getAccountIdByName(getPlayerName(cid))) then
    						doPlayerPopupFYI(cid, "                         Sample Accounts \n \n - Português \n Atenção está é uma account exemplo, \npor favor Crie sua Account. \n\n - Inglês \n Please note this is such an account, \n please Create Your Account. \n\n - Espanhol \n Tenga en cuenta que es como una cuenta,\n crear una cuenta. \n \n Site:  http://ntofullwar.servegame.com/ \n")
    					else
    						doPlayerPopupFYI(cid, "            NTOFULLWAR HardCore Enforced\n               http://ntofullwar.servegame.com/ \n \n  Commands:\n       !jutsus - Informações de spells!\n       !top - Top kils do dia!\n       !map - Informações do mapa!\n       !maps - Lista de mapas!\n       !frags  -  Top Kills!\n       !online - informações do team's!\n      \nby God Murrinha")
    					end
    					--print("[IN] Team I ["..teamCount.get(1).."]  vs  ["..teamCount.get(2).."] Team II  =  Team Total: ".. (teamCount.get(1)+teamCount.get(2)))
    					
    				elseif getPlayerAccess(cid) >= 3 then
    				
    					-- Admin Mensagem
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE ,"Admin!")
    					
    					-- Send Temple Atual
    					doPlayerSetTown(cid, configTWH.mapStats[map.get()].templeIDs[1])
    					
    					-- Teleport Templo
    					doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
    					
    				end
    				return TRUE
    			end
    		}
    
    		-- |		Change Map Mod 			| --
    		function map_change(id)
    
    			local tmpID = id or mapInfo.mapIdNext()
    			map.set(tmpID)
    			
    			-- Set Map Type
    			mapTypeManager.set(configTWH.mapStats[map.get()].mapType[1])
    			teamCount.start(1)
    			teamCount.start(2)
    			
    			for _, pid in ipairs(getPlayersOnline()) do
    				if (getPlayerAccess(pid) < configTWH.mapChange.accessIgnore) and (getCreatureName(pid) ~= "Account Manager") then
    					
    					if (not isInPosition(getPlayerPosition(pid), configTWH.protectArea[1])) then
    						
    						--  1 = Team vs Team (Normal)  2 = Quest Map (No-PvP?)  3 = Capture The Flag (Normal + Capture)  4 = Deathmatch (Player vs All)
    						-- // 1 = Team vs Team (Normal)
    						if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    							--print("[Change-MapType] 1 = Team vs Team (Normal)")
    							
    							local teamSmall = getSmallestTeam()
    							--print("TeamSmall: "..teamSmall.."  TempleId: "..configTWH.mapStats[map.get()].templeIDs[playerTeam.get(pid)])
    							
    							-- Set Team Small
    							playerTeam.set(pid, configTWH.STORAGE.GLOBAL.TEAMS[teamSmall])
    							
    							-- Team Count
    							teamCount.add(teamSmall, 1)
    							
    							-- Set Team Color Outfits
    							outfit.setTeam(pid, teamSmall)
    							
    							-- Set Town & Position
    							doPlayerSetTown(pid, configTWH.mapStats[map.get()].templeIDs[playerTeam.get(pid)])
    							doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true, true)
    
    						-- // 2 = Quest Map (No-PvP?)
    						elseif (configTWH.mapStats[map.get()].mapType[1] == 2) then
    						
    						-- // 3 = Capture The Flag (Normal + Capture)
    						elseif (configTWH.mapStats[map.get()].mapType[1] == 3) then
    						
    						-- // 4 = Deathmatch (Player vs All)
    						elseif (configTWH.mapStats[map.get()].mapType[1] == 4) then	
    						
    							-- print("[Change-MapType] 4 = Deathmatch (Player vs All) A ".. configTWH.mapStats[map.get()].templeIDs[1])
    							
    							-- Set Town & Position
    							doPlayerSetTown(pid, math.random(configTWH.mapStats[map.get()].templeIDs[1], configTWH.mapStats[map.get()].templeIDs[2]))
    							doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid)), true, true)
    							
    							-- Set Random Outfits/Color
    							doCreatureSetStorage(pid, configTWH.STORAGE.PLAYER.OUTFIT_Status, 1)
    							local out = getCreatureOutfit(pid)
    							--doCreatureChangeOutfit (pid, {lookType = out.lookType, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132), lookAddons = out.lookAddons } )
    						end
    						
    						doRemoveConditions(pid, false)
    						doSendMagicEffect(getCreaturePosition(pid), 10)
    					end
    				end
    				if (getPlayerAccess(pid) > configTWH.mapChange.accessIgnore) then
    					doTeleportThing(pid, configTWH.mapStats[map.get()].templePositions[1])
    				end
    			end
    			
    			doCleanMap()
    			doBroadcastMessage("Team Red [".. fragsTeam.get(1) .."]  vs  [".. fragsTeam.get(2) .."] Team Green", MESSAGE_STATUS_CONSOLE_ORANGE)
    
    			fragsTeam.start(1)
    			fragsTeam.start(2)
    			
    			doBroadcastMessage("Map has been changed. New map is ".. configTWH.mapStats[map.get()].name .." with type is "..configTWH.mapStats[map.get()].mapType[2]..".", MESSAGE_STATUS_CONSOLE_BLUE)
    		end
    		function isInPosition(pos, area)
    			if pos.x >= area.fromx and pos.x <= area.tox then
    				if pos.y >= area.fromy and pos.y <= area.toy then
    					if pos.z >= area.fromz and pos.z <= area.toz then
    						return true
    					end
    				end
    			end
    			return false
    		end 
    		function getSmallestTeam()
    			if (teamCount.get(1) < teamCount.get(2)) then
    				teamID = 1
    			else
    				teamID = 2
    			end
    			return teamID
    		end
    		function getTimeMap(s)
    			local n = math.floor(s / 60)
    			s = s - (60 * n)
    			return n, s
    		end
    		function mostraTempo(cid)
    			local minutesY,secondsY = getTimeMap(configTWH.mapChange.timer-(os.time()-getStorage(configTWH.mapChange.timerStorage)))
    			-- 1 = Team vs Team (Normal)
    			if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    				msgTMP = "[NTOFULLWAR]  -*|*-  Red [".. fragsTeam.get(1) .."] X [".. fragsTeam.get(2) .. "] Green  |  Map: "..mapInfo.mapName().." |  Change Map in "..minutesY..":"..secondsY.."  -*|*-  [".. configTWH.mapStats[map.get()].mapType[2] .."]"
    			-- 2 = Quest Map (No-PvP?)
    			elseif (configTWH.mapStats[map.get()].mapType[1] == 2) then
    			
    			-- 3 = Capture The Flag (Normal + Capture)
    			elseif (configTWH.mapStats[map.get()].mapType[1] == 3) then
    			
    			-- 4 = Deathmatch (Player vs All)
    			elseif (configTWH.mapStats[map.get()].mapType[1] == 4) then
    				msgTMP = "[TeamWarOT]  -*|*-  Top: "..ranking.getTopFragsOnline().." ("..fragsOnline.get(getPlayerByName(ranking.getTopFragsOnline())).." kills)  |  Map: "..mapInfo.mapName().." |  Change Map in "..minutesY..":"..secondsY.."  -*|*-  [".. configTWH.mapStats[map.get()].mapType[2] .."]"
    			end
    			doPlayerSendCancel(cid, msgTMP)
    		end
    		function playerKickMC(cid)
    			if isPlayer(cid) then
    				doRemoveCreature(cid)
    			end
    		end
    		function equilibrar()
    			teamCount.start(1)
    			teamCount.start(2)
    			for _, pid in ipairs(getPlayersOnline()) do
    				if (getPlayerAccess(pid) < configTWH.mapChange.accessIgnore) and (getCreatureName(pid) ~= "Account Manager") then
    					for _, area in ipairs(configTWH.protectArea) do
    						if (not isInPosition(getCreaturePosition(pid), area)) then
    							playerTeam.set(pid, configTWH.STORAGE.GLOBAL.TEAMS[getSmallestTeam()])
    						end
    					end
    				end
    			end
    			return true
    		end
    		function getCurrentPlayers()
    			local db_player = db.getResult("SELECT `name` FROM `players` WHERE `account_id` <> '10' AND `account_id` <> '20' AND `account_id` <> '30' AND `account_id` <> '40' ORDER BY `name` ASC;")
    			local players = {}
    
    			if (db_player:getID() ~= -1) then
    				repeat
    					table.insert(players, db_player:getDataString("name"))
    				until not db_player:next()
    			end
    			db_player:free()
    			return players
    		end
    		function getCurrentAccounts()
    			local db_accounts = db.getResult("SELECT `id`, `name` FROM `accounts` WHERE `id` <> '10' AND `id` <> '20' AND `id` <> '30' AND `id` <> '40' ORDER BY `name` ASC;")
    			local accounts = {}
    
    			if (db_accounts:getID() ~= -1) then
    				repeat
    					table.insert(accounts, db_accounts:getDataString("name"))
    				until not db_accounts:next()
    			end
    			db_accounts:free()
    			return accounts
    		end
    	]]></lib>
    
    	<event type="look" name="TeamWarLook" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    			
    		function onLook(cid, thing, position, lookDistance)
    			if(isPlayer(thing.uid) and thing.uid ~= cid) then
    				doPlayerSetSpecialDescription(thing.uid,' Frags: '..frags.get(thing.uid)..',  Frags Online: '..fragsOnline.get(thing.uid))
    			elseif (thing.uid == cid) then
    				local message = "You see yourself."
    				if(getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION)) then
    					message = message .. " You are " .. getPlayerGroupName(cid) .. "."
    				elseif(getPlayerVocation(cid) ~= 0) then
    					message = message .. " You are a " .. getPlayerVocationName(cid):lower() .. "."
    				else
    					message = message .. " You have no vocation."
    				end
    				--if(getPlayerNameByGUID(getPlayerPartner(cid), false, false) ~= nil) then
    				--	message = message .. " You are " .. (getPlayerSex(cid) == PLAYERSEX_FEMALE and "wife" or "husband") .. " of " .. getPlayerNameByGUID(getPlayerPartner(cid)) .. "."
    				--end
    				if(getPlayerGuildId(cid) > 0) then
    					message = message .. " You are " .. (getPlayerGuildRank(cid) == "" and "a member" or getPlayerGuildRank(cid)) .. " of the " .. getPlayerGuildName(cid)
    					message = getPlayerGuildNick(cid) ~= "" and message .. " (" .. getPlayerGuildNick(cid) .. ")." or message .. "."
    				end
    				if(getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS)) then
    					message = message .. "\nHealth: [" .. getCreatureHealth(cid) .. " / " .. getCreatureMaxHealth(cid) .. "], Mana: [" .. getCreatureMana(cid) .. " / " .. getCreatureMaxMana(cid) .. "]."
    					message = message .. "\nIP: " .. doConvertIntegerToIp(getPlayerIp(cid)) .. ", Client: " .. getClientVersion(cid) .. "."
    				end
    				if(getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION)) then
    					message = message .. "\nPosition: [X: " .. position.x .. "] [Y: " .. position.y .. "] [Z: " .. position.z .. "]."
    				end
    				doPlayerSetSpecialDescription(cid,' Frags: '..frags.get(cid)..'  and  Frags Online: '..fragsOnline.get(cid))
    				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, message.. " Frags: "..frags.get(cid)..",  Frags Online: "..fragsOnline.get(cid))  
    				return false
    			end
    			return true
    		end
    	]]></event>
    
    	<event type="death" name="TeamWarDeathBroadcast" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onDeath(cid, corpse, deathList)
    			
    			-- Get Type for Killing and Get ALl Players 
    			local strings = {""}
    			local t, position = 1, 1
    
    			if not isInArray(configTWH.defaultCharAccoutID, getAccountIdByName(getPlayerName(cid))) then
    				deaths.add(cid, 1)
    			end
    			
    			local deathType = "killed"
    			local toSlain, toCrushed, toEliminated = 3, 9, 15
    
    			if #deathList >= toSlain and #deathList < toCrushed then
    				deathType = "slain"
    			elseif #deathList >= toCrushed and #deathList < toEliminated then
    				deathType = "crushed"
    			elseif #deathList >= toEliminated then
    				deathType = "eliminated"
    			end
    			
    			-- Need Set Limit 5 Players Gain Experience
    			for _, pid in ipairs(deathList) do
    				local killer = pid
    				if (isPlayer(killer) == TRUE) then
    				
    					-- Multi Client Use
    					if (configTWH.deathBroadcast.MultiIp.use) and (getPlayerIp(cid) == getPlayerIp(killer)) then
    						doPlayerSendTextMessage(killer, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, just different ips gain exp, count frags and backpack of stone skin amulet.")
    						return TRUE
    					end
    					
    					-- Check Last Ip killed
    					if (configTWH.deathBroadcast.MultiIp.use) and (getCreatureStorage(killer, configTWH.deathBroadcast.lastKillerStorage) == getPlayerIp(cid)) then
    						doPlayerSendTextMessage(killer, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you do not get frag when killing the same player (ip)!")
    						return TRUE
    					else
    						doCreatureSetStorage(killer, configTWH.deathBroadcast.lastKillerStorage, getPlayerIp(cid))
    					end
    					
    					-- Frag Count MYSQL
    					if (configTWH.deathBroadcast.FragCount.use) then
    						if not isInArray(configTWH.defaultCharAccoutID, getAccountIdByName(getPlayerName(killer))) then
    							frags.add(killer, 1)
    						end
    					end
    					
    					-- Frags Count Storage
    					fragsOnline.add(killer, 1)
    			
    					-- Killer & Target Level
    					local killerKills = fragsOnline.get(killer)
    					local killerLevel = getPlayerLevel(killer)
    					local targetLevel = getPlayerLevel(cid)
    					local levelDiff = targetLevel - killerLevel
    					
    					local values = {
    						["KILLERKILLSALL"]         = frags.get(killer),
    						["KILLERKILLS"]         = killerKills,
    						["KILLERDEATHS"]        = killerDeaths,
    						["KILLERNAME"]          = getCreatureName(killer),
    						["KILLERLEVEL"]         = killerLevel,
    						["TARGETKILLS"]         = targetKills,
    						["TARGETDEATHS"]        = targetDeaths,
    						["TARGETNAME"]          = getCreatureName(cid),
    						["TARGETLEVEL"]         = targetLevel
    					}
    					
    					function formateString(str)
    						return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
    					end
    					if (configTWH.deathBroadcast.killMessage.use) then
    						doPlayerSendTextMessage(killer, configTWH.deathBroadcast.killMessage.messageClass, formateString(configTWH.deathBroadcast.killMessage.text))
    					end
    					if (configTWH.deathBroadcast.killerAnimation.use) then
    						doSendAnimatedText(getCreaturePosition(killer), configTWH.deathBroadcast.killerAnimation.text, configTWH.deathBroadcast.killerAnimation.color)
    					end
    					if (configTWH.deathBroadcast.targetAnimation.use) then
    						doSendAnimatedText(getCreaturePosition(cid), configTWH.deathBroadcast.targetAnimation.text, configTWH.deathBroadcast.targetAnimation.color)
    					end
    					if (configTWH.deathBroadcast.AnimeText.use) then
    					
    						if frags.get(killer) == 5 then
    							doBroadcastMessage(getCreatureName(killer) .. " is on killing spree! He killed 5 players!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 10 then
    							doBroadcastMessage(getCreatureName(killer) .. " is dominating! He killed 10 players!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 25 then
    							doBroadcastMessage(getCreatureName(killer) .. " is Serial Killer! He killed 25 players! Kill Him!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 50 then
    							doBroadcastMessage(getCreatureName(killer) .. " is Insane Kills! He killed 50 players! DO SOMETHING!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 75 then
    							doBroadcastMessage(getCreatureName(killer) .. " is Master Killa! He killed 75 players! STOP HIM!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 100 then
    							doBroadcastMessage(getCreatureName(killer) .. " is UNSTOPPABLE!! He killed 100 players!! YOU MUST KILL HIM!!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 125 then
    							doBroadcastMessage(getCreatureName(killer) .. " Gimme MORE!! He killed 125 players!! RUN WHILE YOU CAN!!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 150 then
    							doBroadcastMessage(getCreatureName(killer) .. " is MERCENARY!!! He killed 150 players!! HIDE YOURSELF!!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 175 then
    							doBroadcastMessage(getCreatureName(killer) .. " STOP IT!!! He killed 175 players!! JUST RUN!!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 200 then
    							doBroadcastMessage(getCreatureName(killer) .. " is CHEEAATTEEERRRR!! He killed 200 players!!! GM LOOK HIM!!!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						elseif frags.get(killer) == 300 then
    							doBroadcastMessage(getCreatureName(killer) .. " is CHUCK NORRIS!!! HE KILLED 300 PLAYERS!!! RUN BEFORE HE FIND YOU!!!", MESSAGE_STATUS_CONSOLE_ORANGE)
    							
    						end
    					end
    					
    					-- Gain Money
    					local gold = 0
    					if (configTWH.deathBroadcast.GainMoney.use) then
    						gold = (math.random (getPlayerLevel(cid)/12, getPlayerLevel(cid)/10))
    						doPlayerAddItem(killer, configTWH.deathBroadcast.GainMoney.coinID, gold)
    					end
    					
    					-- Max Level Check
    					if (configTWH.deathBroadcast.MaxLevel.use) and (getPlayerLevel(killer) >= configTWH.deathBroadcast.MaxLevel.MAX) then
    						doPlayerSendTextMessage(killer, MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, you are at maximum level.")
    					end
    					
    					-- Exp for Killing Players
    					if (configTWH.deathBroadcast.experienceByKillingPlayers.use) and (getPlayerLevel(killer) < configTWH.deathBroadcast.MaxLevel.MAX) then
    						--doPlayerAddLevel(killer, configTWH.deathBroadcast.experienceByKillingPlayers.levelAmount)
    						
    						local expGain = getPlayerExperience(cid) / 100
    						local expToNextLevel = getExperienceForLevel(getPlayerLevel(killer)+1) - getPlayerExperience(killer)
    						
    						doPlayerSendTextMessage(killer, MESSAGE_STATUS_CONSOLE_BLUE, "You have gained "..gold.." gold coin and ".. expGain .." experience for killing ".. getCreatureName(cid) .." and you need ".. expToNextLevel .." for the next level.")
    						doPlayerAddExperience(killer, expGain)
    					end
    					
    					-- [Player Level]  and  [Health & Mana]
    					if (not isPremium(cid)) then
    						-- Free Players
    						doPlayerAddExperience(cid, (getExperienceForLevel(configTWH.startPlayer.LevelFree) - getPlayerExperience(cid)))
    						
    					elseif isPremium(cid) and getPlayerPromotionLevel(cid) == 0 then
    						-- Premium Not Promotion
    						doPlayerAddExperience(cid, (getExperienceForLevel(configTWH.startPlayer.LevelFree) - getPlayerExperience(cid)))
    						
    					elseif isPremium(cid) and getPlayerPromotionLevel(cid) == 1 then
    						-- Premium Players
    						doPlayerAddExperience(cid, (getExperienceForLevel(configTWH.startPlayer.LevelPremium) - getPlayerExperience(cid)))
    						
    					end
    				end
    				
    				if isCreature(pid) == true then
    					strings[position] = t == 1 and "" or strings[position] .. ", "
    					strings[position] = strings[position] .. getCreatureName(pid) .. ""
    					-- print("Name By ".. getCreatureName(pid))
    					t = t + 1
    				else
    					strings[position] = t == 1 and "" or strings[position] .. ", "
    					strings[position] = strings[position] .."a field item"
    					t = t + 1
    				end
    			end
    			
    			-- Broadcast onDeath
    			for i, str in ipairs(strings) do
    				if(str:sub(str:len()) ~= ",") then
    					str = str .. "."
    				end
    				msg = getCreatureName(cid) .. " was " .. deathType .. " at level " .. getPlayerLevel(cid) .. " by " .. str
    			end
    			doBroadcastMessage(msg, MESSAGE_STATUS_CONSOLE_ORANGE)
    			
    			return TRUE
    		end
    	]]></event>
    
    	<globalevent name="TeamWarMensagens" interval="600000" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onThink(interval, lastExecution)
    			
    			local message = math.random(1, #configTWH.mensagens)
    			doBroadcastMessage(configTWH.mensagens[message], MESSAGE_EVENT_ADVANCE)
    			
    			return TRUE
    		end
    	]]></globalevent>
    	
    	<event type="kill" name="TeamWarSkullSystem" event="script"><![CDATA[
    		function onKill(cid, target, damage, flags, war)
    			domodlib('TeamWar-config')
    			domodlib('TeamWar-lib')
    			
    			if isPlayer(target) then
    				local frags = fragsOnline.get(cid)
    				
    				if(frags >= 500) then
    					-- Need Compilation again in Windows
    					--doCreatureSetSkullType(cid, SKULL_BLACK)
    					
    				elseif(frags >= 400) then
    					doCreatureSetSkullType(cid, SKULL_RED)
    					
    				elseif(frags >= 300) then
    					doCreatureSetSkullType(cid, SKULL_WHITE)
    					
    				elseif(frags >= 200) then
    					doCreatureSetSkullType(cid, SKULL_GREEN)
    					
    				elseif(frags >= 100) then
    					doCreatureSetSkullType(cid, SKULL_YELLOW)
    					
    				end
    			end
    			
    			return TRUE
    		end
    	]]></event>
    		
    	<globalevent type="startup" name="TeamWarStart"  event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onStartup()
    			
    			-- Team Count Resete 
    			teamCount.start(1)
    			teamCount.start(2)
    			teamCount.start(3)
    			
    			-- Frags Online Mysql
    			fragsOnline.cleanALL()
    			
    			-- Map Change
    			map_change(mapInfo.mapIdNext())
    			
    			-- Statistics
    			print("--------------------------| Statistics |--------------------------")
    			print("The server have: "..#getCurrentAccounts().." accounts and "..#getCurrentPlayers().." players registred!")
    			print("--------------------------------------------------------------------")
    			return TRUE
    			
    		end
    	]]></globalevent>
    	
    	<talkaction words="!map;!maps;!frags;!online;!rank;!top;!comandos;/comandos" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onSay(cid, words, param, channel)
    		
    			if(words == "!map") then
    				local minutesX,secondsX = getTimeMap(configTWH.mapChange.timer-(os.time()-getStorage(configTWH.mapChange.timerStorage)))
    				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[ Game Map ]  Map: ".. mapInfo.mapName().." ("..configTWH.mapStats[map.get()].mapType[2]..")  NextMap ".. mapInfo.mapNameNext().." ("..configTWH.mapStats[mapInfo.mapIdNext()].mapType[2]..") in "..minutesX..":"..secondsX..".")
    				return TRUE
    			end
    			
    			if(words == "!maps") then
    				local msg = ""
    				for i=1, #configTWH.mapStats do
    					msg = msg .. configTWH.mapStats[i].name .." | "
    				end
    				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[ Maps ]  ".. msg)
    				return TRUE
    			end
    			
    			if(words == "!frags") then
    				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[ Frags Online ]  ".. fragsOnline.get(cid) .."  |  [ Frags ALL ]  ".. frags.get(cid) ..".")
    				return TRUE
    			end
    						
    			if(words == "!online") then
    				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE ,"[             Players Online             ]")
    				-- 1 = Team vs Team (Normal)
    				if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE ,"Team Red   [".. teamCount.get(1) .."]   vs   [".. teamCount.get(2) .."]   Team Green")
    				end
    				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE ,"Players Online: "..#getPlayersOnline().."  inWar: "..#getPlayersOnline()-teamCount.get(3))
    				return TRUE
    			end
    			
    			if(words == "!top") then
    			
    				local OnlinePlayers = getPlayersOnline()
    				local t, ret = {}, "Best Fragers Online:"
    				for _, cid in ipairs(OnlinePlayers) do
    					table.insert(t, {cid, db.getResult("SELECT `frags_online` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1;"):getDataInt("frags_online")})
    				end
    				table.sort(t, function(a,b) return a[2] > b[2] end)
    				for i = 1, math.min(#t, configTWH.maxTopRanking) do
    					ret = ret .. "\n" .. i .. ". [".. getPlayerLevel(t[i][1]).."] " .. getPlayerName(t[i][1]) .. " - " .. t[i][2] .. " frags"
    				end
    				if (OnlinePlayers ~= 0) then
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "           [             Score             ]           ")
    					-- 1 = Team vs Team (Normal)
    					if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    						doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Team Red   [".. fragsTeam.get(1) .."]   vs   [".. fragsTeam.get(2) .."]   Team Green")
    					end
    					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, ret)
    					return TRUE
    				end
    				
    				return TRUE
    			end
    			
    			if(words == "!comandos") or (words == "!commands") then
    				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[ Commands ]  !frags, !top, !online, !map, !maps")
    				return TRUE
    			end
    			
    			if(words == "!rank") then
    				limitRank = 30
    				displayoutput = {"Level","Magic Level","Fist Fighting","Club Fighting","Sword Fighting","Axe Fighting","Distance Fighting","Shielding","Fishing","Frags","Deaths"}
    				itemtype = {9969,9933,5896,8929,8932,7388,8849,8906,2580,9969,9969}
    				number = 1
    				param = string.lower(param)
    				skilllist = ""
    				command = TRUE
    				if param == "level" then        
    					display = 1
    				elseif param == "magic" then
    					display = 2
    				elseif param == "fist" then
    					id = 0
    					display = 3
    				elseif param == "club" then
    					id = 1
    					display = 4
    				elseif param == "sword" then
    					id = 2
    					display = 5
    				elseif param == "axe" then
    					id = 3
    					display = 6
    				elseif param == "distance" then
    					id = 4
    					display = 7
    				elseif param == "shield" then
    					id = 5
    					display = 8
    				elseif param == "fish" then
    					display = 9
    					id = 6
    				elseif param == "frags" then
    					display = 10
    				elseif param == "deaths" then
    					display = 11
    				else 
    					error = '                         [ TeamWarOT ]                          \nHighscore Commands:\n\n!rank level\n!rank magic\n!rank fist\n!rank club\n!rank sword\n!rank axe\n!rank distance\n!rank shield\n!rank fish\n!rank frags\n!rank deaths'
    					doShowTextDialog(cid, 5958, error)
    					command = FALSE
    				end
    				if command ~= FALSE then
    					if display == 1 then
    						local player = db.getResult("SELECT `name`, `level` FROM `players` WHERE group_id < '2' ORDER BY `level` DESC LIMIT "..limitRank..";")    
    						if(player:getID() ~= -1) then
    							while (true) do
    								local name = player:getDataString("name")
    								local level = player:getDataInt("level")
    								skilllist = skilllist.. "\n#"..string.format("%5s",number.."   "..name.."  -  "..level)
    								number = number + 1
    								if not(player:next()) then
    									break
    								end
    							end
    							player:free()
    						end
    					elseif display == 2 then
    						local player = db.getResult("SELECT `name`, `maglevel` FROM `players` WHERE group_id < '2' ORDER BY `maglevel` DESC LIMIT "..limitRank..";")
    						if(player:getID() ~= -1) then    
    							while (true) do
    								local name = player:getDataString("name")
    								local maglevel = player:getDataInt("maglevel")
    								skilllist = skilllist.. "\n#"..string.format("%5s",number.."   "..name.."  -  "..maglevel)
    								if not(player:next()) then
    									break
    								end
    								number = number + 1
    							end
    						end
    						player:free()
    					elseif display == 10 then
    						local player = db.getResult("SELECT `name`, `frags` FROM `players` WHERE group_id < '2' ORDER BY `frags` DESC LIMIT 30;")
    						if(player:getID() ~= -1) then    
    							while (true) do
    								local name = player:getDataString("name")
    								local frags = player:getDataInt("frags")
    								skilllist = skilllist.. "\n#"..string.format("%5s",number.."   "..name.."  -  "..frags)
    								if not(player:next()) then
    									break
    								end
    								number = number + 1
    							end
    						end
    						player:free()
    					elseif display == 11 then
    						local player = db.getResult("SELECT `name`, `deaths` FROM `players` WHERE group_id < '2' ORDER BY `deaths` DESC LIMIT "..limitRank..";")
    						if(player:getID() ~= -1) then    
    							while (true) do
    								local name = player:getDataString("name")
    								local deaths = player:getDataInt("deaths")
    								skilllist = skilllist.. "\n#"..string.format("%5s",number.."   "..name.."  -  "..deaths)
    								if not(player:next()) then
    									break
    								end
    								number = number + 1
    							end
    						end
    						player:free()
    					else
    						local skills = db.getResult("SELECT `player_id`, `value`, `skillid` FROM `player_skills` WHERE `skillid` = "..id.." ORDER BY `value` DESC;")
    						while (true) do
    						local GUID = skills:getDataInt("player_id")
    						local value = skills:getDataInt("value")
    						local skillid = skills:getDataInt("skillid")
    						local player = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..GUID.." and group_id < '2' ")
    						if(player:getID() ~= -1) then
    							local name = player:getDataString("name")
    							skilllist = skilllist.. "\n#"..string.format("%5s",number.."   "..name.."  -  "..value)
    							number = number + 1
    							player:free()
    						end
    						if number > limitRank then
    							break
    						end
    							if not(skills:next()) then
    								break
    							end
    						end
    						skills:free()
    					end
    					dialog = "                         [ TeamWarOT ]                          \n"..displayoutput[display].." Highscores: \n  "..skilllist..""
    					doShowTextDialog(cid, itemtype[display], dialog)
    					return TRUE
    				end
    			end
    
    			return TRUE
    		end
    	]]></talkaction>
    	
    	<globalevent name="TeamWarRanking" interval="300000" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onThink(interval, lastExecution)
    		
    			local OnlinePlayers = getPlayersOnline()
    			if OnlinePlayers == 0 then
    				return TRUE
    			end
    			local t, ret = {}, "Best Fragers Online:"
    			for _, cid in ipairs(OnlinePlayers) do
    				table.insert(t, {cid, db.getResult("SELECT `frags_online` FROM `players` WHERE `id` = "..getPlayerGUID(cid).." LIMIT 1;"):getDataInt("frags_online")})
    			end
    			table.sort(t, function(a,b) return a[2] > b[2] end)
    			for i = 1, math.min(#t, configTWH.maxTopRanking) do
    				ret = ret .. "\n" .. i .. ". [".. getPlayerLevel(t[i][1]).."] " .. getPlayerName(t[i][1]) .. " - " .. t[i][2] .. " frags"
    			end
    			if (OnlinePlayers ~= 0) then
    				doBroadcastMessage("           [             Score             ]           ", MESSAGE_STATUS_CONSOLE_ORANGE)
    			end
    			-- // 1 = Team vs Team (Normal)
    			if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    				doBroadcastMessage("Team Red   [".. teamCount.get(1) .."]   vs   [".. teamCount.get(2) .."]   Team Green", MESSAGE_STATUS_CONSOLE_ORANGE)
    			-- // 2 = Quest Map (No-PvP?)
    			elseif (configTWH.mapStats[map.get()].mapType[1] == 2) then
    				
    			-- // 3 = Capture The Flag (Normal + Capture)
    			elseif (configTWH.mapStats[map.get()].mapType[1] == 3) then
    				
    			-- // 4 = Deathmatch (Player vs All)
    			elseif (configTWH.mapStats[map.get()].mapType[1] == 4) then
    
    			end
    			doBroadcastMessage(ret, MESSAGE_STATUS_CONSOLE_ORANGE)
    			return TRUE
    		end
    	]]></globalevent>
    	
    	<event type="login" name="TeamWarLogin" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    			
    		function onLogin(cid)
    			
    			-- Register Events
    			registerCreatureEvent(cid, "TeamWarOutfitMapType")
    			registerCreatureEvent(cid, "TeamWarCombatMapType")
    			registerCreatureEvent(cid, "TeamWarNoFollow")
    			registerCreatureEvent(cid, "TeamWarDeathBroadcast")
    			
    			registerCreatureEvent(cid, "TeamWarSkullSystem")
    			registerCreatureEvent(cid, "TeamWarLook")
    			
    			doPlayerSetTeam.login(cid)
    			registerCreatureEvent(cid, "TeamWarDeathLevelRemove")
    
    			-- Logout Protection Time		
    			if ( (configTWH.logoutProtectionTimer.enable) and (getCreatureStorage(cid, configTWH.logoutProtectionTimer.storage) == -1) ) then
    				addEvent(doPlayerSetStorageValue, configTWH.logoutProtectionTimer.timer, cid, configTWH.logoutProtectionTimer.storage, 1)
    			end
    			
    			-- Check Multi-Client
    			if (configTWH.antiMC.enable) then
    				if (getPlayerGroupId(cid) < configTWH.antiMC.group_id) then
    					if (#getPlayersByIp(getPlayerIp(cid)) > configTWH.antiMC.max) then
    						if (not isInArray(configTWH.antiMC.allowedIP, doConvertIntegerToIp(getPlayerIp(cid)))) then
    							-- addEvent(antiMC, 300, {pid = cid, max = configTWH.antiMC.max + 1})
    							doPlayerPopupFYI(cid, configTWH.antiMC.MsgKick)
    							addEvent(playerKickMC, configTWH.antiMC.timeForKick, cid)
    						end
    					end
    				end
    			end
    			return TRUE
    		end
    	]]></event>
    	
    	<event type="logout" name="TeamWarLogout" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onLogout(cid)
    			if ((configTWH.logoutProtectionTimer.enable) and (getCreatureName(cid) ~= "Account Manager") and (getCreatureStorage(cid, configTWH.logoutProtectionTimer.storage) == -1)) then
    				doPlayerSendCancel(cid, "You are receiving the initial skills. Wait ".. configTWH.logoutProtectionTimer.timer / 1000 .." seconds to log out.")
    				return false
    			end
    			
    			if getPlayerAccess(cid) < 3 and getCreatureName(cid) ~= "Account Manager" then		
    				-- 1 = Team vs Team (Normal)
    				if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    					--print("[Logout] 1 = Team vs Team (Normal)")
    					teamCount.rem(playerTeam.get(cid), 1)
    					
    				-- 2 = Quest Map (No-PvP?)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 2) then
    				
    				-- 3 = Capture The Flag (Normal + Capture)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 3) then
    				
    				-- 4 = Deathmatch (Player vs All)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 4) then
    					--print("[Logout] 4 = Deathmatch (Player vs All)")
    				end
    				
    				playerTeam.set(cid, 0)
    			end
    			return TRUE
    		end
    	]]></event>
    	
    	<globalevent name="TeamWarStatsInfo" interval="1000" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    			
    		function onThink(interval, lastExecution)
    
    			local OnlinePlayers = getPlayersOnline()
    			for _, cid in ipairs(OnlinePlayers) do
    				if isPlayer(cid)then
    					mostraTempo(cid)
    				end
    			end
    			return TRUE
    		end
    	]]></globalevent>
    	
    	<globalevent name="TeamWarMapChange" interval="1000" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onThink(interval, lastExecution)
    
    			local lastTime = getStorage(configTWH.mapChange.timerStorage)
    			local now = os.time()
    			local timePassed = now - lastTime
    			local minutes,seconds = getTimeMap(configTWH.mapChange.timer - timePassed)
    
    			if (timePassed >= configTWH.mapChange.timer) then
    				map_change(mapInfo.mapIdNext())
    				doSetStorage(configTWH.mapChange.timerStorage, now)
    			else
    				if (minutes == 0 and seconds == 59) then
    					doBroadcastMessage("Map change in 60 seconds! Next map is ".. mapInfo.mapNameNext())
    				elseif (minutes == 0 and seconds == 30) then
    					doBroadcastMessage("Map change in 30 seconds! Next map is ".. mapInfo.mapNameNext())
    				elseif (minutes == 0 and seconds == 15) then
    					doBroadcastMessage("Map change in 15 seconds! Next map is ".. mapInfo.mapNameNext())
    				end
    			end
    			
    			return TRUE
    		end
    	]]></globalevent>
    	
    	
    	
    	<event type="preparedeath" name="TeamWarDeathLevelRemove" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onPrepareDeath(cid, deathList)
    			if (isPlayer(cid) == TRUE) then
    				doPlayerAddExperience(cid, (getExperienceForLevel(configTWH.startPlayer.LevelFree) - getPlayerExperience(cid)))
    			end
    			return TRUE
    		end
    	]]></event>
    	   
    	<globalevent name="TeamWarFragsBalance" interval="120000" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    
    		function EquilibrarServ()
    			return map_change(mapInfo.mapIdNext), equilibrar()
    		end		
    
    		function onThink(interval, lastExecution)
    			
    			if (fragsTeam.get(1) - fragsTeam.get(2)) > configTWH.diffFragsToEqui or (fragsTeam.get(2) - fragsTeam.get(1)) > configTWH.diffFragsToEqui then
    				doBroadcastMessage("[TeamWarOT] Unbalanced teams, new teams will be formed and a new map will be chosen in 30 seconds!", MESSAGE_STATUS_WARNING)
    				addEvent(EquilibrarServ, 30 * 1000)
    				addEvent(doBroadcastMessage, 15 * 1000, "[TeamWarOT] Unbalanced teams, new teams will be formed and a new map will be chosen in 15 seconds!", MESSAGE_STATUS_WARNING)
    				addEvent(doBroadcastMessage, 27 * 1000, "[TeamWarOT] Times unbalanced, to keep the game competitive will be re-balanced teams and change map!", MESSAGE_STATUS_WARNING)
    			end
    			return TRUE
    		end
    	]]></globalevent>
    	
    	<event type="outfit" name="TeamWarOutfitMapType" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    			
    		function onOutfit(cid, old, current)
    			if isPlayer(cid) then
    				-- 1 = Team vs Team (Normal)
    				if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    					-- print("[Outfit-MapType] 1 = Team vs Team (Normal)")
    					if (getCreatureStorage(cid, configTWH.STORAGE.PLAYER.OUTFIT_Status) == 1) then
    						doCreatureSetStorage(cid, configTWH.STORAGE.PLAYER.OUTFIT_Status, 0)
    						return TRUE
    					else
    						doPlayerSendCancel(cid, "You cannot change your outfit during the event.")
    						return FALSE
    					end
    
    				-- 2 = Quest Map (No-PvP?)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 2) then
    				
    				-- 3 = Capture The Flag (Normal + Capture)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 3) then
    				
    				-- 4 = Deathmatch (Player vs All)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 4) then				
    					-- print("[Outfit-MapType] 4 = Deathmatch (Player vs All)")
    				end	
    			end
    			return TRUE
    		end
    	]]></event>
    		
    	<event type="combat" name="TeamWarCombatMapType" event="script"><![CDATA[
    		domodlib('TeamWar-config')
    		domodlib('TeamWar-lib')
    		
    		function onCombat(cid, target)
    			
    			if cid ~= target and (isPlayer(cid) and isPlayer(target)) then
    				-- 1 = Team vs Team (Normal)
    				if (configTWH.mapStats[map.get()].mapType[1] == 1) then
    					-- print("[MapType] 1 = Team vs Team (Normal)")
    					-- Check (Normal)
    					if (playerTeam.get(cid) == playerTeam.get(target)) then
    						doPlayerSendCancel(cid,"[TeamWar HardCore] You can't attack their team!")
    						return FALSE
    					end
    				-- 2 = Quest Map (No-PvP?)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 2) then
    				
    				-- 3 = Capture The Flag (Normal + Capture)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 3) then
    				
    				-- 4 = Deathmatch (Player vs All)
    				elseif (configTWH.mapStats[map.get()].mapType[1] == 4) then
    					-- print("[MapType] 4 = Deathmatch (Player vs All)")
    					return TRUE
    				end
    			end
    			return TRUE
    		end
    	]]></event>
    </mod>

     

  • Quem Está Navegando   0 membros estão online

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