I need help with faction system
#1

When i try to compile this system i get errors? how i can fix them
Script code:
Код:
//-----------------------------------------------------------------------------------|
//                                    [svGroups]                                     |
//                                                                                   |
//                                                                                   |
//   - You may not remove these credits                                              |
//   - You may not claim this script as yours                                        |
//                                                                                   |
//                                                                                   |
//                                                                                   |
// [VERSION 1.3]                                               Created by SuperViper |
//-----------------------------------------------------------------------------------|

#include <a_samp>

// ==================================== SETTINGS ================================== ///
//                                                                                  //|
/* Comment if you would like to use regular 'for' loops instead of foreach */       //|
#define USE_FOREACH                                                                 //|
//                                                                                  //|
/* Comment if you would like to use regular 'ALS' hooks instead of y_hooks */       //|
#define USE_YHOOKS                                                                  //|
//                                                                                  //|
/* Maximum amount of groups you need. The lower the amount, the less memory used */ //|
#define GROUP_AMOUNT 15                                                             //|
//                                                                                  //|
// ================================================================================ ///

#if defined USE_FOREACH
	#tryinclude <foreach>
#endif

#if defined USE_YHOOKS
	#tryinclude <YSI\y_hooks>
#endif

#define SVCS_svGroups

forward svGroups_OnPlayerInBlockedCar(playerid, vehicleid, ispassenger, playergroupid);

enum e_svGroups_Data
{
	svMembers,
	Float: svSpawn[4],
	svSpawnInterior,
	svSpawnWorld,
	bool: svUsingSkin,
	svSkin,
	Float: svHealth,
	Float: svArmor,
	svWeapons[5],
	svWeaponAmmo[5],
	svColor,
}

new svGroups_Data[GROUP_AMOUNT][e_svGroups_Data], svGroups_PlayerGroup[MAX_PLAYERS], bool: svGroups_Debugging;
new svGroups_VehicleGroup[MAX_VEHICLES][40];

#if defined USE_YHOOKS
hook OnPlayerConnect(playerid)
{
	svGroups_PlayerGroup[playerid] = 0;
	return 1;
}

hook OnPlayerDisconnect(playerid)
{
	if(svGroups_PlayerGroup[playerid] > 0)
	{
	    svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svMembers]--;
	}
	return 1;
}

hook OnPlayerSpawn(playerid)
{
	if(svGroups_PlayerGroup[playerid] > 0)
	{
	    if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][0] > 0.0 || svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][1] > 0.0 || svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][2] > 0.0 || svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][3] > 0.0)
	    {
	        SetPlayerVirtualWorld(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawnWorld]);
	        SetPlayerInterior(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawnInterior]);
	        SetPlayerPos(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][0], svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][1], svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][2]);
	        SetPlayerFacingAngle(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][3]);
	    }

	    if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svUsingSkin] == true)
	    {
	        SetPlayerSkin(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSkin]);
	    }

	    if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svHealth] > 0.0)
	    {
	        SetPlayerHealth(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svHealth]);
	    }

	    if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svArmor] > 0.0)
	    {
	        SetPlayerArmour(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svArmor]);
	    }

	    for(new i = 0; i < 5; i++)
	    {
	    	if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svWeapons][i] > 0 && svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svWeaponAmmo][i] > 0)
	    	{
	    	    GivePlayerWeapon(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svWeapons][i], svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svWeaponAmmo][i]);
	    	}
		}
	}
	return 1;
}
#else
forward svGroups_OnPlayerConnect();
public OnPlayerConnect(playerid)
{
	svGroups_PlayerGroup[playerid] = 0;
	return CallRemoteFunction("svGroups_OnPlayerConnect", "d", playerid);
}

#if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
#else
    #define _ALS_OnPlayerConnect
#endif
#define OnPlayerConnect svGroups_OnPlayerConnect

forward svGroups_OnPlayerDisconnect();
public OnPlayerDisconnect(playerid)
{
	if(svGroups_PlayerGroup[playerid] > 0)
	{
	    svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svMembers]--;
	}
	return CallRemoteFunction("svGroups_OnPlayerDisconnect", "d", playerid);
}

#if defined _ALS_OnPlayerDisconnect
    #undef OnPlayerDisconnect
#else
    #define _ALS_OnPlayerDisconnect
#endif
#define OnPlayerDisconnect svGroups_OnPlayerDisconnect

forward svGroups_OnPlayerSpawn(playerid);
public OnPlayerSpawn(playerid)
{
	if(svGroups_PlayerGroup[playerid] > 0)
	{
	    if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][0] > 0.0 || svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][1] > 0.0 || svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][2] > 0.0 || svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][3] > 0.0)
	    {
	        SetPlayerVirtualWorld(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawnWorld]);
	        SetPlayerInterior(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawnInterior]);
	        SetPlayerPos(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][0], svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][1], svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][2]);
	        SetPlayerFacingAngle(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSpawn][3]);
	    }

	    if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svUsingSkin] == true)
	    {
	        SetPlayerSkin(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svSkin]);
	    }

	    if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svHealth] > 0.0)
	    {
	        SetPlayerHealth(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svHealth]);
	    }

	    if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svArmor] > 0.0)
	    {
	        SetPlayerArmour(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svArmor]);
	    }

	    for(new i = 0; i < 5; i++)
	    {
	    	if(svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svWeapons][i] > 0 && svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svWeaponAmmo][i] > 0)
	    	{
	    	    GivePlayerWeapon(playerid, svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svWeapons][i], svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svWeaponAmmo][i]);
	    	}
		}
	}
	return CallRemoteFunction("svGroups_OnPlayerSpawn", "d", playerid);
}

#if defined _ALS_OnPlayerSpawn
    #undef OnPlayerSpawn
#else
    #define _ALS_OnPlayerSpawn
#endif
#define OnPlayerSpawn svGroups_OnPlayerSpawn

forward svGroups_OnPlayerEnterVehicle(playerid, vehicleid, ispassenger);
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	if(svGroups_VehicleGroup[vehicleid][0] != 'n')
	{
	    new tempString[8];
	    format(tempString, sizeof(tempString), "[%d]", svGroups_PlayerGroup[playerid]);
	    if(strfind(VehicleGroup[vehicleid], tempString) == -1)
	    {
	        CallRemoteFunction("svGroups_OnPlayerInBlockedCar", "dddd", playerid, vehicleid, ispassenger, svGroups_PlayerGroup[playerid]);
	        ClearAnimations(playerid);
	        return 1;
	    }
	}
	return CallRemoteFunction("svGroups_OnPlayerEnterVehicle", "ddd", playerid, vehicleid, ispassenger);
}

#if defined _ALS_OnPlayerEnterVehicle
    #undef OnPlayerEnterVehicle
#else
    #define _ALS_OnPlayerEnterVehicle
#endif
#define OnPlayerEnterVehicle svGroups_OnPlayerEnterVehicle
#endif

stock svGroup_Debug(bool: togDebug)
{
	if(togDebug == false)
	{
	    print("(svGroups) Debugging has been turned off");
	}
	else if(togDebug == true)
	{
		print("(svGroups) Debugging has been turned on");
	}
	
	return svGroups_Debugging = togDebug;
}

stock svGroup_SetPlayer(playerid, groupid)
{
	if(svGroups_Debugging == true)
	{
	    printf("(svGroups) SetPlayer(playerid = %d, groupid = %d)", playerid, groupid);
	}
	
	if(svGroups_PlayerGroup[playerid] > 0)
	{
	    svGroups_Data[svGroups_PlayerGroup[playerid] - 1][svMembers]--;
	}
	
	if(groupid > 0)
	{
	    svGroups_Data[groupid - 1][svMembers]++;
	}
	
	return svGroups_PlayerGroup[playerid] = groupid;
}

stock svGroup_GetPlayer(playerid)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) GetPlayer(playerid = %d)", playerid);
	}
	
	return svGroups_PlayerGroup[playerid];
}

stock svGroup_CountMembers(groupid)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) CountMembers(groupid = %d)", groupid);
	}
	
	return svGroups_Data[groupid - 1][svMembers];
}

stock svGroup_SetHealth(groupid, Float: Health)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) SetHealth(groupid = %d, Health = %f)", groupid, Health);
	}
	
	new playersInGroup;
	
	#if defined USE_FOREACH
	    foreach(new i: Player)
	    {
	        if(svGroups_PlayerGroup[i] == groupid)
	        {
	            SetPlayerHealth(i, Health);
	            playersInGroup = 1;
	        }
	    }
	#else
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(IsPlayerConnected(i))
	        {
	            if(svGroups_PlayerGroup[i] == groupid)
	            {
	                SetPlayerHealth(i, Health);
	                playersInGroup = 1;
	            }
	        }
	    }
	#endif
	
	return playersInGroup;
}

stock svGroup_SetArmor(groupid, Float: Armor)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) SetArmor(groupid = %d, Armor = %f)", groupid, Armor);
	}
	
	new playersInGroup;
	
	#if defined USE_FOREACH
	    foreach(new i: Player)
	    {
	        if(svGroups_PlayerGroup[i] == groupid)
	        {
	            SetPlayerArmour(i, Armor);
	            playersInGroup = 1;
	        }
	    }
	#else
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(IsPlayerConnected(i))
	        {
	            if(svGroups_PlayerGroup[i] == groupid)
	            {
	                SetPlayerArmour(i, Armor);
	                playersInGroup = 1;
	            }
	        }
	    }
	#endif
	
	return playersInGroup;
}

stock svGroup_SetSpawn(groupid, Float: sX, Float: sY, Float: sZ, sInterior = 0, sVirtualWorld = 0, Float: sA)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) SetSpawn(groupid = %d, sX = %f, sY = %f, sZ = %f, sInterior = %d, sVirtualWorld = %d, sA = %f)", groupid, sX, sY, sZ, sInterior, sVirtualWorld, sA);
	}
	
	return svGroups_Data[groupid - 1][svSpawn][0] = sX, svGroups_Data[groupid - 1][svSpawn][1] = sY, svGroups_Data[groupid - 1][svSpawn][2] = sZ, svGroups_Data[groupid - 1][svSpawnInterior] = sInterior, svGroups_Data[groupid - 1][svSpawnWorld] = sVirtualWorld, svGroups_Data[groupid - 1][svSpawn][3] = sA;
}

stock svGroup_SetSpawnInfo(groupid, skin, Float: sHealth = 0.0, Float: sArmor = 0.0, weapon1 = 0, weapon1ammo = 0, weapon2 = 0, weapon3ammo = 0, weapon4 = 0, weapon4ammo = 0, weapon5 = 0, weapon5ammo = 0, color = -1)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) SetSpawnInfo(groupid = %d, skin = %d, sHealth = %f, sArmor = %f, weapon1 = %d, weapon1ammo = %d, weapon2 = %d, weapon2ammo = %d, weapon3 = %d, weapon3ammo = %d, weapon4 = %d, weapon4ammo = %d, weapon5 = %d, weapon5ammo = %d, color = %d)", groupid, skin, sHealth, sArmor, weapon1, weapon1ammo, weapon2, weapon2ammo, weapon3, weapon3ammo, weapon4, weapon4ammo, weapon5, weapon5ammo, color);
	}
	
	return svGroups_Data[groupid - 1][svSkin] = skin, svGroups_Data[groupid - 1][svUsingSkin] = true, svGroups_Data[groupid - 1][svHealth] = sHealth, svGroups_Data[groupid - 1][svArmor] = sArmor, svGroups_Data[groupid - 1][svWeapons][0] = weapon1, svGroups_Data[groupid - 1][svWeaponAmmo][0] = weapon1ammo, svGroups_Data[groupid - 1][svWeapons][1] = weapon2, svGroups_Data[groupid - 1][svWeaponAmmo][1] = weapon2ammo, svGroups_Data[groupid - 1][svWeapons][2] = weapon3, svGroups_Data[groupid - 1][svWeaponAmmo][2] = weapon3ammo, svGroups_Data[groupid - 1][svWeapons][3] = weapon4, svGroups_Data[groupid - 1][svWeaponAmmo][3] = weapon4ammo, svGroups_Data[groupid - 1][svWeapons][4] = weapon5, svGroups_Data[groupid - 1][svWeaponAmmo][4] = weapon5ammo, svGroups_Data[groupid - 1][svColor] = color;
}

stock svGroup_ToggleControllable(groupid, bool: controllable)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) ToggleControllable(groupid = %d, controllable = %d)", groupid, controllable);
	}
	
	new playersInGroup;
	
	#if defined USE_FOREACH
	    foreach(new i: Player)
	    {
	        if(svGroups_PlayerGroup[i] == groupid)
	        {
				TogglePlayerControllable(i, controllable);
				playersInGroup = 1;
			}
		}
	#else
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(IsPlayerConnected(i))
	        {
	            if(svGroups_PlayerGroup[i] == groupid)
	            {
	                TogglePlayerControllable(i, controllable);
	                playersInGroup = 1;
	            }
	        }
	    }
	#endif
	
	return playersInGroup;
}

stock svGroup_GiveMoney(groupid, money)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) GiveMoney(groupid = %d, money = %d)", groupid, money);
	}

	new playersInGroup;

	#if defined USE_FOREACH
	    foreach(new i: Player)
	    {
	        if(svGroups_PlayerGroup[i] == groupid)
	        {
				GivePlayerMoney(i, money);
				playersInGroup = 1;
			}
		}
	#else
	    for(new i = 0; i < MAX_PLAYERS; i++)
	    {
	        if(IsPlayerConnected(i))
	        {
	            if(svGroups_PlayerGroup[i] == groupid)
	            {
	                GivePlayerMoney(i, money);
	                playersInGroup = 1;
	            }
	        }
	    }
	#endif

	return playersInGroup;
}

stock svGroup_SetVehicleGroup(vehicleid, groupid)
{
	if(svGroups_Debugging == true)
	{
		printf("(svGroups) SetVehicleGroup(vehicleid = %d, groupid = %d)", vehicleid, groupid);
	}
	
	return (groupid > 0) ? format(svGroups_VehicleGroup[vehicleid], 40, "[%d]", groupid) : svGroups_VehicleGroup[vehicleid] = "n";
}

stock svGroup_AddVehicleToGroup(vehicleid, groupid)
{
	if(svGroups_Debugging == true)
	{
	    printf("(svGroups) AddVehicleToGroup(vehicleid = %d, groupid = %d)", vehicleid, groupid);
	}
	
	return format(svGroups_VehicleGroup[vehicleid], 50, "%s[%d]", svGroups_VehicleGroup[vehicleid], groupid);
}

stock svGroup_RemoveVehicleFromGroup(vehicleid, groupid)
{
	if(svGroups_Debugging == true)
	{
	    printf("(svGroups) RemoveVehicleFromGroup(vehicleid = %d, groupid = %d)", vehicleid, groupid);
	}
	
	new tempString[8], strFound;
	format(tempString, sizeof(tempString), "[%d]", groupid);
	strFound = strfind(svGroups_VehicleGroup[vehicleid], tempString);
	return (strFound > -1) ? strdel(svGroups_VehicleGroup[vehicleid], strFound, strFound + strlen(tempString)) : -1;
}

stock svGroup_IsVehicleInGroup(vehicleid, groupid)
{
    if(svGroups_Debugging == true)
	{
	    printf("(svGroups) IsVehicleInGroup(vehicleid = %d, groupid = %d)", vehicleid, groupid);
	}
	
	new tempString[8];
	format(tempString, sizeof(tempString), "[%d]", groupid);
	return (strfind(svGroups_VehicleGroup[vehicleid], tempString) > -1) ? 1 : 0;
}

#if defined SVCS_svAddons
public OnVehicleCreate(vehicleid)
{
	svGroups_VehicleGroup[vehicleid] = "n";
	return 1;
}
#else
stock svGroups_CreateVehicle(vehicletype, Float: x, Float: y, Float: z, Float: rotation, color1, color2, respawn_delay)
{
 	new vehicleid = CreateVehicle(vehicletype, x, y, z, rotation, color1, color2, respawn_delay);
	svGroups_VehicleGroup[vehicleid] = "n";
	return vehicleid;
}

#if defined _ALS_CreateVehicle
	#undef CreateVehicle
#else
	#define _ALS_CreateVehicle
#endif
#define CreateVehicle svGroups_CreateVehicle

stock svGroups_AddStaticVehicle(modelid, Float: spawn_x, Float: spawn_y, Float: spawn_z, Float: z_angle, color1, color2)
{
	new vehicleid = AddStaticVehicle(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2);
	svGroups_VehicleGroup[vehicleid] = "n";
	return vehicleid;
}

#if defined _ALS_AddStaticVehicle
	#undef AddStaticVehicle
#else
	#define _ALS_AddStaticVehicle
#endif
#define AddStaticVehicle svGroups_AddStaticVehicle

stock svGroups_AddStaticVehicleEx(modelid, Float: spawn_x, Float: spawn_y, Float: spawn_z, Float: z_angle, color1, color2, respawn_delay)
{
	new vehicleid = AddStaticVehicleEx(modelid, spawn_x, spawn_y, spawn_z, z_angle, color1, color2, respawn_delay);
	svGroups_VehicleGroup[vehicleid] = "n";
	return vehicleid;
}

#if defined _ALS_AddStaticVehicleEx
	#undef AddStaticVehicleEx
#else
	#define _ALS_AddStaticVehicleEx
#endif
#define AddStaticVehicleEx svGroups_AddStaticVehicleEx
#endif
Erros:
Код:
C:\Users\Thug life\Desktop\facssys.pwn(59) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(62) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(65) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(67) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(71) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(74) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(76) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(78) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(86) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(91) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(96) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(101) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(103) : error 010: invalid function or declaration
C:\Users\Thug life\Desktop\facssys.pwn(109) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


14 Errors.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)