All pastes #612948 Raw Edit

DAS WORLD

public cpp v1 · immutable
·published 2007-07-10 18:44 UTC
rendered paste body
#include <a_samp>#include <dutils>#include <Dini>#include <dudb>#include <float>#define TEAM_COPS 0#define TEAM_ROBBERS 1#define TEAM_DRUG 2#define TEAM_STUNT 3#define TEAM_HITMAN 4#define COLOR_GREY 0xAFAFAFAA#define COLOR_GREEN 0x33AA33AA#define COLOR_RED 0xAA3333AA#define COLOR_YELLOW 0xFFFF00AA#define COLOR_PINK 0xFF66FFAA#define COLOR_BLUE 0x0000BBAA#define COLOR_LIGHTBLUE 0x33CCFFAA#define COLOR_DARKRED 0x660000AA#define COLOR_ORANGE 0xFF9900AA#define COLOR_WHITE 0xFFFFFFFF#define MAX_PING 400#define ONE_SECOND 1000#define ONE_MINUTE 60000 //sixty thousand = 1 minute#define E_FAIL 0#define E_PASS 1//--------------------------------new gTeam[MAX_PLAYERS];new gPlayerClass[MAX_PLAYERS];//--------------------------------new JailTime[ MAX_PLAYERS ];new IsInJail[ MAX_PLAYERS ];new IsSuspect[ MAX_PLAYERS ];new IsRobberySuspect[ MAX_PLAYERS ];new HasRobberyStarted = 0;//--------------------------------new IsTooFewPlayers = 0;new HitmanTarget[ MAX_PLAYERS ];new HitmanWithoutTargetTime[ MAX_PLAYERS ];new IsMarkDead[ MAX_PLAYERS ];//--------------------------------new IsAuth[ MAX_PLAYERS ];new IsWarned[ MAX_PLAYERS ];new IsWarnedTime[ MAX_PLAYERS ];//--------------------------------new OuncesOfCocaine[ MAX_PLAYERS ];//--------------------------------//misc other thingsnew PilotLisence[ MAX_PLAYERS ];//--------------------------------new PingWarnings[ MAX_PLAYERS ];//--------------------------------new ObjectNum = 0;//--------------------------------new Float:gRandomPlayerSpawns[23][3] ={{1958.3783,1343.1572,15.3746},{2199.6531,1393.3678,10.8203},{2483.5977,1222.0825,10.8203},{2637.2712,1129.2743,11.1797},{2000.0106,1521.1111,17.0625},{2024.8190,1917.9425,12.3386},{2261.9048,2035.9547,10.8203},{2262.0986,2398.6572,10.8203},{2244.2566,2523.7280,10.8203},{2335.3228,2786.4478,10.8203},{2150.0186,2734.2297,11.1763},{2158.0811,2797.5488,10.8203},{1969.8301,2722.8564,10.8203},{1652.0555,2709.4072,10.8265},{1564.0052,2756.9463,10.8203},{1271.5452,2554.0227,10.8203},{1441.5894,2567.9099,10.8203},{1480.6473,2213.5718,11.0234},{1400.5906,2225.6960,11.0234},{1598.8419,2221.5676,11.0625},{1318.7759,1251.3580,10.8203},{1558.0731,1007.8292,10.8125},{1705.2347,1025.6808,10.8203}};//=====================================================================================================//important functions herepublic GetPlayerTeamColor( playerid ){       switch( gTeam[ playerid ] )       {               case TEAM_ROBBERS:               {                    return COLOR_GREY;               }               case TEAM_COPS:               {                    return COLOR_BLUE;               }               case TEAM_DRUG:               {                    return COLOR_WHITE;               }               case TEAM_STUNT:               {                    return COLOR_LIGHTBLUE;               }               case TEAM_HITMAN:               {                    return COLOR_GREEN;               }               default:               {                    return COLOR_YELLOW;               }       }       return COLOR_WHITE;}public GetPlayerCaption( playerid ){       new szName[ 256 ];       GetPlayerName( playerid, szName, sizeof( szName ) );       return szName;}public minrand( min, max ){       return random(max - min) + min;}public RandomPlayerID( ){       new iRet = 2000;       while( IsPlayerConnected( iRet ) == 0 )       {              iRet = minrand( 0, MAX_PLAYERS );       }       return iRet;}public GetNumberOfPlayers( ){       new b = 0;       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( IsPlayerConnected( i ) == 1 )            {                b++;            }       }       return b;}public IsPlayerDriver(playerid){       if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)       {             return 1;       }       return 0;}public IsPlayerPassenger(playerid){       if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)       {             return 1;       }       return 0;}public IsPlayerOnFoot(playerid){       if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)       {             return 1;       }       return 0;}public PlayerSuspectPlayer( playerid, suspectid, reason[] ){       if( IsPlayerConnected( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Invalid player id." );           return 0;       }              if( IsPlayerAdmin( playerid ) == 1 )       {           new szSuspectMsg[ 256 ];           format( szSuspectMsg, sizeof( szSuspectMsg ), "Player %s suspected of: %s by Officer %s, calling all cars.", GetPlayerCaption( suspectid ), reason, GetPlayerCaption( playerid ) );           SendClientMessageToAll( COLOR_ORANGE, szSuspectMsg );           SuspectPlayer( suspectid );           return 1;       }              if( IsSuspect[ playerid ] == 1 )       {           SendClientMessage( playerid, COLOR_RED, "Player is already a suspect!" );           return 0;       }              new szSuspectMsg[ 256 ];       format( szSuspectMsg, sizeof( szSuspectMsg ), "Player %s suspected of: %s by Officer %s, calling all cars.", GetPlayerCaption( suspectid ), reason, GetPlayerCaption( playerid ) );       SendClientMessageToAll( COLOR_ORANGE, szSuspectMsg );       SuspectPlayer( suspectid );       return 1;}public SuspectPlayer( playerid ){       if( IsPlayerConnected( playerid ) == 0 )       {           return 0;       }              SetPlayerColor( playerid, COLOR_ORANGE );       IsSuspect[ playerid ] = 1;       JailTime[ playerid ]++;              new szJailTime[ 256 ];       format( szJailTime, sizeof( szJailTime ), "Jail time increased ( Seconds: %i )", JailTime[ playerid ] * 30 );       SendClientMessage( playerid, COLOR_ORANGE, szJailTime );              return 1;}public UnsuspectPlayer( playerid ){       if( IsPlayerConnected( playerid ) == 0 )       {           return 0;       }              SetPlayerColor( playerid, GetPlayerTeamColor( playerid ) );       IsSuspect[ playerid ] = 0;       IsRobberySuspect[ playerid ] = 0;       JailTime[ playerid ] = 0;       return 1;}public Float:GetDistanceBetweenPlayers(p1,p2){      new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;      GetPlayerPos(p1,x1,y1,z1);      GetPlayerPos(p2,x2,y2,z2);      return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));}public IsCopInRange( playerid ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( gTeam[ i ] == TEAM_COPS && gTeam[ playerid ] != TEAM_COPS )            {                if( GetDistanceBetweenPlayers( playerid, i ) < 40.0 )                {                    return 1;                }            }       }       return 0;}public RegisterPlayer( playerid, password[] ){       if( IsAuth[ playerid ] == 1 )       {           SendClientMessage( playerid, COLOR_RED, "You're already logged in!" );           return 0;       }       if( udb_Exists( GetPlayerCaption( playerid ) ) )       {          SendClientMessage( playerid, COLOR_RED, "Account already exists, please use '/login password'." );          return 0;       }       if( strlen( password ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "INVALID PASSWORD" );           return 0;       }       if( !udb_Create( GetPlayerCaption( playerid ), password ) )       {           SendClientMessage( playerid, COLOR_RED, "Account create failed, contact the systems administrator." );           return 0;       }       else       {           SendClientMessage( playerid, COLOR_GREEN, "Account successfully created. Login with '/login password' now." );           dUserSetINT( GetPlayerCaption( playerid ) ).( "banned", 0 ); //unban account           return 1;       }       return 0;}public LoginToServer( playerid, password[] ){       if( IsAuth[ playerid ] == 1 )       {           SendClientMessage( playerid, COLOR_RED, "You're already logged in!" );           return 0;       }       if( !udb_Exists( GetPlayerCaption( playerid ) ) )       {          SendClientMessage( playerid, COLOR_RED, "Account doesn't exist, please use '/register password'." );          return 0;       }       if( strlen( password ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "INVALID PASSWORD" );           return 0;       }    if( udb_CheckLogin( GetPlayerCaption( playerid ), password ) )    {       //store varibles       new bank_money = dUserINT( GetPlayerCaption( playerid ) ).("money");       new cur_drugs = dUserINT( GetPlayerCaption( playerid ) ).( "drugs" );       new pilot = dUserINT( GetPlayerCaption( playerid ) ).( "pilot" );       new inform_str[ 256 ];       //renew stats       SetPlayerMoney( playerid, bank_money );       OuncesOfCocaine[ playerid ] = cur_drugs;       IsAuth[ playerid ] = 1;       PilotLisence[ playerid ] = pilot;              //announce       if( PilotLisence[ playerid ] == 1 )       {           SendClientMessage( playerid, COLOR_YELLOW, "Pilot license renewed, you can fly the venturas skys!" );       }              format( inform_str, sizeof( inform_str ), "Login Success, money in storage: $%i, Cocaine in storage ( oz ): %i", bank_money, OuncesOfCocaine[ playerid ] );       SendClientMessage( playerid, COLOR_YELLOW, inform_str );       return 1;    }    else    {        SendClientMessage( playerid, COLOR_RED, "Login failed!" );    }    return 0;}public SavePlayerStats( playerid ){       printf( "SavePlayerStats( %i )", playerid );       if( IsAuth[ playerid ] == 1 )       {           if( udb_Exists( GetPlayerCaption( playerid ) ) )           {               dUserSetINT( GetPlayerCaption( playerid ) ).( "money", GetPlayerMoney( playerid ) );               dUserSetINT( GetPlayerCaption( playerid ) ).( "drugs", OuncesOfCocaine[ playerid ] );               dUserSetINT( GetPlayerCaption( playerid ) ).( "pilot", PilotLisence[ playerid ] );           }       }}public substr(const string[], const substr[] ){       new found_str = strfind( string, substr );	      new szRet[ 256 ];		      if( found_str )	      {		         strmid( szRet, string, found_str + 1, strlen( string ) );       }	      return szRet;}public IsInDrugBuyRange( playerid, sellerid ){       if( GetDistanceBetweenPlayers( playerid, sellerid ) < 20.0 )       {           return 1;       }       return 0;}public InterpCommand( cmdtext[], index ){       return strtok( cmdtext, index );}public SendMessageToTeam( teamid, color, msg[ ] ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( gTeam[ i ] == teamid )            {                SendClientMessage( i, color, msg );            }       }}public PlayerUseDrugs( playerid ){       if( OuncesOfCocaine[ playerid ] < 1 )       {           SendClientMessage( playerid, COLOR_RED, "You don't have enough drugs, contact a drug dealer!" );           return 0;       }       SetPlayerHealth( playerid, 100.0 );       OuncesOfCocaine[ playerid ]--;       SendClientMessage( playerid, COLOR_YELLOW, "Drugs used, health 100!" );       return 1;}public IsPlayerInRange(playerid, Float: Range, Float: Z_Range, Float:tar_x, Float:tar_y, Float:tar_z){       new Float:player_x, Float:player_y, Float:player_z;       GetPlayerPos(playerid, player_x, player_y, player_z);       if( player_x <= ( Range + tar_x )           && player_y <= ( Range + tar_y )           && player_z <= ( Z_Range + tar_z )           )       {           return 1;       }       return 0;}public PlayerRequestDrugs( playerid ){       if( GetPlayerMoney( playerid ) < 1200 )       {           SendClientMessage( playerid, COLOR_RED, "You are too poor to buy drugs." );           return 0;       }              new szBuyDrugs[ 256 ];       //format( szBuyDrugs, sizeof( szBuyDrugs ), "%s has requested drugs from you. ( Position: %s )", GetPlayerCaption( playerid ), GetCurrentPosition( playerid ) );       format( szBuyDrugs, sizeof( szBuyDrugs ), "%s has requested drugs from you.", GetPlayerCaption( playerid ) );              SendMessageToTeam( TEAM_DRUG, COLOR_YELLOW, szBuyDrugs );       SendClientMessage( playerid, COLOR_YELLOW, "Request sent to drug dealers." );       return 1;}public PlayerBuyDrugs( playerid, sellerid ){       if( IsPlayerConnected( sellerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Invalid player id." );           return 0;       }       if( gTeam[ sellerid ] != TEAM_DRUG )       {           new szNoDrug[ 256 ];           format( szNoDrug, sizeof( szNoDrug ), "%s is not a drug dealer!", GetPlayerCaption( sellerid ) );           SendClientMessage( playerid, COLOR_RED, szNoDrug );           return 0;       }       if( OuncesOfCocaine[ sellerid ] < 1 )       {           new szDepleted[ 256 ];           format( szDepleted, sizeof( szDepleted ), "%s has no drugs!", GetPlayerCaption( sellerid ) );           SendClientMessage( playerid, COLOR_RED, szDepleted );           return 0;       }              if( IsInDrugBuyRange( playerid, sellerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "You are too far away to buy drugs from this person." );           return 0;       }       if( GetPlayerMoney( playerid ) < 2500 )       {           new szFailBuy[ 256 ];           format( szFailBuy, sizeof( szFailBuy ), "%s is too poor to buy drugs!", GetPlayerCaption( playerid ) );           SendClientMessage( playerid, COLOR_RED, "You are too poor to buy drugs." );           SendClientMessage( sellerid, COLOR_RED, szFailBuy );           return 0;       }              OuncesOfCocaine[ playerid ]++;       OuncesOfCocaine[ sellerid ]--;              new szBuyStr1[ 256 ];       new szBuyStr2[ 256 ];       format( szBuyStr1, sizeof( szBuyStr1 ), "Sale success, you've gained $2500. Current drugs: %i", OuncesOfCocaine[ sellerid ] );       format( szBuyStr2, sizeof( szBuyStr2 ), "Purchase success, current drugs: %i", OuncesOfCocaine[ playerid ] );              SendClientMessage( sellerid, COLOR_YELLOW, szBuyStr1 );       SendClientMessage( playerid, COLOR_YELLOW, szBuyStr2 );              GivePlayerMoney( sellerid, 2500 );       SetPlayerMoney( playerid, GetPlayerMoney( playerid ) - 2500 );              return 1;}public PlayerRobInterior( playerid ){       if( HasRobberyStarted == 1 )       {           SendClientMessage( playerid, COLOR_RED, "Robbery already in progress." );           return 0;       }              if( gTeam[ playerid ] != TEAM_ROBBERS )       {           SendClientMessage( playerid, COLOR_RED, "Only robbers can commit robbery!" );           return 0;       }              if( GetPlayerInterior( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "You can only rob certain places!" );           return 0;       }              new szRobbery[ 256 ];       new rob_money = minrand( 0, 1600 );       GivePlayerMoney( playerid, rob_money );       format( szRobbery, sizeof( szRobbery ), "You have robbed the place for $%i, you have 15 seconds to escape!" );       SendClientMessage( playerid, COLOR_YELLOW, szRobbery );       IsRobberySuspect[ playerid ] = 1;       HasRobberyStarted = 1;       SetTimer( "CountDownRobberyTimer", 1000*15, 0 );       return 1;}public SetPlayerRandomSpawn( playerid ){       new rand = random( sizeof( gRandomPlayerSpawns ) );       SetPlayerPos( playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2] );       return 1;}public IsStr( cmd[], str[] ){       if( strcmp( cmd, str ) == 0 )return 1;       return 0;}public GetMoneyFraction( playerid, fract ){       return GetPlayerMoney( playerid ) / fract;}public EchoPlayerStats( playerid ){       new szStats[ 256 ];              new bank_money = dUserINT( GetPlayerCaption( playerid ) ).("money");       new cur_drugs = dUserINT( GetPlayerCaption( playerid ) ).( "drugs" );       new pilot = dUserINT( GetPlayerCaption( playerid ) ).( "pilot" );              format( szStats, sizeof( szStats ), "Money in bank: %i - Money in hand: %i - Cocaine in storage: %i - Cocaine in hand: %i - Pilot: %i",               bank_money, GetPlayerMoney( playerid ), cur_drugs, OuncesOfCocaine[ playerid ], pilot       );              SendClientMessage( playerid, COLOR_YELLOW, szStats );       return 1;}public AdjustGrav( playerid, Float:grav ){       if( IsPlayerAdmin( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }       SetGravity( grav );       new szGrav[ 256 ];       format( szGrav, sizeof( szGrav ), "Gravity set to %f by admin", grav );       SendClientMessageToAll( COLOR_YELLOW, szGrav );       return 1;}public RestoreGrav( playerid ){       if( IsPlayerAdmin( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }       SetGravity( 0.008 );       SendClientMessageToAll( COLOR_YELLOW, "Gravity restored to default ( 0.008 )" );       return 1;}public AdjustTime( playerid, time ){       if( IsPlayerAdmin( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }              new szTime[ 256 ];       format( szTime, sizeof( szTime ), "Time set to %i by admin.", time );       SetWorldTime( time );       SendClientMessageToAll( COLOR_YELLOW, szTime );       return 1;}public SpawnVehicle( playerid, vid ){       if( IsPlayerAdmin( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }              new Float:x, Float:y, Float:z;       new Float:new_y;       GetPlayerPos( playerid, x, y, z );       new_y = ( y + 10.0 );       CreateVehicle( vid, x, new_y, z, 72.0, COLOR_WHITE, COLOR_WHITE, 20 );              new szRide[ 256 ];       format( szRide, sizeof( szRide ), "Car %i spawned by admin.", vid );       SendClientMessageToAll( COLOR_YELLOW, szRide );       return 1;}public KillUser( playerid, deathid ){       if( IsPlayerAdmin( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }              new szDie[ 256 ];       format( szDie, sizeof( szDie ), "%s killed by admin.", GetPlayerCaption( deathid ) );       SetPlayerHealth( deathid, 0 );       SendClientMessageToAll( COLOR_RED, szDie );       return 1;}public SendPlayerCash( playerid, otherid, money ){       if( IsPlayerConnected( otherid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Invalid player id." );           return 0;       }              if( IsPlayerAdmin( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }	       if( money < 1 )       {           SendClientMessage( playerid, COLOR_RED, "Money value must be greater then 0." );           return 0;       }	       new szGetMoney[ 256 ];       format( szGetMoney, sizeof( szGetMoney ), "You have recieved $%i from admin!", money );       GivePlayerMoney( otherid, money );       SendClientMessage( playerid, COLOR_YELLOW, "Money sent." );       SendClientMessage( otherid, COLOR_YELLOW, szGetMoney );       return 1;}public IsValidVehicle( playerid ){       new vehicleid = GetVehicleModel( GetPlayerVehicleID( playerid ) );              if( PilotLisence[ playerid ] == 0 )       {           if(                         //planes              vehicleid == 592 || vehicleid == 577 || vehicleid == 511 ||              vehicleid == 512 || vehicleid == 593 || vehicleid == 520 ||              vehicleid == 553 || vehicleid == 464 || vehicleid == 476 ||              vehicleid == 519 || vehicleid == 460 || vehicleid == 513 ||              vehicleid == 539 ||                            //helis              vehicleid == 548 || vehicleid == 425 || vehicleid == 417 ||              vehicleid == 487 || vehicleid == 497 || vehicleid == 563 ||              vehicleid == 501 || vehicleid == 465 || vehicleid == 447 ||              vehicleid == 469 || vehicleid == 488                            )              {                        SendClientMessage( playerid, COLOR_RED, "You need a pilots license to fly a plane! use /buypl ( $40,000 )" );                        return 0;              }       }              if( gTeam[ playerid ] != TEAM_COPS )       {           if(              //cop cars              vehicleid == 596 || vehicleid == 599 || vehicleid == 597 ||              vehicleid == 598 || vehicleid == 490 || vehicleid == 528 ||              vehicleid == 427 || vehicleid == 601 || vehicleid == 523                )                {                        SendClientMessage( playerid, COLOR_RED, "Only police officers can use police vehicles!" );                        return 0;               }       }              return 1;}public BuyPilot( playerid ){       if( IsPlayerAdmin( playerid ) == 1 )       {           PilotLisence[ playerid ] = 1;           SavePlayerStats( playerid );           return 1;       }              if( GetPlayerMoney( playerid ) < 40000 )       {           SendClientMessage( playerid, COLOR_YELLOW, "You can not afford a pilots license!" );           return 0;       }              SetPlayerMoney( playerid, GetPlayerMoney( playerid ) - 40000 );       PilotLisence[ playerid ] = 1;       SavePlayerStats( playerid );       return 1;}public BanAccount( playerid, banid ){       if( IsPlayerAdmin( playerid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }       if( IsPlayerConnected( banid ) == 1 )       {           SendClientMessage( playerid, COLOR_RED, "Invalid player id." );           return 0;       }       if( udb_Exists( GetPlayerCaption( playerid ) ) )       {           dUserSetINT( GetPlayerCaption( playerid ) ).( "banned", 1 );       }              new szBan[ 256 ];       format( szBan, sizeof( szBan ), "%s was banned by admin.", GetPlayerCaption( banid ) );       SendClientMessageToAll( COLOR_YELLOW, szBan );              Ban( playerid );       Kick( playerid );              return 1;}public UnjailUser( playerid, jailid, reason[] ){       if( IsPlayerConnected( jailid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Invalid user id." );           return 0;       }              if( IsInJail[ jailid ] == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Player is not in jail!" );           return 0;       }              if( IsPlayerAdmin( playerid ) == 1 && gTeam[ playerid ] != TEAM_COPS )       {           new szJail[ 256 ];           format( szJail, sizeof( szJail ), "%s was released from jail by admin!", GetPlayerCaption( jailid ) );           IsInJail[ jailid ] = 0;           UnsuspectPlayer( jailid );           SetPlayerRandomSpawn( jailid );           TogglePlayerControllable( jailid, 1 );           SetPlayerInterior( jailid, 0 );                      return 1;       }              if( gTeam[ playerid ] != TEAM_COPS )       {           SendClientMessage( playerid, COLOR_RED, "function only useable by cops and admins!" );           return 0;       }              IsInJail[ jailid ] = 0;       UnsuspectPlayer( jailid );       SetPlayerRandomSpawn( jailid );       TogglePlayerControllable( jailid, 1 );       SetPlayerInterior( jailid, 0 );              return 1;}public JailUser( playerid, jailid, reason[] ){       if( IsPlayerConnected( jailid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Invalid user id." );           return 0;       }       if( IsPlayerAdmin( playerid ) == 1 && gTeam[ playerid ] != TEAM_COPS )       {           new szJail[ 256 ];                      if( IsSuspect[ jailid ] == 1 )           {               format( szJail, sizeof( szJail ), "%s has jailed user %s", GetPlayerCaption( playerid ), GetPlayerCaption( jailid ) );           }           else           {               format( szJail, sizeof( szJail ), "%s has jailed user %s, Reason: %s", GetPlayerCaption( playerid ), GetPlayerCaption( jailid ), reason );           }                      SetPlayerPos( jailid, 264.3591, 77.5832, 1001.0391 );           TogglePlayerControllable( jailid, 0 );           SetPlayerInterior( jailid, 6 );           SendClientMessageToAll( COLOR_ORANGE, szJail );           IsInJail[ jailid ] = 1;                      new szSay[ 256 ];           format( szSay, sizeof( szSay ), "Wanted level %i, when it is 0 you will be released!", JailTime[ jailid ] );           SendClientMessage( jailid, COLOR_YELLOW, szSay );                      return 1;       }              if( gTeam[ playerid ] != TEAM_COPS )       {           SendClientMessage( playerid, COLOR_RED, "Function only useable by cops and admins!" );           return 0;       }              if( IsSuspect[ jailid ] == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Player is not a suspect!" );           return 0;       }              if( JailTime[ jailid ] == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Player has not accumulated any jail time!" );           return 0;       }              if( GetDistanceBetweenPlayers( playerid, jailid ) > 10.0 )       {           SendClientMessage( playerid, COLOR_RED, "You are too far away to jail this person!" );           return 0;       }              if( IsInJail[ jailid ] == 1 )       {           SendClientMessage( playerid, COLOR_RED, "This user is already in jail!" );           return 0;       }              new szJail[ 256 ];       format( szJail, sizeof( szJail ), "%s has jailed user %s, Reason: %s", GetPlayerCaption( playerid ), GetPlayerCaption( jailid ), reason );       SetPlayerPos( jailid, 264.3591, 77.5832, 1001.0391 );       TogglePlayerControllable( jailid, 0 );       SetPlayerInterior( jailid, 6 );       SendClientMessageToAll( COLOR_ORANGE, szJail );       IsInJail[ jailid ] = 1;              new szSay[ 256 ], szSayS[ 256 ];       new iRand = minrand( JailTime[ jailid ] * 30, JailTime[ jailid ] * 120 );       format( szSay, sizeof( szSay ), "Wanted level %i, when it is 0 you will be released!", JailTime[ jailid ] );       format( szSayS, sizeof( szSayS ), "You gained %i dollars for jailing %s", iRand, GetPlayerCaption( jailid ) );       SendClientMessage( jailid, COLOR_YELLOW, szSay );       SendClientMessage( playerid, COLOR_YELLOW, szSayS );       GivePlayerMoney( playerid, iRand );              return 1;}public SetObjectToFaceCords(objectid, Float:x1,Float:y1,Float:z1){       new Float:x2,Float:y2,Float:z2;       GetObjectPos(objectid, x2,y2,z2);	      new Float:DX = floatabs(x2-x1);	      new Float:DY = floatabs(y2-y1);	      new Float:DZ = floatabs(z2-z1);       new Float:yaw = 0;       new Float:pitch = 0;	      if(DY == 0 || DX == 0)	      {	            if(DY == 0 && DX > 0)             {            	      yaw = 0;		                pitch = 0;             }             else if(DY == 0 && DX < 0)             {                  yaw = 180;                  pitch = 180;             }		           else if(DY > 0 && DX == 0)             {                  yaw = 90;                  pitch = 90;             }             else if(DY < 0 && DX == 0)             {                  yaw = 270;                  pitch = 270;             }             else if(DY == 0 && DX == 0)             {                  yaw = 0;                  pitch = 0;             }       }	      else	      {		         yaw = atan(DX/DY);		         pitch = atan(floatsqroot(DX*DX + DZ*DZ) / DY);		         if(x1 > x2 && y1 <= y2)           {                 yaw = yaw + 90;                 pitch = pitch - 45;           }           else if(x1 <= x2 && y1 < y2)           {                yaw = 90 - yaw;                pitch = pitch - 45;           }           else if(x1 < x2 && y1 >= y2)           {                yaw = yaw - 90;                pitch = pitch - 45;           }           else if(x1 >= x2 && y1 > y2)           {                yaw = 270 - yaw;                pitch = pitch + 315; }                if(z1 < z2)pitch = 360-pitch;           }           SetObjectRot(objectid, 0, 0, yaw);           SetObjectRot(objectid, 0, pitch, yaw);}public DeleteAllObjects( playerid ){       if( IsPlayerAdmin( playerid ) == 0 && gTeam[ playerid ] != TEAM_STUNT )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }              for( new i = 0; i < MAX_OBJECTS; i++ )       {            if( IsValidObject( i ) == 1 )            {                DestroyObject( i );            }       }              SendClientMessageToAll( COLOR_YELLOW, "All objects deleted by admin!" );              ObjectNum = 0;       return 1;}public DeleteSingleObject( playerid, objectid ){       if( IsPlayerAdmin( playerid ) == 0 && gTeam[ playerid ] != TEAM_STUNT )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }              if( IsValidObject( objectid ) == 1 )       {           DestroyObject( objectid );       }              return 1;}public SpawnObject( playerid, modelid ){       if( IsPlayerAdmin( playerid ) == 0 && gTeam[ playerid ] != TEAM_STUNT )       {           SendClientMessage( playerid, COLOR_RED, "ADMIN ONLY" );           return 0;       }              if( ObjectNum >= MAX_OBJECTS )       {           SendClientMessage( playerid, COLOR_RED, "Too many objects on the map!" );           return 0;       }       new Float:SpawnRotZ;              if( IsPlayerDriver( playerid ) == 0 )       {           new Float:PlayerX, Float:PlayerY, Float:PlayerZ;           GetPlayerPos( playerid, PlayerX, PlayerY, PlayerZ );           GetPlayerFacingAngle( playerid, SpawnRotZ );           CreateObject( modelid, PlayerX, PlayerY, PlayerZ, 0.0, 0.0, SpawnRotZ );           SetPlayerPos( playerid, PlayerX, PlayerY, PlayerZ + 10.0 );       }       else if( IsPlayerDriver( playerid ) == 1 )       {            new Float:CarX, Float:CarY, Float:CarZ;            GetVehiclePos( GetPlayerVehicleID( playerid ), CarX, CarY, CarZ );            GetVehicleZAngle( GetPlayerVehicleID( playerid ), SpawnRotZ );            CreateObject( modelid, CarX, CarY, CarZ, 0.0, 0.0, SpawnRotZ );            SetVehiclePos( GetPlayerVehicleID( playerid ), CarX, CarY, CarZ + 10.0 );       }              new szMsg[ 256 ];       format( szMsg, sizeof( szMsg ), "Model %i ( Object %i ) spawned by admin.", modelid, ObjectNum );       SendClientMessageToAll( COLOR_YELLOW, szMsg );       ObjectNum++;       return 1;}public SpawnRamp( playerid, rampid ){       new nrampid = 1655;              switch( rampid )       {               case 1:               {                    nrampid = 1655;               }               case 2:               {                    nrampid = 1473;               }               case 3:               {                    nrampid = 1474;               }               case 4:               {                    nrampid = 1475;               }               case 5:               {                    nrampid = 1477;               }               default:               {                    nrampid = 1655;               }       }       return SpawnObject( playerid, nrampid );}public SetSpawnStunt( playerid ){       SetPlayerPos( playerid, 1887.5493, -1376.8995, 19.1406 );       return 0;}public GetHitTime( playerid ){       if( gTeam[ playerid ] != TEAM_HITMAN )       {           SendClientMessage( playerid, COLOR_RED, "You are not a hitman!" );           return 0;       }              if( IsTooFewPlayers == 1 )       {           SendClientMessage( playerid, COLOR_RED, "Too few players!" );           return 0;       }              new szHitmanCallTime[ 256 ];       format( szHitmanCallTime, sizeof( szHitmanCallTime ), "Time until HQ calls you remaining: %i seconds", ( 60 - HitmanWithoutTargetTime[ playerid ] ) );       SendClientMessage( playerid, COLOR_YELLOW, szHitmanCallTime );       return 1;}public MovePlayer( playerid, Float:X, Float:Y, Float:Z ){       if( IsPlayerDriver( playerid ) == 0 )       {           SetVehiclePos( GetPlayerVehicleID( playerid ), X, Y, Z );           return 1;       }       else       {           SetPlayerPos( playerid, X, Y, Z );           return 1;       }       return 0;}public TeleportPlayerToPlayer( playerid, targetid ){       if( IsPlayerConnected( targetid ) == 0 )       {           SendClientMessage( playerid, COLOR_RED, "Invalid player id." );           return 0;       }              if( playerid == targetid )       {           SendClientMessage( playerid, COLOR_RED, "You can NOT warp to yourself!" );           return 0;       }              if( IsPlayerAdmin( playerid ) == 0 )       {           if( gTeam[ playerid ] != TEAM_STUNT )           {               SendClientMessage( playerid, COLOR_RED, "Command only useable by admins and stunt players." );               return 0;           }                  if( gTeam[ targetid ] != TEAM_STUNT )           {               SendClientMessage( playerid, COLOR_RED, "You can not teleport to non-stunt players!" );               return 0;           }       }              new Float:WarpX, Float:WarpY, Float:WarpZ;       GetPlayerPos( targetid, WarpX, WarpY, WarpZ );                     MovePlayer( playerid, WarpX, WarpY + 10.0, WarpZ );       if( GetPlayerInterior( targetid ) > 0 )SetPlayerInterior( playerid, GetPlayerInterior( targetid ) );              new WarpMsg[ 256 ];       format( WarpMsg, sizeof( WarpMsg ), "Player %s warped to player %s", GetPlayerCaption( playerid ), GetPlayerCaption( targetid ) );       SendMessageToTeam( TEAM_STUNT, COLOR_YELLOW, WarpMsg );       return 1;}//=====================================================================================================main(){      print("\n----------------------------------");      print("  Cops 'n' Robbers by [ DAS ]OpiuM");      print("----------------------------------\n");}//=====================================================================================================//callback functionspublic OnGameModeInit(){       SetGameModeText( "DAS WORLD" );	      SetWorldTime( 0 ); //night       //-----------------------------------	      AddPlayerClass(275,2240.6440,2449.1963,10.8203,266.7606,3,0,24,500,31,500);	      AddPlayerClass(280,2246.2295,2489.3726,10.8203,76.9256,3,0,23,500,25,500);	      AddPlayerClass(285,2290.9434,2467.7192,3.5313,299.8528,3,0,27,500,29,500);	      //-----------------------------------	      AddPlayerClass(147,2117.1965,2416.5251,10.8203,89.2070,0,0,25,50,30,150);	      AddPlayerClass(113,2068.7290,2393.0608,10.8281,345.8510,0,0,4,0,29,200);	      AddPlayerClass(228,2103.9624,2390.3352,10.8203,289.2072,0,0,22,110,25,80);	      //-----------------------------------	      AddPlayerClass(28, 2246.2295,2489.3726,10.8203,76.9256, 28, 200, 22, 200, 25,100);	      //-----------------------------------	      AddPlayerClass(299, 2246.2295,2489.3726,10.8203,76.9256, 1, 0, 1, 0, 1, 0);	      //-----------------------------------	      AddPlayerClass(165, 2246.2295,2489.3726,10.8203,76.9256, 8, 0, 23, 500, 34, 1000);	      //-----------------------------------	      	      AddStaticVehicle(427,2316.7959,2430.7009,-7.3211,359.7029,0,1);	      AddStaticVehicle(427,2307.2661,2431.7549,-7.3218,358.5617,0,1);	      AddStaticVehicle(490,2240.2766,2438.8345,-7.3236,267.3404,0,0);	      AddStaticVehicle(433,2240.7478,2483.8708,-3.4514,278.2116,43,0);	      AddStaticVehicle(427,2298.3223,2431.8845,3.4052,3.9547,0,1);	      AddStaticVehicle(523,2296.1475,2451.8772,2.8344,86.6349,0,0);	      AddStaticVehicle(523,2296.6516,2469.8865,2.8344,9.0160,0,0);	      AddStaticVehicle(528,2313.0017,2498.7883,3.3207,90.8581,0,0);	      AddStaticVehicle(528,2240.0408,2443.5459,3.3170,266.3626,0,0);	      AddStaticVehicle(596,2287.8354,2431.6284,2.9959,2.4368,0,1);	      AddStaticVehicle(596,2240.2856,2497.7378,10.5404,175.2115,0,1);	      AddStaticVehicle(596,2279.1040,2461.1223,10.5417,182.9378,0,1);	      AddStaticVehicle(596,2279.8916,2445.7690,10.5410,182.9376,0,1);	      AddStaticVehicle(596,2273.0505,2443.6646,10.5375,176.1185,0,1);	      AddStaticVehicle(497,2196.8638,2523.9612,10.9946,90.2832,0,1);	      AddStaticVehicle(555,2095.6313,2395.8621,10.5038,88.4465,58,1);	      AddStaticVehicle(405,2086.6680,2402.0334,10.7006,267.6530,123,1);	      AddStaticVehicle(415,2095.6077,2419.6191,10.5910,90.3536,92,1);	      AddStaticVehicle(429,2095.6890,2413.7065,10.5756,90.5105,1,3);	      AddStaticVehicle(434,2086.0122,2410.6824,9.7925,270.2203,46,46);	      AddStaticVehicle(439,2068.7910,2396.1069,10.7236,90.4969,54,38);	      AddStaticVehicle(521,2081.6355,2389.1348,10.5659,195.4664,92,3);	      AddStaticVehicle(567,2103.3770,2393.3525,10.6918,272.4497,93,64);	      AddStaticVehicle(451,2040.0520,1319.2799,10.3779,183.2439,16,16);	      AddStaticVehicle(429,2040.5247,1359.2783,10.3516,177.1306,13,13);	      AddStaticVehicle(421,2110.4102,1398.3672,10.7552,359.5964,13,13);	      AddStaticVehicle(411,2074.9624,1479.2120,10.3990,359.6861,64,64);	      AddStaticVehicle(477,2075.6038,1666.9750,10.4252,359.7507,94,94);	      AddStaticVehicle(541,2119.5845,1938.5969,10.2967,181.9064,22,22);	      AddStaticVehicle(541,1843.7881,1216.0122,10.4556,270.8793,60,1);	      AddStaticVehicle(402,1944.1003,1344.7717,8.9411,0.8168,30,30);	      AddStaticVehicle(402,1679.2278,1316.6287,10.6520,180.4150,90,90);	      AddStaticVehicle(415,1685.4872,1751.9667,10.5990,268.1183,25,1);	      AddStaticVehicle(411,2034.5016,1912.5874,11.9048,0.2909,123,1);	      AddStaticVehicle(411,2172.1682,1988.8643,10.5474,89.9151,116,1);	      AddStaticVehicle(429,2245.5759,2042.4166,10.5000,270.7350,14,14);	      AddStaticVehicle(477,2361.1538,1993.9761,10.4260,178.3929,101,1);	      AddStaticVehicle(550,2221.9946,1998.7787,9.6815,92.6188,53,53);	      AddStaticVehicle(558,2243.3833,1952.4221,14.9761,359.4796,116,1);	      AddStaticVehicle(587,2276.7085,1938.7263,31.5046,359.2321,40,1);	      AddStaticVehicle(587,2602.7769,1853.0667,10.5468,91.4813,43,1);	      AddStaticVehicle(415,2076.4033,2468.7947,10.5923,359.9186,36,1);	      AddStaticVehicle(487,2093.2754,2414.9421,74.7556,89.0247,26,57);	      AddStaticVehicle(506,2352.9026,2577.9768,10.5201,0.4091,7,7);	      AddStaticVehicle(506,2166.6963,2741.0413,10.5245,89.7816,52,52);	      AddStaticVehicle(411,1960.9989,2754.9072,10.5473,200.4316,112,1);	      AddStaticVehicle(429,1919.5863,2760.7595,10.5079,100.0753,2,1);	      AddStaticVehicle(415,1673.8038,2693.8044,10.5912,359.7903,40,1);	      AddStaticVehicle(402,1591.0482,2746.3982,10.6519,172.5125,30,30);	      AddStaticVehicle(603,1580.4537,2838.2886,10.6614,181.4573,75,77);	      AddStaticVehicle(550,1555.2734,2750.5261,10.6388,91.7773,62,62);	      AddStaticVehicle(535,1455.9305,2878.5288,10.5837,181.0987,118,1);	      AddStaticVehicle(477,1537.8425,2578.0525,10.5662,0.0650,121,1);	      AddStaticVehicle(451,1433.1594,2607.3762,10.3781,88.0013,16,16);	      AddStaticVehicle(603,2223.5898,1288.1464,10.5104,182.0297,18,1);	      AddStaticVehicle(558,2451.6707,1207.1179,10.4510,179.8960,24,1);	      AddStaticVehicle(550,2461.7253,1357.9705,10.6389,180.2927,62,62);	      AddStaticVehicle(558,2461.8162,1629.2268,10.4496,181.4625,117,1);	      AddStaticVehicle(477,2395.7554,1658.9591,10.5740,359.7374,0,1);	      AddStaticVehicle(404,1553.3696,1020.2884,10.5532,270.6825,119,50);	      AddStaticVehicle(400,1380.8304,1159.1782,10.9128,355.7117,123,1);	      AddStaticVehicle(418,1383.4630,1035.0420,10.9131,91.2515,117,227);	      AddStaticVehicle(404,1445.4526,974.2831,10.5534,1.6213,109,100);	      AddStaticVehicle(400,1704.2365,940.1490,10.9127,91.9048,113,1);	      AddStaticVehicle(404,1658.5463,1028.5432,10.5533,359.8419,101,101);	      AddStaticVehicle(581,1677.6628,1040.1930,10.4136,178.7038,58,1);	      AddStaticVehicle(581,1383.6959,1042.2114,10.4121,85.7269,66,1);	      AddStaticVehicle(581,1064.2332,1215.4158,10.4157,177.2942,72,1);	      AddStaticVehicle(581,1111.4536,1788.3893,10.4158,92.4627,72,1);	      AddStaticVehicle(522,953.2818,1806.1392,8.2188,235.0706,3,8);	      AddStaticVehicle(522,995.5328,1886.6055,10.5359,90.1048,3,8);	      AddStaticVehicle(521,993.7083,2267.4133,11.0315,1.5610,75,13);	      AddStaticVehicle(535,1439.5662,1999.9822,10.5843,0.4194,66,1);	      AddStaticVehicle(522,1430.2354,1999.0144,10.3896,352.0951,6,25);	      AddStaticVehicle(522,2156.3540,2188.6572,10.2414,22.6504,6,25);	      AddStaticVehicle(598,2277.6846,2477.1096,10.5652,180.1090,0,1);	      AddStaticVehicle(598,2268.9888,2443.1697,10.5662,181.8062,0,1);	      AddStaticVehicle(522,2580.5320,2267.9595,10.3917,271.2372,8,82);	      AddStaticVehicle(522,2814.4331,2364.6641,10.3907,89.6752,36,105);	      AddStaticVehicle(535,2827.4143,2345.6953,10.5768,270.0668,97,1);	      AddStaticVehicle(521,1670.1089,1297.8322,10.3864,359.4936,87,118);	      AddStaticVehicle(487,1614.7153,1548.7513,11.2749,347.1516,58,8);	      AddStaticVehicle(487,1647.7902,1538.9934,11.2433,51.8071,0,8);	      AddStaticVehicle(487,1608.3851,1630.7268,11.2840,174.5517,58,8);	      AddStaticVehicle(476,1283.0006,1324.8849,9.5332,275.0468,7,6);	      AddStaticVehicle(476,1283.5107,1361.3171,9.5382,271.1684,1,6);	      AddStaticVehicle(476,1283.6847,1386.5137,11.5300,272.1003,89,91);	      AddStaticVehicle(476,1288.0499,1403.6605,11.5295,243.5028,119,117);	      AddStaticVehicle(415,1319.1038,1279.1791,10.5931,0.9661,62,1);	      AddStaticVehicle(521,1710.5763,1805.9275,10.3911,176.5028,92,3);	      AddStaticVehicle(521,2805.1650,2027.0028,10.3920,357.5978,92,3);	      AddStaticVehicle(535,2822.3628,2240.3594,10.5812,89.7540,123,1);	      AddStaticVehicle(521,2876.8013,2326.8418,10.3914,267.8946,115,118);	      AddStaticVehicle(429,2842.0554,2637.0105,10.5000,182.2949,1,3);	      AddStaticVehicle(549,2494.4214,2813.9348,10.5172,316.9462,72,39);	      AddStaticVehicle(549,2327.6484,2787.7327,10.5174,179.5639,75,39);	      AddStaticVehicle(549,2142.6970,2806.6758,10.5176,89.8970,79,39);	      AddStaticVehicle(521,2139.7012,2799.2114,10.3917,229.6327,25,118);	      AddStaticVehicle(521,2104.9446,2658.1331,10.3834,82.2700,36,0);	      AddStaticVehicle(521,1914.2322,2148.2590,10.3906,267.7297,36,0);	      AddStaticVehicle(549,1904.7527,2157.4312,10.5175,183.7728,83,36);	      AddStaticVehicle(549,1532.6139,2258.0173,10.5176,359.1516,84,36);	      AddStaticVehicle(521,1534.3204,2202.8970,10.3644,4.9108,118,118);	      AddStaticVehicle(549,1613.1553,2200.2664,10.5176,89.6204,89,35);	      AddStaticVehicle(400,1552.1292,2341.7854,10.9126,274.0815,101,1);	      AddStaticVehicle(404,1637.6285,2329.8774,10.5538,89.6408,101,101);	      AddStaticVehicle(400,1357.4165,2259.7158,10.9126,269.5567,62,1);	      AddStaticVehicle(411,1281.7458,2571.6719,10.5472,270.6128,106,1);	      AddStaticVehicle(522,1305.5295,2528.3076,10.3955,88.7249,3,8);	      AddStaticVehicle(521,993.9020,2159.4194,10.3905,88.8805,74,74);	      AddStaticVehicle(415,1512.7134,787.6931,10.5921,359.5796,75,1);	      AddStaticVehicle(522,2299.5872,1469.7910,10.3815,258.4984,3,8);	      AddStaticVehicle(522,2133.6428,1012.8537,10.3789,87.1290,3,8);	      AddStaticVehicle(415,2266.7336,648.4756,11.0053,177.8517,0,1);	      AddStaticVehicle(461,2404.6636,647.9255,10.7919,183.7688,53,1);	      AddStaticVehicle(506,2628.1047,746.8704,10.5246,352.7574,3,3);	      AddStaticVehicle(549,2817.6445,928.3469,10.4470,359.5235,72,39);	      AddStaticVehicle(562,1919.8829,947.1886,10.4715,359.4453,11,1);	      AddStaticVehicle(562,1881.6346,1006.7653,10.4783,86.9967,11,1);	      AddStaticVehicle(562,2038.1044,1006.4022,10.4040,179.2641,11,1);	      AddStaticVehicle(562,2038.1614,1014.8566,10.4057,179.8665,11,1);	      AddStaticVehicle(562,2038.0966,1026.7987,10.4040,180.6107,11,1);	      AddStaticVehicle(422,9.1065,1165.5066,19.5855,2.1281,101,25);	      AddStaticVehicle(463,19.8059,1163.7103,19.1504,346.3326,11,11);	      AddStaticVehicle(463,12.5740,1232.2848,18.8822,121.8670,22,22);	      AddStaticVehicle(586,69.4633,1217.0189,18.3304,158.9345,10,1);	      AddStaticVehicle(586,-199.4185,1223.0405,19.2624,176.7001,25,1);	      AddStaticVehicle(476,325.4121,2538.5999,17.5184,181.2964,71,77);	      AddStaticVehicle(476,291.0975,2540.0410,17.5276,182.7206,7,6);	      AddStaticVehicle(576,384.2365,2602.1763,16.0926,192.4858,72,1);	      AddStaticVehicle(586,423.8012,2541.6870,15.9708,338.2426,10,1);	      AddStaticVehicle(586,-244.0047,2724.5439,62.2077,51.5825,10,1);	      AddStaticVehicle(586,-311.1414,2659.4329,62.4513,310.9601,27,1);	      AddStaticVehicle(543,596.8064,866.2578,-43.2617,186.8359,67,8);	      AddStaticVehicle(543,835.0838,836.8370,11.8739,14.8920,8,90);	      AddStaticVehicle(549,843.1893,838.8093,12.5177,18.2348,79,39);	      AddStaticVehicle(400,-235.9767,1045.8623,19.8158,180.0806,75,1);	      AddStaticVehicle(599,-211.5940,998.9857,19.8437,265.4935,0,1);	      AddStaticVehicle(422,-304.0620,1024.1111,19.5714,94.1812,96,25);	      AddStaticVehicle(588,-290.2229,1317.0276,54.1871,81.7529,1,1);	      AddStaticVehicle(451,-290.3145,1567.1534,75.0654,133.1694,61,61);	      AddStaticVehicle(470,280.4914,1945.6143,17.6317,310.3278,43,0);	      AddStaticVehicle(470,272.2862,1949.4713,17.6367,285.9714,43,0);	      AddStaticVehicle(470,271.6122,1961.2386,17.6373,251.9081,43,0);	      AddStaticVehicle(568,-371.7973,2234.5527,42.3497,285.9481,41,29);	      AddStaticVehicle(568,-360.1159,2203.4272,42.3039,113.6446,41,29);	      AddStaticVehicle(468,-660.7385,2315.2642,138.3866,358.7643,6,6);	      AddStaticVehicle(460,-1029.2648,2237.2217,42.2679,260.5732,1,3);	      AddStaticVehicle(419,95.0568,1056.5530,13.4068,192.1461,13,76);	      AddStaticVehicle(429,114.7416,1048.3517,13.2890,174.9752,1,2);	      AddStaticVehicle(411,-290.0065,1759.4958,42.4154,89.7571,116,1);	      AddStaticVehicle(522,-302.5649,1777.7349,42.2514,238.5039,6,25);	      AddStaticVehicle(522,-302.9650,1776.1152,42.2588,239.9874,8,82);	      AddStaticVehicle(533,-301.0404,1750.8517,42.3966,268.7585,75,1);	      AddStaticVehicle(535,-866.1774,1557.2700,23.8319,269.3263,31,1);	      AddStaticVehicle(550,-799.3062,1518.1556,26.7488,88.5295,53,53);	      AddStaticVehicle(521,-749.9730,1589.8435,26.5311,125.6508,92,3);	      AddStaticVehicle(522,-867.8612,1544.5282,22.5419,296.0923,3,3);	      AddStaticVehicle(554,-904.2978,1553.8269,25.9229,266.6985,34,30);	      AddStaticVehicle(521,-944.2642,1424.1603,29.6783,148.5582,92,3);	      AddStaticVehicle(429,-237.7157,2594.8804,62.3828,178.6802,1,2);	      AddStaticVehicle(463,-196.3012,2774.4395,61.4775,303.8402,22,22);	      AddStaticVehicle(519,-1341.1079,-254.3787,15.0701,321.6338,1,1);	      AddStaticVehicle(519,-1371.1775,-232.3967,15.0676,315.6091,1,1);	      AddStaticVehicle(519,1642.9850,-2425.2063,14.4744,159.8745,1,1);	      AddStaticVehicle(519,1734.1311,-2426.7563,14.4734,172.2036,1,1);	      AddStaticVehicle(415,-680.9882,955.4495,11.9032,84.2754,36,1);	      AddStaticVehicle(460,-816.3951,2222.7375,43.0045,268.1861,1,3);	      AddStaticVehicle(460,-94.6885,455.4018,1.5719,250.5473,1,3);	      AddStaticVehicle(460,1624.5901,565.8568,1.7817,200.5292,1,3);	      AddStaticVehicle(460,1639.3567,572.2720,1.5311,206.6160,1,3);	      AddStaticVehicle(460,2293.4219,517.5514,1.7537,270.7889,1,3);	      AddStaticVehicle(460,2354.4690,518.5284,1.7450,270.2214,1,3);	      AddStaticVehicle(460,772.4293,2912.5579,1.0753,69.6706,1,3);	      AddStaticVehicle(560,2133.0769,1019.2366,10.5259,90.5265,9,39);	      AddStaticVehicle(560,2142.4023,1408.5675,10.5258,0.3660,17,1);	      AddStaticVehicle(560,2196.3340,1856.8469,10.5257,179.8070,21,1);	      AddStaticVehicle(560,2103.4146,2069.1514,10.5249,270.1451,33,0);	      AddStaticVehicle(560,2361.8042,2210.9951,10.3848,178.7366,37,0);	      AddStaticVehicle(560,-1993.2465,241.5329,34.8774,310.0117,41,29);	      AddStaticVehicle(559,-1989.3235,270.1447,34.8321,88.6822,58,8);	      AddStaticVehicle(559,-1946.2416,273.2482,35.1302,126.4200,60,1);	      AddStaticVehicle(558,-1956.8257,271.4941,35.0984,71.7499,24,1);	      AddStaticVehicle(562,-1952.8894,258.8604,40.7082,51.7172,17,1);	      AddStaticVehicle(411,-1949.8689,266.5759,40.7776,216.4882,112,1);	      AddStaticVehicle(429,-1988.0347,305.4242,34.8553,87.0725,2,1);	      AddStaticVehicle(559,-1657.6660,1213.6195,6.9062,282.6953,13,8);	      AddStaticVehicle(560,-1658.3722,1213.2236,13.3806,37.9052,52,39);	      AddStaticVehicle(558,-1660.8994,1210.7589,20.7875,317.6098,36,1);	      AddStaticVehicle(550,-1645.2401,1303.9883,6.8482,133.6013,7,7);	      AddStaticVehicle(460,-1333.1960,903.7660,1.5568,0.5095,46,32);	      AddStaticVehicle(411,113.8611,1068.6182,13.3395,177.1330,116,1);	      AddStaticVehicle(429,159.5199,1185.1160,14.7324,85.5769,1,2);	      AddStaticVehicle(411,612.4678,1694.4126,6.7192,302.5539,75,1);	      AddStaticVehicle(522,661.7609,1720.9894,6.5641,19.1231,6,25);	      AddStaticVehicle(522,660.0554,1719.1187,6.5642,12.7699,8,82);	      AddStaticVehicle(567,711.4207,1947.5208,5.4056,179.3810,90,96);	      AddStaticVehicle(567,1031.8435,1920.3726,11.3369,89.4978,97,96);	      AddStaticVehicle(567,1112.3754,1747.8737,10.6923,270.9278,102,114);	      AddStaticVehicle(567,1641.6802,1299.2113,10.6869,271.4891,97,96);	      AddStaticVehicle(567,2135.8757,1408.4512,10.6867,180.4562,90,96);	      AddStaticVehicle(567,2262.2639,1469.2202,14.9177,91.1919,99,81);	      AddStaticVehicle(567,2461.7380,1345.5385,10.6975,0.9317,114,1);	      AddStaticVehicle(567,2804.4365,1332.5348,10.6283,271.7682,88,64);	      AddStaticVehicle(560,2805.1685,1361.4004,10.4548,270.2340,17,1);	      AddStaticVehicle(506,2853.5378,1361.4677,10.5149,269.6648,7,7);	      AddStaticVehicle(567,2633.9832,2205.7061,10.6868,180.0076,93,64);	      AddStaticVehicle(567,2119.9751,2049.3127,10.5423,180.1963,93,64);	      AddStaticVehicle(567,2785.0261,-1835.0374,9.6874,226.9852,93,64);	      AddStaticVehicle(567,2787.8975,-1876.2583,9.6966,0.5804,99,81);	      AddStaticVehicle(411,2771.2993,-1841.5620,9.4870,20.7678,116,1);	      AddStaticVehicle(420,1713.9319,1467.8354,10.5219,342.8006,6,1);       AddStaticVehicle(520,1338.3285,1735.5447,11.5435,263.1312,0,0);                     //-----stunt bikes       AddStaticVehicle(522,1973.7346,-1445.9835,13.5947,177.0632,40,1); // STUNT_BIKE_1       AddStaticVehicle(522,1939.0299,-1445.4941,13.6007,142.9877,40,1); // STUNT_BIKE_2       AddStaticVehicle(522,1933.1569,-1445.8197,13.5853,132.5101,40,1); // STUNT_BIKE_3       AddStaticVehicle(522,1921.8263,-1446.3594,13.5767,124.1694,40,1); // STUNT_BIKE_4       AddStaticVehicle(522,1864.7609,-1442.0099,13.6119,356.2814,40,1); // STUNT_BIKE_5       AddStaticVehicle(522,1919.8218,-1413.4073,13.6627,139.5114,40,1); // STUNT_BIKE_6       AddStaticVehicle(522,1863.7384,-1408.5516,13.5675,180.6480,40,1); // STUNT_BIKE_7              AddStaticVehicle(481,1887.5493,-1362.8995,19.1406,137.9691,40,1); // STUNT_BMX_1       AddStaticVehicle(481,1870.8937,-1363.0991,19.1406,137.0291,40,1); // STUNT_BMX_2       AddStaticVehicle(481,1869.7489,-1359.9618,19.1406,131.3890,40,1); // STUNT_BMX_3       AddStaticVehicle(481,1944.9882,-1365.0441,18.6704,315.8522,40,1); // STUNT_BMX_4              //------------------       //static objects       AddStaticPickup(371, 15, 1710.3359,1614.3585,10.1191); //para       AddStaticPickup(371, 15, 1964.4523,1917.0341,130.9375); //para	      AddStaticPickup(371, 15, 2055.7258,2395.8589,150.4766); //para	      AddStaticPickup(371, 15, 2265.0120,1672.3837,94.9219); //para	      AddStaticPickup(371, 15, 2265.9739,1623.4060,94.9219); //para	      //-------------------	      //timer init	      SetTimer( "PingTimer", 1000*5, 1 ); //once five seconds	      SetTimer( "LoginTimer", 1000, 1 ); //once one second	      SetTimer( "ScoreTimer", 1000, 1 ); //once one second	      SetTimer( "MonitorVehicles", 1000, 1 ); //once one second	      SetTimer( "JailTimer", 1000 * 30, 1 ); //once every 30 seconds	      SetTimer( "StuntRestore", 1000, 1 ); //once every second	      SetTimer( "RandomHitmanTargetPlayer", 1000, 1 );	      	      return 1;}public OnPlayerCommandText(playerid, cmdtext[]){       new cmd[256];	      new param1[ 256 ];	      new param2[ 256 ];	      new iparam1, iparam2;	      new idx;	      cmd = strtok( cmdtext, idx );	      param1 = strtok( cmdtext, idx );	      param2 = strtok( cmdtext, idx );	      iparam1 = strval( param1 );	      iparam2 = strval( param2 );	      	      if( gTeam[ playerid ] == TEAM_COPS )	      {	          if( IsStr( cmd, "/suspect" ) == 1 || IsStr( cmd, "/sus" ) == 1 )	          {	              if( IsPlayerConnected( iparam1 ) == 0 )	              {	                  SendClientMessage( playerid, COLOR_RED, "Invalid player id." );	                  return 1;	              }	              	              if( IsSuspect[ iparam1 ] == 1 )	              {	                  SendClientMessage( playerid, COLOR_RED, "Player is already a suspect!" );	                  return 1;	              }	              	              new szBust[ 256 ];	              format( szBust, sizeof( szBust ), "Officer %s suspected %s of: %s, calling all cars.", GetPlayerCaption( playerid ), GetPlayerCaption( iparam1 ), substr( substr( cmdtext, " " ), " " ) );	              SendClientMessageToAll( COLOR_ORANGE, szBust );	              SuspectPlayer( iparam1 );               return 1;           }                      if( IsStr( cmd, "/unsuspect" ) == 1 || IsStr( cmd, "/uns" ) == 1 )           {               if( IsPlayerConnected( iparam1 ) == 0 )               {                   SendClientMessage( playerid, COLOR_RED, "Invalid player id." );                   return 1;               }                              if( IsSuspect[ iparam1 ] == 0 )               {                   SendClientMessage( playerid, COLOR_RED, "Player is not a suspect." );                   return 1;               }                              new szUns[ 256 ];               format( szUns, sizeof( szUns ), "Officer %s unsuspected %s, Reason: %s", GetPlayerCaption( playerid ), GetPlayerCaption( iparam1 ), substr( substr( cmdtext, " " ), " " ) );               SendClientMessageToAll( COLOR_ORANGE, szUns );               UnsuspectPlayer( iparam1 );               return 1;           }	      }	      	      if( gTeam[ playerid ] == TEAM_ROBBERS )	      {	          if( IsStr( cmd, "/rob" ) == 1 )	          {               PlayerRobInterior( playerid );               return 1;	          }	      }       if( IsStr( cmd, "/info" ) == 1 )       {           switch( gTeam[ playerid ] )           {                   case TEAM_ROBBERS:                        SendClientMessage( playerid, COLOR_YELLOW, "Remember to evade the police go to your red icon on the map!" );                   case TEAM_DRUG:                        SendClientMessage( playerid, COLOR_YELLOW, "Remember, to buy more drugs go to your red icon on the map!" );                   case TEAM_COPS:                        SendClientMessage( playerid, COLOR_YELLOW, "Remember, suspects are orange, kill them and you get a big bonus!" );                   case TEAM_STUNT:                        SendClientMessage( playerid, COLOR_YELLOW, "Remember, you have no objectives! lol! stunt all you want!" );                   case TEAM_HITMAN:                        SendClientMessage( playerid, COLOR_YELLOW, "Your mission is to wait for headquaters to send you a new target..." );           }           SendClientMessage( playerid, COLOR_YELLOW, "Use /commands to see a list of commands for your team!" );           return 1;       }              if( IsStr( cmd, "/commands" ) == 1 )       {           switch( gTeam[ playerid ] )           {                   case TEAM_ROBBERS:                        SendClientMessage( playerid, COLOR_YELLOW, "Use /rob to rob any building!" );                   case TEAM_COPS:                   {                        SendClientMessage( playerid, COLOR_YELLOW, "Use ( /sus or /suspect ) [ playerid ] [ reason ] to suspect a player!" );                        SendClientMessage( playerid, COLOR_YELLOW, "Use ( /uns or /unsuspect ) [ playerid ] [ reason ] to unsuspect a player!" );                   }           }           SendClientMessage( playerid, COLOR_YELLOW, "use /buydrugs to buy drugs from a dealer ( within 10 meters )" );           SendClientMessage( playerid, COLOR_YELLOW, "use /drugnum to see your drug inventory!" );           SendClientMessage( playerid, COLOR_YELLOW, "use /reqdrugs to send a notice to the drug dealing team that you need drugs." );           SendClientMessage( playerid, COLOR_YELLOW, "use /usedrugs to use one ounce of cocaine for extra health!" );           if( IsAuth[ playerid ] == 0 )           {               SendClientMessage( playerid, COLOR_YELLOW, "use /register [ password ] to create an account." );               SendClientMessage( playerid, COLOR_YELLOW, "use /login [ password ] to login to that account." );           }                      return 1;       }       //begin misc commands       //misc funcs              if( IsStr( cmd, "/givecash" ) == 1 )       {           if( IsPlayerConnected( iparam1 ) == 0 )           {               SendClientMessage( playerid, COLOR_RED, "Invalid player id." );               return 1;           }                      if( GetPlayerMoney( playerid ) < iparam2 )           {               SendClientMessage( playerid, COLOR_RED, "You are too poor to send that much money." );               return 1;           }                      if( iparam2 < 1 )           {               SendClientMessage( playerid, COLOR_RED, "Value must be above zero." );               return 1;           }                      SetPlayerMoney( iparam1, GetPlayerMoney( iparam1 ) + iparam2 );           SetPlayerMoney( playerid, GetPlayerMoney( playerid ) - iparam2 );                      new szSent[ 256 ];           format( szSent, sizeof( szSent ), "%s has sent you $%i", GetPlayerCaption( playerid ), iparam2 );           SendClientMessage( playerid, COLOR_YELLOW, "Money sent!" );           SendClientMessage( iparam1, COLOR_YELLOW, szSent );           return 1;       }       //drug funca       if( IsStr( cmd, "/drugnum" ) == 1 )       {           new szNumDrugs[ 256 ];           format( szNumDrugs, sizeof( szNumDrugs ), "You have %i ounces of cocaine.", OuncesOfCocaine[ playerid ] );           SendClientMessage( playerid, COLOR_YELLOW, szNumDrugs );           return 1;       }              if( IsStr( cmd, "/buydrugs" ) == 1 )       {           if( PlayerBuyDrugs( playerid, iparam1 ) == 1 )           {               if(  IsCopInRange( playerid ) )               {                   new szCaught[ 256 ];                   new szDrugC[ 256 ];                   format( szCaught, sizeof( szCaught ), "%s was spotted buying drugs, arrest him!", GetPlayerCaption( playerid ) );                   format( szDrugC, sizeof( szDrugC ), "%s was spotted selling drugs, arrest him!", GetPlayerCaption( iparam1 ) );                   SendClientMessage( playerid, COLOR_ORANGE, "A cop has spotted you buying drugs, you are now a suspect!" );                   SendClientMessage( iparam1, COLOR_ORANGE, "A cop has spotted you selling drugs, you are now a suspect!" );                   SendMessageToTeam( TEAM_COPS, COLOR_ORANGE, szCaught );                   SendMessageToTeam( TEAM_COPS, COLOR_ORANGE, szDrugC );                   SuspectPlayer( playerid );                   SuspectPlayer( iparam1 );               }           }           return 1;       }              if( IsStr( cmd, "/reqdrugs" ) == 1 )       {           new szReq[ 256 ];           format( szReq, sizeof( szReq ), "Player %s is in need of drugs!", GetPlayerCaption( playerid ) );           SendMessageToTeam( TEAM_DRUG, COLOR_WHITE, szReq );           return 1;       }              if( IsStr( cmd, "/usedrugs" ) == 1 )       {           if( PlayerUseDrugs( playerid ) )           {               if( IsCopInRange( playerid ) && gTeam[ playerid ] != TEAM_COPS )               {                   new szCaught[ 256 ];                   format( szCaught, sizeof( szCaught ), "%s was spotted doing drugs, arrest him!", GetPlayerCaption( playerid ) );                   SendClientMessage( playerid, COLOR_ORANGE, "A cop has spotted you using drugs, you are now a suspect!" );                   SendMessageToTeam( TEAM_COPS, COLOR_ORANGE, szCaught );                   SuspectPlayer( playerid );               }           }           return 1;       }              if( IsStr( cmd, "/register" ) == 1 )       {           RegisterPlayer( playerid, param1 );           return 1;       }              if( IsStr( cmd, "/login" ) == 1 )       {           LoginToServer( playerid, param1 );           return 1;       }	      	      if( IsStr( cmd, "/stats" ) == 1 )	      {	          EchoPlayerStats( playerid );	          return 1;	      }	      	      //-------------------------------------	      //admin only	             if( IsStr( cmd, "/sendcash" ) == 1 )       {           SendPlayerCash( playerid, iparam1, iparam2 );           return 1;       }	      	      if( IsStr( cmd, "/grav" ) == 1 )	      {	          AdjustGrav( playerid, floatstr( param1 ) );	          return 1;	      }	      	      if( IsStr( cmd, "/rgrav" ) == 1 )	      {	          RestoreGrav( playerid );	          return 1;	      }	      	      if( IsStr( cmd, "/time" ) == 1 )	      {	          AdjustTime( playerid, iparam1 );	          return 1;	      }	      	      if( IsStr( cmd, "/scar" ) == 1 )	      {	          SpawnVehicle( playerid, 522 );	          return 1;	      }	      	      if( IsStr( cmd, "/die" ) == 1 )	      {	          KillUser( playerid, iparam1 );	          return 1;	      }	      	      if( IsStr( cmd, "/buypl" ) == 1 )	      {	          BuyPilot( playerid );	          return 1;	      }	      	      if( IsStr( cmd, "/banacct" ) == 1 )	      {	          BanAccount( playerid, iparam1 );	          return 1;	      }	      	      if( IsStr( cmd, "/spawnobj" ) == 1 )	      {	          SpawnObject( playerid, iparam1 );	          return 1;	      }	      	      if( IsStr( cmd, "/sr" ) == 1 )	      {	          SpawnRamp( playerid, iparam1 );	          return 1;	      }	      	      if( IsStr( cmd, "/delobj" ) == 1 )	      {	          DeleteAllObjects( playerid );	          return 1;	      }	      	      if( IsStr( cmd, "/dso" ) == 1 )	      {	          DeleteSingleObject( playerid, iparam1 );	          return 1;	      }	      	      if( IsStr( cmd, "/jail" ) == 1 )	      {	          JailUser( playerid, iparam1, substr( substr( cmdtext, " " ), " " ) );	          return 1;	      }	      	      if( IsStr( cmd, "/ujail" ) == 1 )	      {	          UnjailUser( playerid, iparam1, substr( substr( cmdtext, " " ), " " ) );	          return 1;	      }	      	      if( IsStr( cmd, "/hittime" ) == 1 )	      {	          GetHitTime( playerid );	          return 1;	      }	      	      if( IsStr( cmd, "/tmsg" ) == 1 )	      {	          if( !strlen( param1 ) )	          {	              SendClientMessage( playerid, COLOR_RED, "Message too short.." );	              return 1;	          }	          	          new szMsg[ 256 ];	          new szFullMsg[ 256 ];	          format( szFullMsg, sizeof( szFullMsg ), "%s", substr( cmdtext, " " ) );	          format( szMsg, sizeof( szMsg ), "Team Message from %s: %s", GetPlayerCaption( playerid ), szFullMsg );	          SendMessageToTeam( gTeam[ playerid ], 0xFFFFFFFF, szMsg );	          return 1;	      }	      	      if( IsStr( cmd, "/teleid" ) == 1 )	      {	          TeleportPlayerToPlayer( playerid, iparam1 );	          return 1;	      }	      	      return 0;}public OnPlayerConnect(playerid){       IsAuth[ playerid ] = 0;       IsWarned[ playerid ] = 0;       IsWarnedTime[ playerid ] = 0;              if( udb_Exists( GetPlayerCaption( playerid ) ) == 1 )       {           new IsBanned = dUserINT( GetPlayerCaption( playerid ) ).( "banned" );                      if( IsBanned == 1 )           {               new szBan[ 256 ];               format( szBan, sizeof( szBan ), "%s was banned for an existing account ban.", GetPlayerCaption( playerid ) );               SendClientMessageToAll( COLOR_YELLOW, szBan );                              Ban( playerid );               Kick( playerid );           }                      IsWarned[ playerid ] = 1;           SendClientMessage( playerid, COLOR_YELLOW, "This nickname is registered and protected. If it is your nickname," );           SendClientMessage( playerid, COLOR_YELLOW, "type /login [password]. Otherwise, please choose a different nickname." );           SendClientMessage( playerid, COLOR_YELLOW, "You have 1 minute to log in." );           SetPlayerMoney( playerid, 0 );       }              GameTextForPlayer( playerid,"~r~DEDICATED AMERICAN SEX SERVER",2500,5 );       GivePlayerMoney( playerid, 200 );       SetPlayerColor( playerid, COLOR_YELLOW ); // Set the player's color to inactive       SendClientMessage( playerid, 0xFFFFFFFF, "Remember, type /info for the commands!!!" );       return 1;}public OnPlayerEnterCheckpoint( playerid ){       if( gTeam[ playerid ] == TEAM_DRUG )       {           if( GetPlayerMoney( playerid ) > 2000 )           {               SetPlayerMoney( playerid, GetPlayerMoney( playerid ) - 2000 );               OuncesOfCocaine[ playerid ]++;               OuncesOfCocaine[ playerid ]++;               OuncesOfCocaine[ playerid ]++;               SendClientMessage( playerid, COLOR_YELLOW, "You just bought 3 ounces of cocaine for $2000." );           }           else           {               SendClientMessage( playerid, COLOR_RED, "You need $2000 dollars to cop up." );           }       }	       if( gTeam[ playerid ] == TEAM_ROBBERS )	      {		         if( IsSuspect[ playerid ] == 1 || IsRobberySuspect[ playerid ] == 1 )		         {			            SendClientMessage( playerid, COLOR_GREEN, "You have been cleared of all charges." );               UnsuspectPlayer( playerid );           }           else		         {			            SendClientMessage( playerid, COLOR_RED, "You are not wanted...." );           }           JailTime[ playerid ] = 0;       }}public OnPlayerRequestClass(playerid, classid){       SetPlayerTeamFromClass(playerid, classid);       SetupPlayerForClassSelection(playerid);       gPlayerClass[playerid] = classid;       switch (classid)       {              case 0, 1, 2:              {                   GameTextForPlayer(playerid, "~b~Cops", 1000, 3);              }              case 3, 4, 5:              {				               GameTextForPlayer(playerid, "~r~Robbers", 1000, 3);              }		            case 6:			           {			                GameTextForPlayer( playerid, "~w~Drug Dealer", 1000, 3 );              }              case 7:              {                   GameTextForPlayer( playerid, "~w~Stunter", 1000, 3 );              }              case 8:              {                   GameTextForPlayer( playerid, "~g~Hitman", 1000, 3 );              }       }	      return 1;}public OnVehicleDeath(vehicleid, killerid){       printf( "OnVehicleDeath" );}public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger){       printf( "OnPlayerEnterVehicle" );}public OnPlayerStateChange(playerid, newstate, oldstate){       printf( "OnPlayerStateChange" );}public OnPlayerDeath(playerid, killerid, reason){       printf( "onPlayerDeath" );       if( gTeam[ killerid ] == TEAM_HITMAN )       {           if( HitmanTarget[ killerid ] == playerid )           {               new szPay[ 256 ];               new RandPayment = minrand( 6000, 300000 );               GivePlayerMoney( killerid, RandPayment );               format( szPay, sizeof( szPay ), "You were payed %i for a successful hit!" );               SendClientMessage( killerid, COLOR_YELLOW, szPay );               IsMarkDead[ killerid ] = 1;               SendClientMessage( killerid, COLOR_YELLOW, "You have 1 minute before HQ calls for your services again." );               SetPlayerMarkerForPlayer(killerid, playerid, GetPlayerTeamColor( playerid ));           }       }       if( gTeam[ killerid ] == TEAM_ROBBERS )       {	          if( killerid != playerid && IsPlayerConnected( killerid ) )	          {	              if( GetPlayerMoney( playerid ) > 4 )	              {		                 GivePlayerMoney( killerid, GetMoneyFraction( playerid, 2 ) );                   SetPlayerMoney( playerid, ( GetPlayerMoney( playerid ) - GetMoneyFraction( playerid, 2 ) ) );               }		         }       }	       if( gTeam[ killerid ] == TEAM_DRUG )	      {	          if( killerid != playerid && IsPlayerConnected( killerid ) )	          {	              if( GetPlayerMoney( playerid ) > 4 )	              {		                 GivePlayerMoney( killerid, GetMoneyFraction( playerid, 4 ) );                   SetPlayerMoney( playerid, ( GetPlayerMoney( playerid ) - GetMoneyFraction( playerid, 4 ) ) );               }		         }       }	       if( IsAuth[ killerid ] == 1 )	      {           SavePlayerStats( killerid );       }	       if( gTeam[ killerid ] == TEAM_COPS )       {           if( killerid != playerid && IsPlayerConnected( killerid ) )	          {               if( IsSuspect[ playerid ] == 1 )               {                   SendClientMessage( killerid, COLOR_ORANGE, "You killed a suspect! You recieve a $1200 bonus." );                   GivePlayerMoney( killerid, 1200 );               }           }       }	       if( gTeam[ playerid ] == TEAM_COPS )       {           if( IsSuspect[ killerid ] == 0 )           {               new szSuspect[ 256 ];               switch( gTeam[ killerid ] )               {                       case TEAM_ROBBERS:                       {                             format( szSuspect, sizeof( szSuspect ), "%s killed a police officer, calling all cars.", GetPlayerCaption( killerid ) );                       }                       case TEAM_COPS:                       {                            format( szSuspect, sizeof( szSuspect ), "%s has killed a fellow police officer, proceed with cation.", GetPlayerCaption( killerid ) );                       }                       case TEAM_DRUG:                       {                            format( szSuspect, sizeof( szSuspect ), "%s killed a police officer, calling all cars.", GetPlayerCaption( killerid ) );                       }                       case TEAM_STUNT:                       {                            format( szSuspect, sizeof( szSuspect ), "%s killed a police officer, calling all cars.", GetPlayerCaption( killerid ) );                       }                       case TEAM_HITMAN:                       {                            format( szSuspect, sizeof( szSuspect ), "%s killed a police officer, calling all cars.", GetPlayerCaption( killerid ) );                       }               }               if( SuspectPlayer( killerid ) == 1 )               {                   SendMessageToTeam( TEAM_COPS, COLOR_ORANGE, szSuspect );               }           }       }	       if( IsSuspect[ playerid ] == 1 )       {           IsSuspect[ playerid ] = 0;           SetPlayerColor( playerid, GetPlayerTeamColor( playerid ) );       }       GameTextForPlayer(playerid, "~r~Wasted!", 1000, 3);}public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid){   if (IsPlayerInAnyVehicle(playerid))   {      LinkVehicleToInterior(GetPlayerVehicleID(playerid), newinteriorid);   }   return 1;}public SetupPlayerForClassSelection(playerid){       SetPlayerInterior( playerid,9 );       SetPlayerFacingAngle(playerid,0.0);       SetPlayerPos(playerid,315.7802,972.0253,1961.8705);       SetPlayerCameraPos(playerid,315.7802,975.0253,1961.8705);       SetPlayerCameraLookAt(playerid,315.7802,972.0253,1961.8705);       return;}public SetPlayerTeamFromClass(playerid, classid){       if( classid == 0 || classid == 1 || classid == 2 )       {                  gTeam[playerid] = TEAM_COPS;		                SetPlayerColor(playerid,COLOR_BLUE);       }       else if( classid == 3 || classid == 4 || classid == 5 )       {	           gTeam[playerid] = TEAM_ROBBERS;            SetPlayerColor(playerid,COLOR_GREY);       }	      else if( classid == 6 )	      {	           gTeam[ playerid ] = TEAM_DRUG;	           SetPlayerColor( playerid, COLOR_WHITE );       }       else if( classid == 7 )       {            gTeam[ playerid ] = TEAM_STUNT;            SetPlayerColor( playerid, COLOR_LIGHTBLUE );       }       else if( classid == 8 )       {            gTeam[ playerid ] = TEAM_HITMAN;            SetPlayerColor( playerid, COLOR_GREEN );       }}public OnPlayerSpawn(playerid){       printf( "OnPlayerSpawn( %i )", playerid );       SetPlayerInterior( playerid, 0 );       IsRobberySuspect[ playerid ] = 0;       IsSuspect[ playerid ] = 0;       JailTime[ playerid ] = 0;	       if( gTeam[ playerid ] == TEAM_ROBBERS )       {           SetPlayerRandomSpawn(playerid);           SetPlayerCheckpoint( playerid, -232.9320, 2807.8496, 62.0547, 2.0 ); //robber hideout       }	       if( gTeam[ playerid ] == TEAM_DRUG )	      {	          SetPlayerRandomSpawn( playerid );	          SetPlayerCheckpoint( playerid, 2397.3181, 655.3246, 11.4609, 2.0 ); //buy drugs	          if( OuncesOfCocaine[ playerid ] == 0 )OuncesOfCocaine[ playerid ] = 2;       }              if( gTeam[ playerid ] == TEAM_COPS )       {           SetPlayerArmour( playerid, 100 );       }              if( gTeam[ playerid ] == TEAM_STUNT )       {           SetSpawnStunt( playerid );       }              if( gTeam[ playerid ] == TEAM_HITMAN )       {           SetPlayerRandomSpawn( playerid );           IsMarkDead[ playerid ] = 1;           HitmanWithoutTargetTime[ playerid ] = 60;       }              return 1;}public OnPlayerDisconnect(playerid){       if( IsAuth[ playerid ] == 1 )       {           SavePlayerStats( playerid );       }       return 1;}//=====================================================================================================//timers startpublic ScoreTimer( ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( IsPlayerConnected( i ) == 1 )            {                SetPlayerScore( i, GetPlayerMoney( i ) );            }       }}//=====================================================================================================public PingTimer( ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( IsPlayerConnected( i ) == 1 )            {                if( GetPlayerPing( i ) > MAX_PING )                {                    PingWarnings[ i ]++;                    if( PingWarnings[ i ] > 6 )                    {                        new szKick[ 256 ];                        format( szKick, sizeof( szKick ), "Removing player %s from the game ( max ping 600ms )", GetPlayerCaption( i ) );                        SendClientMessageToAll( COLOR_YELLOW, szKick );                        Kick( i );                    }                }            }       }}//=====================================================================================================public LoginTimer( ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( IsPlayerConnected( i ) == 1 )            {                if( IsWarned[ i ] == 1 && IsAuth[ i ] == 0 )                {                    IsWarnedTime[ i ] = ( IsWarnedTime[ i ] + ONE_SECOND );                    if( IsWarnedTime[ i ] > ( ONE_MINUTE * 2 ) )                    {                        new szKick[ 256 ];                        format( szKick, sizeof( szKick ), "Removing player %s from the game ( failed to login )", GetPlayerCaption( i ) );                        SendClientMessageToAll( COLOR_YELLOW, szKick );                        Kick( i );                    }                }            }       }}//=====================================================================================================public CountDownRobberyTimer( ){       for( new i = 0; i < MAX_PLAYERS; i++ )	      {		          if( HasRobberyStarted == 1 )		          {			             if( IsRobberySuspect[ i ] == 1 )			             {				                SendClientMessage( i, COLOR_RED, "The police have been notified to the robbery, get away quick!" );				                IsRobberySuspect[ i ] = 0;				                SuspectPlayer( i );                }            }       }	      SendMessageToTeam( TEAM_COPS, COLOR_RED, "*Police Dispatch* Robbery in progress, calling all cars." );       HasRobberyStarted = 0;}//=====================================================================================================public MonitorVehicles( ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( IsPlayerConnected( i ) == 1 )            {                if( IsPlayerInAnyVehicle( i ) == 1 )                {                    if( IsValidVehicle( i ) == 0 )                    {                        RemovePlayerFromVehicle( i );                    }                }            }       }}//=====================================================================================================public JailTimer( ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( IsPlayerConnected( i ) == 1 )            {                if( IsInJail[ i ] == 1 )                {                    if( JailTime[ i ] != 0 )                    {                        JailTime[ i ]--;                                                new szSay[ 256 ];                        format( szSay, sizeof( szSay ), "Wanted level %i, when it is 0 you will be released!", JailTime[ i ] );                        SendClientMessage( i, COLOR_YELLOW, szSay );                                                if( JailTime[ i ] < 1 )                        {                            SendClientMessage( i, COLOR_YELLOW, "You were released from jail!" );                            SetPlayerRandomSpawn( i );                        }                    }                }            }       }}//=====================================================================================================public StuntRestore( ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( IsPlayerConnected( i ) == 1 )            {                if( gTeam[ i ] == TEAM_STUNT )                {                    SetPlayerHealth( i, 100.0 );                    SetPlayerArmour( i, 100.0 );                    ResetPlayerWeapons( i );                    SetPlayerMoney( i, 0 );                                        if( IsPlayerDriver( i ) == 1 )                    {                        SetVehicleHealth( GetPlayerVehicleID( i ), 9999990.0 );                        SetVehicleNumberPlate( GetPlayerVehicleID( i ), "STUNT" );                        ChangeVehicleColor( GetPlayerVehicleID( i ), minrand( 0x00000000, 0xFFFFFFFF ), minrand( 0x00000000, 0xFFFFFFFF ));                    }                }            }       }}//=====================================================================================================public RandomHitmanTargetPlayer( ){       for( new i = 0; i < MAX_PLAYERS; i++ )       {            if( IsPlayerConnected( i ) == 1 )            {                if( gTeam[ i ] == TEAM_HITMAN )                {                    if( IsMarkDead[ i ] == 1 )                    {                        HitmanWithoutTargetTime[ i ]++;                        if( HitmanWithoutTargetTime[ i ] >= 60 )                        {                            if( GetNumberOfPlayers( ) <= 5 )                            {                                if( IsTooFewPlayers == 0 )                                {                                    SendClientMessage( i, COLOR_RED, "* HQ FAILED TO CALL * Too few players!" );                                    IsTooFewPlayers = 1;                                }                                else                                {                                    if( GetNumberOfPlayers( ) > 5 )                                    {                                        SendClientMessage( i, COLOR_YELLOW, "* HQ CALLS * There are enough players now!" );                                        IsTooFewPlayers = 0;                                        HitmanWithoutTargetTime[ i ] = 60;                                    }                                    else                                    {                                        HitmanWithoutTargetTime[ i ] = 0;                                    }                                }                            }                            else                            {                                HitmanTarget[ i ] = RandomPlayerID( );                                new szKill[ 256 ];                                format( szKill, sizeof( szKill ), "* HQ CALLS * We will reward you in the death of this man: %s", GetPlayerCaption( HitmanTarget[ i ] ) );                                SendClientMessage( i, COLOR_YELLOW, szKill );                                SetPlayerMarkerForPlayer( i, HitmanTarget[ i ], COLOR_RED);                                IsMarkDead[ i ] = 0;                            }                        }                    }                }            }       }}//=====================================================================================================