Jump to content

[HELP] problems with Sasuke* turf script


Dziugasc

Recommended Posts

Hello, so i have few problems with Sasuke* turf script so i can't take some turfs {green ones}

turf

------------------------------------------------------
--            Scripting By Sasu
--		Copyright © 2013-2015 - All rights reserved.
------------------------------------------------------


local turfPos = {
{ 2133.1950683594, 633.66455078125, 0, 197.5, 92, 90 },
{ 2486.5935058594, 678.20172119141, 0,  245, 133, 30 },
{ 1856.2864990234, 627.07629394531, 0,  138.25, 152.75, 90 },
{ 1576.8956298828, 662.84362792969, 0, 181, 120.5, 90 },
{ 1577.6783447266, 943.66607666016, 0,  190, 190, 90 },
{ 1383.4364013672, 909.61499023438, 0,  142, 230, 90 },
{ 956.94744873047, 1011.635925293, 0,  220, 140, 90 },
{ 1017.7476196289, 1203.4068603516, 0,  180, 165, 90 },
{ 1017.623046875, 1383.4741210938, 0,  190, 290, 90 },
{ 917.99707031253, 1623.6003417969, 0,  80, 220, 90 },
{ 1017.7178955078, 1862.6740722656, 0,  140, 180, 90 },
{ 912.50573730469, 1958.6761474609, 0,  90, 230, 90 },
{ 1017.3455200195, 2063.38671875, 0,  150, 300, 90 },
{ 1300.7644042969, 2095.5100097656, 0,  200, 140, 90 },
{ 1398.1997070313, 2323.5505371094, 0,  160, 65, 90 },
{ 1578.1955566406, 2284.0825195313, 0,  180, 110, 90 },
{ 1237.6285400391, 2581.4663085938, 0,  450, 130, 90 },
{ 1780.478515625, 2567.2121582031, 0,  130, 130, 90 },
{ 1698.2750244141, 2724.494140625, 0,  200, 150, 90 },
{ 2237.9494628906, 2723.7814941406, 0,  180, 110, 90 },
{ 2498.6853027344, 2704.6188964844, 0,  300, 140, 90 },
{ 2798.1267089844, 2303.9643554688, 0,  120, 300, 90 },
{ 2557.5688476563, 2243.4963378906, 0,  100, 230, 90 },
{ 2532.5830078125, 2063.4118652344, 0,  100, 150, 90 },
{ 2558.1779785156, 1624.0816650391, 0,  100, 300, 90 },
{ 2437.685546875, 1483.7209472656, 0,  160, 120, 90 },
{ 2077.7106933594, 1203.5559082031, 0,  340, 170, 90 },
{ 2082.3193359375, 979.23583984375, 0,  270, 210, 90 },
{  1837,   1284, 0,   195,   163, 90 },
{-2164.71436, -1018.36688, 0, 250, 315, 90},
{-2702.22412, -66.56741, 0, 110, 110, 90},
{-2806.31616, -66.56741, 0, 100, 110, 90},
{-2806.49219, -206.34576, 0, 215, 137, 90},
{-2381.51709, -197.80562, 0, 140, 137, 90},
{-2203.48193, -282.15039, 0, 210, 210, 90},
{-2242.80298, -59.82597, 0, -180, 400, 90},
{-2522.11035, 560.70557, 0, 180, -100, 90},
{-2523.62134, 460.71259, 0, -230, 250, 90},
{-1470.57178, 1480.64539, 0, 120, 35, 90},
{-2520.18237, 1530.39307, 0, 230, 50, 90},
{-2499.00928, 1389.40979, 0, 200, -200, 90},
{-2275.88281, 1181.62500, 0, 400, 115, 90},
{-1703.30615, 1339.81482, 0, 130, 130, 90},
{-1588.04858, 1240.36963, 0, 180, -235, 90},
{-1895.47473, 920.57892, 0, -100, -70, 90},
{-2002.07898, 813.75568, 0, -130, 230, 90},
{-2267.40918, 1040.40015, 0, -350, 140, 130},
{-2279.53540, 573.13440, 0, 280, 240, 90},
{-1220.70728, 530.04572, 0, -400, -300, 90},
{-1627.53259, 45.55821, 0, -150, -170, 90},
{-1743.52026, -645.92297, 0, 550, 521, 90},
{-2805.37476, -436.44717, 0, 214, 230, 90},
{-2580.08887, -362.16071, 0, 150, 150, 90},
{-2862.77686, 286.79745, 0, 266, 170, 90},
{-2806.65210, 286.24088, 0, 210, -240, 90},
{-2954.27026, 618.64880, 0, 205, 570, 90},
{-2736.81860, 1296.41052, 0, 150, 220, 90},
{98.76723, 1491.4844, 0, 190, -160, 90},
{-2337.55273, 2216.74707, 0, 170, 275, 90},
{-959.01050, -774.35657, 0, -170, 200, 90},
{-627.99286, -463.81766, 0, 180, -100, 90}
}

local turfElement = {}
local turfTimer = {}
local checkComplete = false

local messages = {
	[1] = "Turf System by Sasuke* was started correctly!",
	[2] = "This territory already belongs to %s",
	[3] = "You enter into de %s's turf zone. Wait 2 minutes to capture the turf and win 4k",
	[4] = "This turf doesn't belong to anyone. Wait 2 minutes to capture the turf and win 4k",
	[5] = "Congratulations. You capture the turf. +4K!",
	[7] = "You couldn't capture the turf because of absence"
 }
 
-- 	Nadie = None | Just a translation

addEventHandler("onResourceStart", resourceRoot,
function()
	executeSQLQuery("CREATE TABLE IF NOT EXISTS Turf_System ( Turfs TEXT, GangOwner TEXT, r INT, g INT, b INT)")
	--
	local check = executeSQLQuery("SELECT * FROM Turf_System" )
	if #check == 0 then
		for i=1,#turfPos do
			executeSQLQuery("INSERT INTO Turf_System(Turfs,GangOwner,r,g,b) VALUES(?,?,?,?,?)", "Turf["..tostring(i).."]", "Nadie", 0, 255, 0)
		end
	elseif #check > 1 then
		for i = #check, #turfPos do
			executeSQLQuery("INSERT INTO Turf_System(Turfs,GangOwner,r,g,b) VALUES(?,?,?,?,?)", "Turf["..tostring(i).."]", "Nadie", 0, 255, 0)
		end
	end
	
	for i,v in ipairs(turfPos) do
		local sqlData = executeSQLQuery("SELECT * FROM Turf_System WHERE Turfs=?", "Turf["..tostring(i).."]")
		local turfCol = createColCuboid(unpack(v))
		setElementData(turfCol, "getTurfGang", sqlData[1].GangOwner)
		local turfArea = createRadarArea(v[1], v[2], v[4], v[5], sqlData[1].r, sqlData[1].g, sqlData[1].b, 175)
		turfElement[turfCol] = {turfCol, turfArea, i}
		turfTimer[turfCol] = {}
	end
	
	outputDebugString( messages[1] )
end )

addEventHandler ( "onColShapeHit", root,
	function ( player )
		if turfElement[source] and source == turfElement[source][1] then
			local turf,area,id = unpack( turfElement[source] )
			local playerGang = getElementData ( player, "gang" )
			local turfGang = executeSQLQuery("SELECT GangOwner FROM Turf_System WHERE Turfs=?", "Turf["..tostring(id).."]" )
			if ( turfGang[1].GangOwner == playerGang ) then
				outputChatBox( messages[2]:format( turfGang[1].GangOwner or "None" ), player, 0, 255, 0, false )
			else
				local playerGang = getElementData ( player, "gang" )
				setElementData( source, "warTurf", playerGang )
				if ( isTimer ( turfTimer[source][1] ) ) then
					if isTimer( turfTimer[source][2] ) then killTimer( turfTimer[source][2] ) end 
					return 
				end
				if ( playerGang ) then
					local r, g, b = unpack ( getGangColor ( playerGang ) )
					-- local r, g, b = 255, 255, 255
					setRadarAreaFlashing ( area, true )
					if turfGang[1].GangOwner ~= "Nadie" then
						outputChatBox( messages[3]:format( turfGang[1].GangOwner ), player, 0, 255, 0, false )
					else
						outputChatBox( messages[4], player, 0, 255, 0, false )
					end
					
					turfTimer[source][1] = setTimer (
						function ( )
							local players = getGangPlayersInTurf ( turf, playerGang )
							setRadarAreaColor ( area, tonumber(r), tonumber(g), tonumber(b), 175 )
							for _, player in ipairs ( players ) do
								outputChatBox( messages[5], player, 0, 255, 0, false )
								triggerClientEvent(player, "onTakeTurf", player)
								givePlayerMoney ( player, 4000 )
								executeSQLQuery("UPDATE Turf_System SET GangOwner=?,r=?,g=?,b=? WHERE Turfs=?", playerGang, tonumber(r), tonumber(g), tonumber(b), "Turf["..tostring(id).."]" )
								-- setElementData ( turf, "getTurfGang", playerGang )
							end
							setRadarAreaFlashing ( area, false )
						end
					,1000, 1)
				end
			end
		end
	end
)

addEventHandler ( "onColShapeLeave", root, 
	function( player )
		if turfElement[source] and source == turfElement[source][1] then
			if isTimer( turfTimer[source][1] ) then
				local aGang = getElementData( source, "warTurf" )
				local ps = getGangPlayersInTurf( source, aGang )
				if #ps == 0 then
					turfTimer[source][2] = setTimer(
						function(source, aGang)
							if isTimer(turfTimer[source][1]) then killTimer(turfTimer[source][1]) end
							setRadarAreaFlashing(turfElement[source][2], false)
							for _, v in ipairs( getElementsByType("player") ) do
								if getElementData(v, "gang") == aGang then
									outputChatBox(messages[7], v, 255, 0, 0)
								end
							end
						end
					, 1, 1, source, aGang)
				end
			end
		end
	end
)

function getGangPlayersInTurf( turf, gang ) -- element, string
	if turf and gang then
		local players = getElementsWithinColShape ( turf, "player" )
		local gPla = {}
		for _, v in ipairs(	players ) do		
			if getElementData(v, "gang") == gang then
				table.insert(gPla, v)
			end
		end
		return gPla
	end
end

function getGangColor(gangName)
	return exports[ "gang_system" ]:getGangData ( gangName, "color" )
end

another bug is that sometimes turf colors doesn't change colors

all turfs black/yellow owned by Black Mafia but some turfs didn't changed colors

also green are those who i couldn't turf

 

 

Edited by Dziugasc
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...