-- *** Example gang members ***
-- Since: v0.3.1b
-- Make gang is area player.

-- Don't require from directory scripts it need load from special folder modules or other folder
local STAGEC = require("modules/STAGEC")

local gamestate = 0
local new_ped = 0
local ped = 0 

while (GetGameFrame() == 0) do 
end -- Wait update frame
if (GetSCRName() ~= "data/STAGEC.SCR") then
	SetSCRName("data/STAGEC.SCR") -- Load STAGEC.SCR (Stage Constructor)
end

while (true) do	
	wait(0)
	if (GetGameFrame() > 0) then
		if (gamestate == 0) then -- If start new game
			wait(100)
			for i = 1, 6, 1 do
				ped = GetPedStruct(i)
				x, y, z = GetPedPos(ped)
				if (GetPedRangeOfPoint(ped, x, y, z) <= 0.5) then
					 --WriteInLog(string.format("ped index %d id %d struct %X\n",i,GetPedID(ped),ped))
					 break
				end
			end
			gamestate = 1
		else
			if (ped ~= 0) then		
				if (IsKeyDown(0x33)) then -- Down key "3" for add ped
					ped = GetPedStruct(1) -- Get ped struct (it player 1)
					SetPedSkin(ped, 255)
					local x, y, z = GetPedPos(ped)		
					new_ped = STAGEC.CreatePed(x + 2, y, z, GetPedAngle(ped), GetPedSkin(ped), GetPedSkin(ped), 28) -- Create ped
					WriteInLog(string.format("Spawning ped id %d struct %X\n", GetPedID(new_ped), new_ped))
					wait(50)
					STAGEC.CreatePedGroup(new_ped, 3)
					wait(50)
					STAGEC.SedPedGroupLeader(ped, new_ped)
					wait(50)
				end
				if (IsKeyDown(0x34)) then -- Down key "4" for delete ped
					STAGEC.DeletePed(new_ped) -- Delete ped
				end				
			end
		end
	else
		wait(100)
		gamestate = 0 -- If not frame to game restart or game not loaded
	end	
end