Player Team Problem
#1

So I have these different teams on my server.
Код:
CMD:swat(playerid, params[])
{
	if(GetPlayerTeam(playerid) != TEAM_SWAT)
	return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only S.W.A.T May Use This!");
	GivePlayerWeapon(playerid, 3, 1);
	GivePlayerWeapon(playerid, 22, 1000);
	GivePlayerWeapon(playerid, 31, 2500);
	GivePlayerWeapon(playerid, 29, 1500);
	GivePlayerWeapon(playerid, 34, 100);
	GivePlayerWeapon(playerid, 17, 10);
	SetPlayerArmour(playerid, 100.0);
	SetPlayerHealth(playerid, 100.0);
	SendClientMessage(playerid, COLOR_LIGHTBLUE, "You Now Have S.W.A.T Weapons");
	SetTimer("CanUseAgain",120000,1);
	return 1;
}
CMD:ff(playerid, params[])
{
    if(GetPlayerTeam(playerid) != TEAM_FIREFIGHTER)
    if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The FF Weapons
    return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Fire Fighters May Use This!");
   	GivePlayerWeapon(playerid, 42, 4500);
	SetPlayerHealth(playerid, 100.0);
	SendClientMessage(playerid, COLOR_RED, "You Now Have Fire Fighter Weapons");
	SetTimer("CanUseAgain",120000,1);
	return 1;
}
CMD:army(playerid, params[])
{
    if(GetPlayerTeam(playerid) != TEAM_ARMY)
	if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The ARMY Weapons
	return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Army May Use This!");
	GivePlayerWeapon(playerid, 3, 1);
	GivePlayerWeapon(playerid, 22, 1000);
	GivePlayerWeapon(playerid, 31, 2500);
	GivePlayerWeapon(playerid, 29, 1500);
	SetPlayerArmour(playerid, 100.0);
	SetPlayerHealth(playerid, 100.0);
	SendClientMessage(playerid, COLOR_RED, "You Now Have Army Weapons");
	SetTimer("CanUseAgain",120000,1);
	return 1;
}
CMD:cop(playerid, params[])
{
    if(GetPlayerTeam(playerid) != TEAM_CIA)
    if(GetPlayerTeam(playerid) != TEAM_COP)
    if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The CoP Weapons
    return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Law Enforcement May Use This!");
   	GivePlayerWeapon(playerid, 3, 1);
	GivePlayerWeapon(playerid, 22, 1000);
	GivePlayerWeapon(playerid, 31, 2500);
	GivePlayerWeapon(playerid, 29, 1500);
	SetPlayerArmour(playerid, 100.0);
	SetPlayerHealth(playerid, 100.0);
	SendClientMessage(playerid, COLOR_RED, "You Now Have Law Enforcement Weapons");
	SetTimer("CanUseAgain",120000,1);
	return 1;
}
So only S.W.A.T Officers can get S.W.A.T Weapons.
And only Firefighters Can get the tools they need.
But it seems to let all the team get any of these weapons
So the civilian can access /swat, /ff, /cop and /army
Would anyone know why this is happening?

If you need any more of the code let me know.
Thanks
Reply
#2

Perhaps their teams aren't set. Print out the value that GetPlayerTeam returns.
Reply
#3

I think the teams are set.
Код:
AddPlayerClass(289,2091.7610,2065.7222,10.8203,268.5158, 0, 0, 0, 0, 0, 0); // Civilian--1
	AddPlayerClass(163,1958.3783,1343.1572,15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // Cia--2
	AddPlayerClass(287,283.5043,2033.2811,17.6406, 211.5656, 0, 0, 0, 0, 0, 0); // Army--3
	AddPlayerClass(285,1319.2378,1256.4791,10.8203,3.6149,0, 0, 0,0,0,0); // S.W.A.T--4
	AddPlayerClass(281,2292.1238,2460.4104,3.5313, 267.0587, 0, 0, 0, 0, 0 ,0); // Cop--5
	AddPlayerClass(276,1609.8140,1821.6674,10.8280,358.7598,0,0,0,0,0,0); // Medic--6
	AddPlayerClass(278,1741.7017,2069.0259,10.8203,266.3767,0,0,0,0,0,0); // Firefighter--7
Код:
public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid,2089.5706,1451.3776,10.8203);
	SetPlayerCameraPos(playerid, 2086.5649,1448.6183,10.8203);
	SetPlayerCameraLookAt(playerid,2089.5706,1451.3776,10.8203);

	switch (classid)

    {
	case 0:
	{
		GameTextForPlayer(playerid,"~w~CIVILIAN",1000,5);
		SetPlayerTeam(playerid, TEAM_CIV);
		SetPlayerColor(playerid, COLOR_WHITE);
	}
	case 1:
	{
		GameTextForPlayer(playerid,"~w~UNDERCOVER CIA AGENT",1000,5);
		SetPlayerTeam(playerid, TEAM_CIA);
		SetPlayerColor(playerid, COLOR_WHITE);
	}
	case 2:
	{
		GameTextForPlayer(playerid,"~g~MILITARY / NATIONAL GUARD",1000,5);
		SetPlayerTeam(playerid, TEAM_ARMY);
		SetPlayerColor(playerid, COLOR_GREEN);
	}
	case 3:
	{
		GameTextForPlayer(playerid,"~b~S.W.A.T~n~SPECIAL FORCES",1000,5);
		SetPlayerTeam(playerid, TEAM_SWAT);
		SetPlayerColor(playerid, COLOR_LIGHTBLUE);
	}
	case 4:
	{
		GameTextForPlayer(playerid,"~b~POLICE",1000,5);
		SetPlayerTeam(playerid, TEAM_COP);
		SetPlayerColor(playerid, COLOR_BLUE);
	}
	case 5:
	{
		GameTextForPlayer(playerid,"~p~MEDIC",1000,5);
		SetPlayerTeam(playerid, TEAM_MEDIC);
		SetPlayerColor(playerid, COLOR_PINK);
    }
    case 6:
	{
		GameTextForPlayer(playerid,"~r~FIREFIGHTER",1000,5);
		SetPlayerTeam(playerid, TEAM_FIREFIGHTER);
		SetPlayerColor(playerid, COLOR_FIREFIGHTER);
    }
 }

	return 1;
}
Reply
#4

Try this:

pawn Код:
CMD:swat(playerid, params[])
{
    if(GetPlayerTeam(playerid) == TEAM_SWAT)
    {
        GivePlayerWeapon(playerid, 3, 1);
        GivePlayerWeapon(playerid, 22, 1000);
        GivePlayerWeapon(playerid, 31, 2500);
        GivePlayerWeapon(playerid, 29, 1500);
        GivePlayerWeapon(playerid, 34, 100);
        GivePlayerWeapon(playerid, 17, 10);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerHealth(playerid, 100.0);
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "You Now Have S.W.A.T Weapons");
        SetTimer("CanUseAgain",120000,1);
        return 1;
    }
    else SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only S.W.A.T May Use This!");
}
CMD:ff(playerid, params[])
{
    if(GetPlayerTeam(playerid) == TEAM_FIREFIGHTER)
    {
        if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The FF Weapons
        GivePlayerWeapon(playerid, 42, 4500);
        SetPlayerHealth(playerid, 100.0);
        SendClientMessage(playerid, COLOR_RED, "You Now Have Fire Fighter Weapons");
        SetTimer("CanUseAgain",120000,1);
        return 1;
    }
    else SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Fire Fighters May Use This!");
}

CMD:army(playerid, params[])
{
    if(GetPlayerTeam(playerid) == TEAM_ARMY)
    {
        if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The ARMY Weapons
        GivePlayerWeapon(playerid, 3, 1);
        GivePlayerWeapon(playerid, 22, 1000);
        GivePlayerWeapon(playerid, 31, 2500);
        GivePlayerWeapon(playerid, 29, 1500);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerHealth(playerid, 100.0);
        SendClientMessage(playerid, COLOR_RED, "You Now Have Army Weapons");
        SetTimer("CanUseAgain",120000,1);
        return 1;
    }
    else SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Army May Use This!");
}

CMD:cop(playerid, params[])
{
    if(GetPlayerTeam(playerid) == TEAM_CIA) && if(GetPlayerTeam(playerid) == TEAM_COP)
    {
        if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The CoP Weapons
        GivePlayerWeapon(playerid, 3, 1);
        GivePlayerWeapon(playerid, 22, 1000);
        GivePlayerWeapon(playerid, 31, 2500);
        GivePlayerWeapon(playerid, 29, 1500);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerHealth(playerid, 100.0);
        SendClientMessage(playerid, COLOR_RED, "You Now Have Law Enforcement Weapons");
        SetTimer("CanUseAgain",120000,1);
        return 1;
    }
    else SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Law Enforcement May Use This!");
}
Reply
#5

Now i get errors.

Код:
C:\Users\Shane\Desktop\Login and Register Sytem Y_INI\gamemodes\SCNR.pwn(491) : warning 209: function "cmd_swat" should return a value
C:\Users\Shane\Desktop\Login and Register Sytem Y_INI\gamemodes\SCNR.pwn(504) : warning 209: function "cmd_ff" should return a value
C:\Users\Shane\Desktop\Login and Register Sytem Y_INI\gamemodes\SCNR.pwn(522) : warning 209: function "cmd_army" should return a value
C:\Users\Shane\Desktop\Login and Register Sytem Y_INI\gamemodes\SCNR.pwn(526) : error 029: invalid expression, assumed zero
C:\Users\Shane\Desktop\Login and Register Sytem Y_INI\gamemodes\SCNR.pwn(526) : warning 215: expression has no effect
C:\Users\Shane\Desktop\Login and Register Sytem Y_INI\gamemodes\SCNR.pwn(526) : error 001: expected token: ";", but found "if"
C:\Users\Shane\Desktop\Login and Register Sytem Y_INI\gamemodes\SCNR.pwn(540) : warning 209: function "cmd_cop" should return a value
C:\Users\Shane\Desktop\Login and Register Sytem Y_INI\gamemodes\SCNR.pwn(541) : error 010: invalid function or declaration
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Reply
#6

Forgot to add some things, sorry

pawn Код:
CMD:swat(playerid, params[])
{
    if(GetPlayerTeam(playerid) == TEAM_SWAT)
    {
        GivePlayerWeapon(playerid, 3, 1);
        GivePlayerWeapon(playerid, 22, 1000);
        GivePlayerWeapon(playerid, 31, 2500);
        GivePlayerWeapon(playerid, 29, 1500);
        GivePlayerWeapon(playerid, 34, 100);
        GivePlayerWeapon(playerid, 17, 10);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerHealth(playerid, 100.0);
        SendClientMessage(playerid, COLOR_LIGHTBLUE, "You Now Have S.W.A.T Weapons");
        SetTimer("CanUseAgain",120000,1);
        return 1;
    }
    else SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only S.W.A.T May Use This!");
    return 0;
}
CMD:ff(playerid, params[])
{
    if(GetPlayerTeam(playerid) == TEAM_FIREFIGHTER)
    {
        if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The FF Weapons
        GivePlayerWeapon(playerid, 42, 4500);
        SetPlayerHealth(playerid, 100.0);
        SendClientMessage(playerid, COLOR_RED, "You Now Have Fire Fighter Weapons");
        SetTimer("CanUseAgain",120000,1);
        return 1;
    }
    else SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Fire Fighters May Use This!");
    return 0;
}

CMD:army(playerid, params[])
{
    if(GetPlayerTeam(playerid) == TEAM_ARMY)
    {
        if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The ARMY Weapons
        GivePlayerWeapon(playerid, 3, 1);
        GivePlayerWeapon(playerid, 22, 1000);
        GivePlayerWeapon(playerid, 31, 2500);
        GivePlayerWeapon(playerid, 29, 1500);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerHealth(playerid, 100.0);
        SendClientMessage(playerid, COLOR_RED, "You Now Have Army Weapons");
        SetTimer("CanUseAgain",120000,1);
        return 1;
    }
    else SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Army May Use This!");
    return 0;
}

CMD:cop(playerid, params[])
{
    if(GetPlayerTeam(playerid) == TEAM_CIA && TEAM_COP)
    {
        if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))//Change To The CoP Weapons
        GivePlayerWeapon(playerid, 3, 1);
        GivePlayerWeapon(playerid, 22, 1000);
        GivePlayerWeapon(playerid, 31, 2500);
        GivePlayerWeapon(playerid, 29, 1500);
        SetPlayerArmour(playerid, 100.0);
        SetPlayerHealth(playerid, 100.0);
        SendClientMessage(playerid, COLOR_RED, "You Now Have Law Enforcement Weapons");
        SetTimer("CanUseAgain",120000,1);
        return 1;
    }
    else SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}Only Law Enforcement May Use This!");
    return 0;
}
Reply
#7

Why don't you just use SetPlayerTeam?

https://sampwiki.blast.hk/wiki/SetPlayerTeam
Reply
#8

I've sorted it, Thanks to those who helped
Cvnnor
(*|Flake|*)
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)