Possible to make this code smaller using an array?
#1

Is it possible to make this snippet of code a lot smaller by using something like an array? (condense down the army1, army2, army3 ect into something like army(1 to 6)
Im new to pawn code but I can code VB very well.

Possible to use something like this?:

Код:
For i = 1 to 6
Thanks in advance.

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == 2)
    {
        new CarCheck = GetPlayerVehicleID(playerid);
        if(CarCheck == Cars[GroveStreet] )
        {
            if(gTeam[playerid] != 1)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "You Don't have the keys for this car!");
                return 1;
            }
		}
  		if(CarCheck == Cars[fbi] )
        {
            if(gTeam[playerid] != 4)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the FBI!");
                return 1;
            }
		}
		if(CarCheck == Cars[army] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army1] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army2] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army3] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army4] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army5] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army6] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}

        if(CarCheck == Cars[Police] )
        {
            if(gTeam[playerid] != 2)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "You are not part of the Police force! Run before they catch you!");
                return 1;
            }
        }
        return 1;
    }
    return 1;
}
Reply
#2

BUMP
Reply
#3

Quote:
Originally Posted by ******
Посмотреть сообщение
Could you please format the code so we can actually see what you're trying to do?
Here is my full code:


Код:
#include <a_samp>
#include <YSI\y_ini>
#include <sscanf2>
#include <ranks>


#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4

#define PATH "/Users/%s.ini"

#define COL_WHITE "{FFFFFF}"
#define COL_RED "{F81414}"
#define COL_GREEN "{00FF22}"
#define COL_LIGHTBLUE "{00CED1}"


#define GROVE_STREET 1
#define POLICE 2
#define ARMY 3
#define Fbi 4
#define GROVE_STREET_COLOUR 0x00820FAA
#define POLICE_COLOUR 0x003DF5AA
#define COLOR_RED 0xFF0000AA
#define Fbi_COLOUR 0xAFAFAFAA
#define ARMY_COLOUR 0x33AA33AA



enum TeamCars
{
GroveStreet,
Police,
fbi,
army,
army1,
army2,
army3,
army4,
army5,
army6,
}

new Cars[TeamCars];
new gTeam[MAX_PLAYERS];
new Text:screentext;



enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pKills,
    pDeaths
}
new PlayerInfo[MAX_PLAYERS][pInfo];

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Password",PlayerInfo[playerid][pPass]);
    INI_Int("Cash",PlayerInfo[playerid][pCash]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Kills",PlayerInfo[playerid][pKills]);
    INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
    return 1;
}

stock UserPath(playerid)
{
    new string[128],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}

/*Credits to Dracoblue*/
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

main()
{
	print("\n----------------------------------");
	print("GTA and Colchester By Alex Harvey");
	print("----------------------------------\n");
}

public OnGameModeInit()
{
	SetGameModeText("Blank Script");
	AddPlayerClass(106,207.0750,-138.5691,1003.5078,269.9999,0,0,0,0,0,0);
	AddPlayerClass(282,1607.0870,1815.6981,10.8203,193.8336,3,0,24,200,29,200);
	AddPlayerClass(287,1607.0870,1815.6981,10.8203,193.8336,31,200,0,0,0,0);
	AddPlayerClass(286,-1722.3170,1018.0255,17.5859,88.8758,3,1,22,50,29,500); // fbi
	AddPlayerClass(249,2193.7366,2007.4865,12.2894,358.2378,15,1,15,500,28,500); //Pimp skin
	AddPlayerClass(137,2193.5884,2007.4149,12.2894,355.9373,0,0,0,0,0,0); // Box on head Hobo guy
	
	Cars[Police] = AddStaticVehicle(597,396.8186,2545.9746,16.3004,324.9353,0,1); // SpawnCOPCAR
	
	AddStaticVehicle(401,394.4543,2437.2505,16.2806,3.0255,0,0); // carspawn Bruvaura
	AddStaticVehicle(401,397.1897,2437.3953,16.2809,1.4208,0,50); // carspawn Bruvaura
	AddStaticVehicle(401,399.7729,2437.3606,16.2793,0.6210,0,0); // carspawn Bruvaura
	AddStaticVehicle(401,391.8264,2437.0684,16.2795,2.6242,0,0); // carspawn Bruvaura
	AddStaticVehicle(476,325.6848,2538.4536,17.5205,178.8570,7,6); // SpawnPlaneww2
	AddStaticVehicle(593,289.7745,2539.5269,17.2783,180.0343,58,8); // SpawnPlanedodo
	Cars[army1] = AddStaticVehicle(548,364.8880,2537.6274,18.3325,195.9212,1,1); // SpawnCargobob
	Cars[army2] = AddStaticVehicle(433,357.7811,2553.2898,16.9148,269.2940,43,0); // Spawnarmytruck
	Cars[army3] = AddStaticVehicle(433,367.2657,2553.0474,16.9053,269.0898,43,0); // Spawnarmytruck
	Cars[army4] = AddStaticVehicle(470,404.5092,2527.4897,16.5424,89.2533,43,0); // Spawnarmyhummer
	Cars[army5] = AddStaticVehicle(470,378.7224,2527.3914,16.6021,91.0272,43,0); // Spawnarmyhummer
	Cars[army6] = AddStaticVehicle(470,373.4854,2527.3884,16.5965,90.3360,43,0); // Spawnarmyhummer
	AddStaticVehicle(416,384.2811,2551.5471,16.5833,87.1797,1,3); // SpawnMedic
	AddStaticVehicle(416,376.8029,2551.9158,16.5917,88.3846,1,3); // SpawnMedic
	Cars[fbi] = AddStaticVehicle(490,339.2541,2539.2632,16.9213,179.9669,0,0); // SpawnFBI

	
	
	
	screentext = TextDrawCreate(479.000000, 267.000000, "By Alex Harvey");
	TextDrawBackgroundColor(screentext, 255);
	TextDrawFont(screentext, 3);
	TextDrawLetterSize(screentext, 0.500000, 1.700000);
	TextDrawColor(screentext, -65281);
	TextDrawSetOutline(screentext, 0);
	TextDrawSetProportional(screentext, 1);
	TextDrawSetShadow(screentext, 1);
	
	
	
	return 1;
}

public OnGameModeExit()
{
	TextDrawHideForAll(screentext);
	return 1;
}

SetupPlayerForClassSelection(playerid)
{
 	SetPlayerInterior(playerid,14);
	SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
	SetPlayerFacingAngle(playerid, 270.0);
	SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
	SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}

public OnPlayerRequestClass(playerid, classid)
{
    SetupPlayerForClassSelection(playerid);
    SetPlayerTeamFromClass(playerid, classid);
    return 1;
}



public OnPlayerConnect(playerid)
{
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
        
        TextDrawShowForPlayer(playerid, screentext);
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
    INI_Close(File);
    return 1;
}

public OnPlayerSpawn(playerid)
{
	SetPlayerInterior(playerid, 0);
	SetPlayerPos(playerid,383.0134,2538.8259,16.5391);
 	SetPlayerFacingAngle(playerid,96.1577);
 	SetPlayerToTeamColour(playerid);
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerInfo[killerid][pKills]++;
    PlayerInfo[playerid][pDeaths]++;
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!IsPlayerAdmin(playerid)) return 0;
	if (strcmp("/music bloodsugar", cmdtext, true, 10) == 0)
	for(new i = 0; i < MAX_PLAYERS; i++)
{
    PlayAudioStreamForPlayer(i, "http://dl.dropbox.com/u/60570065/01%20Blood%20Sugar.ogg");
}
    if(!IsPlayerAdmin(playerid)) return 0;
	if (strcmp("/music greyhound", cmdtext, true, 10) == 0)
	for(new i = 0; i < MAX_PLAYERS; i++)
{
    PlayAudioStreamForPlayer(i, "http://dl.dropbox.com/u/60570065/20%20Swedish%20House%20Mafia%20-%20Greyhound.mp3");
}
	if(!IsPlayerAdmin(playerid)) return 0;
	if (strcmp("/muisc willthe", cmdtext, true, 10) == 0)
	for(new i = 0; i < MAX_PLAYERS; i++)
{
    PlayAudioStreamForPlayer(i, "http://dl.dropbox.com/u/60570065/01%20T.H.E%20%28The%20Hardest%20Ever%29%20%5Bfeat.%20M.mp3");
}
	if(!IsPlayerAdmin(playerid)) return 0;
	if (strcmp("/music saviour", cmdtext, true, 10) == 0)
	for(new i = 0; i < MAX_PLAYERS; i++)
{
    PlayAudioStreamForPlayer(i, "http://dl.dropbox.com/u/60570065/Savior.MP3");
}
	if(!IsPlayerAdmin(playerid)) return 0;
	if (strcmp("/music stop", cmdtext, true, 10) == 0)
	for(new i = 0; i < MAX_PLAYERS; i++)
{
    StopAudioStreamForPlayer(i);
}
	return 0;
}


public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTER:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Password",udb_hash(inputtext));
                INI_WriteInt(File,"Cash",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Kills",0);
                INI_WriteInt(File,"Deaths",0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
			}
        }

        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
					ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}

SetPlayerTeamFromClass(playerid, classid)
{
    if(classid == 0)
    {
        gTeam[playerid] = GROVE_STREET;
    }
    if(classid == 1)
    {
        gTeam[playerid] = POLICE;
    }
    if(classid == 2)
    {
        gTeam[playerid] = ARMY;
    }
    if(classid == 3)
    {
        gTeam[playerid] = Fbi;
    }
}

SetPlayerToTeamColour(playerid)
{
    if(gTeam[playerid] == GROVE_STREET)
    {
        SetPlayerColor(playerid,GROVE_STREET_COLOUR); //Green
    }
    if(gTeam[playerid] == POLICE)
    {
        SetPlayerColor(playerid,POLICE_COLOUR); // Blue
    }
    if(gTeam[playerid] == Fbi)
    {
        SetPlayerColor(playerid,Fbi_COLOUR); // grey
    }
    if(gTeam[playerid] == ARMY)
    {
        SetPlayerColor(playerid,ARMY_COLOUR); // Light Green
    }
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == 2)
    {
        new CarCheck = GetPlayerVehicleID(playerid);
        if(CarCheck == Cars[GroveStreet] )
        {
            if(gTeam[playerid] != 1)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "You Don't have the keys for this car!");
                return 1;
            }
		}
  		if(CarCheck == Cars[fbi] )
        {
            if(gTeam[playerid] != 4)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the FBI!");
                return 1;
            }
		}
		if(CarCheck == Cars[army] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army1] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army2] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army3] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army4] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army5] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}
		if(CarCheck == Cars[army6] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
		}

        if(CarCheck == Cars[Police] )
        {
            if(gTeam[playerid] != 2)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "You are not part of the Police force! Run before they catch you!");
                return 1;
            }
        }
        return 1;
    }
    return 1;
}
Reply
#4

pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == 2)
    {
        switch(gTeam[playerid])
        {
            case 1:
            {
                // Team 1
            }
            case 2:
            {
                // Team 2
            }
            case 3:
            {
                // Team 3
            }
            // . . .
        }
    }
    return 1;
}
Reply
#5

Quote:
Originally Posted by Tigerkiller
Посмотреть сообщение
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == 2)
    {
        switch(gTeam[playerid])
        {
            case 1:
            {
                // Team 1
            }
            case 2:
            {
                // Team 2
            }
            case 3:
            {
                // Team 3
            }
            // . . .
        }
    }
    return 1;
}
And how who I use that with my code?
Reply
#6

use pawn and /pawn inside [] then write your code:

pawn

Code

/pawn (inside [])
Reply
#7

-REMOVED-
Reply
#8

pawn Код:
#include <a_samp>
#include <YSI\y_ini>
#include <sscanf2>
#include <ranks>
#include <superman>


#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4

#define PATH "/Users/%s.ini"

#define COL_WHITE "{FFFFFF}"
#define COL_RED "{F81414}"
#define COL_GREEN "{00FF22}"
#define COL_LIGHTBLUE "{00CED1}"


#define GROVE_STREET 1
#define POLICE 2
#define ARMY 3
#define Fbi 4
#define GROVE_STREET_COLOUR 0x00820FAA
#define POLICE_COLOUR 0x003DF5AA
#define COLOR_RED 0xFF0000AA
#define Fbi_COLOUR 0xAFAFAFAA
#define ARMY_COLOUR 0x33AA33AA



enum TeamCars
{
GroveStreet,
Police,
fbi,
army,
army1,
army2,
army3,
army4,
army5,
army6,
}

new Cars[TeamCars];
new gTeam[MAX_PLAYERS];
new Text:screentext;



enum pInfo
{
    pPass,
    pCash,
    pAdmin,
    pKills,
    pDeaths
}
new PlayerInfo[MAX_PLAYERS][pInfo];

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
    INI_Int("Password",PlayerInfo[playerid][pPass]);
    INI_Int("Cash",PlayerInfo[playerid][pCash]);
    INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
    INI_Int("Kills",PlayerInfo[playerid][pKills]);
    INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
    return 1;
}

stock UserPath(playerid)
{
    new string[128],playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(string,sizeof(string),PATH,playername);
    return string;
}

/*Credits to Dracoblue*/
stock udb_hash(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

main()
{
    print("\n----------------------------------");
    print("GTA and Colchester By Alex Harvey");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
    SetGameModeText("Blank Script");
    AddPlayerClass(106,207.0750,-138.5691,1003.5078,269.9999,0,0,0,0,0,0);
    AddPlayerClass(282,1607.0870,1815.6981,10.8203,193.8336,3,0,24,200,29,200);
    AddPlayerClass(287,1607.0870,1815.6981,10.8203,193.8336,31,200,0,0,0,0);
    AddPlayerClass(286,-1722.3170,1018.0255,17.5859,88.8758,3,1,22,50,29,500); // fbi
    AddPlayerClass(61,1607.0870,1815.6981,10.8203,193.8336,31,200,0,0,0,0); //navy
    AddPlayerClass(249,2193.7366,2007.4865,12.2894,358.2378,15,1,15,500,28,500); //Pimp skin
    AddPlayerClass(137,2193.5884,2007.4149,12.2894,355.9373,0,0,0,0,0,0); // Box on head Hobo guy
   
    Cars[Police] = AddStaticVehicle(597,396.8186,2545.9746,16.3004,324.9353,0,1); // SpawnCOPCAR
   
    AddStaticVehicle(401,394.4543,2437.2505,16.2806,3.0255,0,0); // carspawn Bruvaura
    AddStaticVehicle(401,397.1897,2437.3953,16.2809,1.4208,0,50); // carspawn Bruvaura
    AddStaticVehicle(401,399.7729,2437.3606,16.2793,0.6210,0,0); // carspawn Bruvaura
    AddStaticVehicle(401,391.8264,2437.0684,16.2795,2.6242,0,0); // carspawn Bruvaura
    AddStaticVehicle(476,325.6848,2538.4536,17.5205,178.8570,7,6); // SpawnPlaneww2
    AddStaticVehicle(593,289.7745,2539.5269,17.2783,180.0343,58,8); // SpawnPlanedodo
    Cars[army1] = AddStaticVehicle(548,364.8880,2537.6274,18.3325,195.9212,1,1); // SpawnCargobob
    Cars[army2] = AddStaticVehicle(433,357.7811,2553.2898,16.9148,269.2940,43,0); // Spawnarmytruck
    Cars[army3] = AddStaticVehicle(433,367.2657,2553.0474,16.9053,269.0898,43,0); // Spawnarmytruck
    Cars[army4] = AddStaticVehicle(470,404.5092,2527.4897,16.5424,89.2533,43,0); // Spawnarmyhummer
    Cars[army5] = AddStaticVehicle(470,378.7224,2527.3914,16.6021,91.0272,43,0); // Spawnarmyhummer
    Cars[army6] = AddStaticVehicle(470,373.4854,2527.3884,16.5965,90.3360,43,0); // Spawnarmyhummer
    AddStaticVehicle(416,384.2811,2551.5471,16.5833,87.1797,1,3); // SpawnMedic
    AddStaticVehicle(416,376.8029,2551.9158,16.5917,88.3846,1,3); // SpawnMedic
    Cars[fbi] = AddStaticVehicle(490,339.2541,2539.2632,16.9213,179.9669,0,0); // SpawnFBI
    AddStaticVehicle(519,404.5300,2457.5430,17.4219,358.4160,1,1); // SpawnLearjet
    AddStaticVehicle(522,424.1198,2460.3652,16.0705,87.1464,3,8); // Spawnracebike
    AddStaticVehicle(522,423.8329,2458.9072,16.0680,88.1236,7,79); // Spawnracebike
    AddStaticVehicle(522,423.9775,2459.6089,16.0701,88.5518,6,25); // Spawnracebike
    AddStaticVehicle(409,424.2143,2442.5706,16.2999,358.5166,1,1); // spawnlimo
   
   
    AddStaticVehicle(520,-1400.5963,510.1976,18.9502,271.5123,0,0); // Airforce Hydra
    AddStaticVehicle(548,-1419.6694,495.2425,19.8004,269.0417,1,1); // Airforce Cargobob
    AddStaticVehicle(520,-1432.3453,510.7588,18.9592,272.4252,0,0); // Airforce Hydra
    AddStaticVehicle(593,-1295.1147,495.4142,18.6936,271.4355,68,8); // Airforce Trainer
    AddStaticVehicle(425,-1311.0289,495.6122,18.7982,314.7953,43,0); // Airforce Hunter
    AddStaticVehicle(497,-1411.2788,518.8583,18.4201,91.2497,0,1); // Airforce Maverick
    AddStaticVehicle(476,-1269.9635,493.0234,18.9462,306.9293,1,6); // Airforce WW2

   
   
   
    screentext = TextDrawCreate(479.000000, 267.000000, "By Alex Harvey");
    TextDrawBackgroundColor(screentext, 255);
    TextDrawFont(screentext, 3);
    TextDrawLetterSize(screentext, 0.500000, 1.700000);
    TextDrawColor(screentext, -65281);
    TextDrawSetOutline(screentext, 0);
    TextDrawSetProportional(screentext, 1);
    TextDrawSetShadow(screentext, 1);
   
   
   
    return 1;
}

public OnGameModeExit()
{
    TextDrawHideForAll(screentext);
    return 1;
}

SetupPlayerForClassSelection(playerid)
{
    SetPlayerInterior(playerid,14);
    SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
    SetPlayerFacingAngle(playerid, 270.0);
    SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
    SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}

public OnPlayerRequestClass(playerid, classid)
{
    SetupPlayerForClassSelection(playerid);
    SetPlayerTeamFromClass(playerid, classid);
    return 1;
}



public OnPlayerConnect(playerid)
{
    if(fexist(UserPath(playerid)))
    {
        INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_WHITE"Type your password below to login.","Login","Quit");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COL_WHITE"Registering...",""COL_WHITE"Type your password below to register a new account.","Register","Quit");
       
        TextDrawShowForPlayer(playerid, screentext);
    }
    InitFly(playerid);
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
    INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
    INI_Close(File);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid,383.0134,2538.8259,16.5391);
    SetPlayerFacingAngle(playerid,96.1577);
    SetPlayerToTeamColour(playerid);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerInfo[killerid][pKills]++;
    PlayerInfo[playerid][pDeaths]++;
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!IsPlayerAdmin(playerid)) return 0;
    if (strcmp("/music bloodsugar", cmdtext, true, 10) == 0)
    for(new i = 0; i < MAX_PLAYERS; i++)
{
    PlayAudioStreamForPlayer(i, "http://dl.dropbox.com/u/60570065/01%20Blood%20Sugar.ogg");
}
    if(!IsPlayerAdmin(playerid)) return 0;
    if (strcmp("/music greyhound", cmdtext, true, 10) == 0)
    for(new i = 0; i < MAX_PLAYERS; i++)
{
    PlayAudioStreamForPlayer(i, "http://dl.dropbox.com/u/60570065/20%20Swedish%20House%20Mafia%20-%20Greyhound.mp3");
}
    if(!IsPlayerAdmin(playerid)) return 0;
    if (strcmp("/muisc willthe", cmdtext, true, 10) == 0)
    for(new i = 0; i < MAX_PLAYERS; i++)
{
    PlayAudioStreamForPlayer(i, "http://dl.dropbox.com/u/60570065/01%20T.H.E%20%28The%20Hardest%20Ever%29%20%5Bfeat.%20M.mp3");
}
    if(!IsPlayerAdmin(playerid)) return 0;
    if (strcmp("/music saviour", cmdtext, true, 10) == 0)
    for(new i = 0; i < MAX_PLAYERS; i++)
{
    PlayAudioStreamForPlayer(i, "http://dl.dropbox.com/u/60570065/Savior.MP3");
}
    if(!IsPlayerAdmin(playerid)) return 0;
    if (strcmp("/music stop", cmdtext, true, 10) == 0)
    for(new i = 0; i < MAX_PLAYERS; i++)
{
    StopAudioStreamForPlayer(i);
}
    if(!IsPlayerAdmin(playerid)) return 0;
    if (strcmp("/fly", cmdtext, true, 10) == 0)
{
    StartFly(playerid);
}
    if(!IsPlayerAdmin(playerid)) return 0;
    if (strcmp("/stopfly", cmdtext, true, 10) == 0)
{
    StopFly(playerid);
}
    return 0;
}


public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTER:
        {
            if (!response) return Kick(playerid);
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Password",udb_hash(inputtext));
                INI_WriteInt(File,"Cash",0);
                INI_WriteInt(File,"Admin",0);
                INI_WriteInt(File,"Kills",0);
                INI_WriteInt(File,"Deaths",0);
                INI_Close(File);

                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
            }
        }

        case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
                {
                    INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
                    ShowPlayerDialog(playerid, DIALOG_SUCCESS_2, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"You have successfully logged in!","Ok","");
                }
                else
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Quit");
                }
                return 1;
            }
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}

SetPlayerTeamFromClass(playerid, classid)
{
    if(classid == 0)
    {
        gTeam[playerid] = GROVE_STREET;
    }
    if(classid == 1)
    {
        gTeam[playerid] = POLICE;
    }
    if(classid == 2)
    {
        gTeam[playerid] = ARMY;
    }
    if(classid == 3)
    {
        gTeam[playerid] = Fbi;
    }
}

SetPlayerToTeamColour(playerid)
{
    if(gTeam[playerid] == GROVE_STREET)
    {
        SetPlayerColor(playerid,GROVE_STREET_COLOUR); //Green
    }
    if(gTeam[playerid] == POLICE)
    {
        SetPlayerColor(playerid,POLICE_COLOUR); // Blue
    }
    if(gTeam[playerid] == Fbi)
    {
        SetPlayerColor(playerid,Fbi_COLOUR); // grey
    }
    if(gTeam[playerid] == ARMY)
    {
        SetPlayerColor(playerid,ARMY_COLOUR); // Light Green
    }
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == 2)
    {
        new CarCheck = GetPlayerVehicleID(playerid);
        if(CarCheck == Cars[GroveStreet] )
        {
            if(gTeam[playerid] != 1)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "You Don't have the keys for this car!");
                return 1;
            }
        }
        if(CarCheck == Cars[fbi] )
        {
            if(gTeam[playerid] != 4)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the FBI!");
                return 1;
            }
        }
        if(CarCheck == Cars[army] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
        }
        if(CarCheck == Cars[army1] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
        }
        if(CarCheck == Cars[army2] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
        }
        if(CarCheck == Cars[army3] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
        }
        if(CarCheck == Cars[army4] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
        }
        if(CarCheck == Cars[army5] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
        }
        if(CarCheck == Cars[army6] )
        {
            if(gTeam[playerid] != 3)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "Your not part of the army!");
                return 1;
            }
        }

        if(CarCheck == Cars[Police] )
        {
            if(gTeam[playerid] != 2)
            {
                RemovePlayerFromVehicle(playerid);
                SendClientMessage(playerid, COLOR_RED, "You are not part of the Police force! Run before they catch you!");
                return 1;
            }
        }
        return 1;
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)