Engine help
#5

here is the Code if that will help
PHP код:
    // [FS] Engine System v3
    // Made J/Changes by Mika 
    // Credits J/for helping me fix some stuff
    // DO NOT REMOVE THESE CREDITS
    #include <a_samp>
    #pragma tabsize 0
    #include <zcmd>
#define SCM SendClientMessage
#define COLOR_PURPLE 0xC2A2DAAA
new VehicleStarted[MAX_VEHICLES];
new 
sendername[MAX_PLAYER_NAME];
new 
BigEar[MAX_PLAYERS];
forward Starting(playerid);
forward ProxDetector(Float:radiplayeridstring[],col1,col2,col3,col4,col5);
public 
OnFilterScriptInit()
{
print(
"-------------------------------------");
print(
"-----Engine System By Mika-----");
new 
Car;
for(
Car=0;Car<MAX_VEHICLES;Car++)
return 
1;
return 
1;
}
public 
OnFilterScriptExit()
{
return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
if(
strcmp("/exitcar"cmdtexttrue10) == 0)
{
  if(
IsPlayerConnected(playerid))
  {
 if(
IsPlayerInAnyVehicle(playerid))
 {
     
RemovePlayerFromVehicle(playerid);
     
SCM(playerid,0xFFFF00AA,"* You left the vehicle.");
     
TogglePlayerControllable(playerid,1);
     }else{
     
SCM(playerid,0xFFFF00AA,"* You are not in a vehicle!");
     }
    }
       return 
1;
}
return 
0;
}
public 
OnPlayerStateChange(playeridnewstateoldstate)
{
new 
CarID GetPlayerVehicleID(playerid);
new 
CarMod GetVehicleModel(playerid);
if(
newstate == PLAYER_STATE_DRIVER)
{
   if(
VehicleStarted[CarID] == && CarMod != 510 && CarMod != 509 && CarMod != 481)
   {
   if(
GetVehicleModel(GetPlayerVehicleID(playerid)) == 510 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 509 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 481){
   return 
1;
   }
   
TogglePlayerControllable(playerid,0);
   
SCM(playerid,0x950000FF,"* Please Start The Engine Use Key: Y Or Press /engine");
   }else{
   
SCM(playerid,0x80FF80FF,"* The Engine Is Already Running!");
}
}
return 
1;
}
public 
OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
if((
newkeys & (KEY_YES )) == (KEY_YES))
{
if(
IsPlayerInAnyVehicle(playerid))
{
if(
IsPlayerConnected(playerid))
{
           new 
Vehicle GetPlayerVehicleID(playerid);
           if(
VehicleStarted[Vehicle] == 0)
         {
      
RemovePlayerFromVehicle(playerid);
      
SCM(playerid,0x0000FFFF,"* You Leave The Vehicle And Switch Off The Engine.");
      
TogglePlayerControllable(playerid,1);
   }
}
}
}
if(
newkeys == KEY_JUMP)
{
if(
IsPlayerInAnyVehicle(playerid))
  {
         if(
IsPlayerConnected(playerid))
{
if(
GetVehicleModel(GetPlayerVehicleID(playerid)) == 510 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 509 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 481){
return 
1;
}
new 
Vehicle GetPlayerVehicleID(playerid);
   if(
VehicleStarted[Vehicle] == 0)
   {
   new 
string[256];
   
SCM(playerid,0x80FF80FF,"* Starting Engine...");
  
GetPlayerName(playeridsendernamesizeof(sendername));
   
format(stringsizeof(string), "* %s attempts to start the Engine."sendername);
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
   
GameTextForPlayer(playerid,"~n~~n~~n~~n~~n~~n~~n~~g~Starting vehicle...",3000,3);
   
SetTimerEx("Starting",3500,0,"i",playerid);
}
}
}
    }
return 
1;
}
public 
OnPlayerExitVehicle(playeridvehicleid)
{
    
TogglePlayerControllable(playerid,1);
    new 
Vehicle GetPlayerVehicleID(playerid);
    
VehicleStarted[Vehicle] = 0;
    return 
1;
}
public 
Starting(playerid)
{
new 
Vehicle GetPlayerVehicleID(playerid);
new 
RandomStart;
    if(
IsPlayerConnected(playerid))
    {
if(
IsPlayerInAnyVehicle(playerid))
       {
RandomStart random(10);
            switch(
RandomStart)
            {
  case 
0,1,2,3,4,5,6,7,8,9:
  {
     new 
string[256];
               
VehicleStarted[Vehicle] = 1;
               
TogglePlayerControllable(playerid,1);
           
GameTextForPlayer(playerid,"~r~Engine Started"10001);
   
GetPlayerName(playeridsendernamesizeof(sendername));
               
format(stringsizeof(string), "* %s starts the Engine."sendername);
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                }
               case 
10:
               {
                  new 
string[256];
               
SendClientMessage(playerid,0xFF1C1CFF,"* Engine Failed To Start!");
               
format(stringsizeof(string), "* %s fails to start the Engine."sendername);
ProxDetector(30.0playeridstringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
               }
       }
       }
    }
    return 
1;
}
public 
ProxDetector(Float:radiplayeridstring[],col1,col2,col3,col4,col5)
{
if(
IsPlayerConnected(playerid))
{
new 
Float:posxFloat:posyFloat:posz;
new 
Float:oldposxFloat:oldposyFloat:oldposz;
new 
Float:tempposxFloat:tempposyFloat:tempposz;
GetPlayerPos(playeridoldposxoldposyoldposz);
for(new 
0MAX_PLAYERSi++)
{
if(
IsPlayerConnected(i))
{
if(!
BigEar[i])
{
GetPlayerPos(iposxposyposz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
if (((
tempposx radi/16) && (tempposx > -radi/16)) && ((tempposy radi/16) && (tempposy > -radi/16)) && ((tempposz radi/16) && (tempposz > -radi/16)))
{
SendClientMessage(icol1string);
}
else if (((
tempposx radi/8) && (tempposx > -radi/8)) && ((tempposy radi/8) && (tempposy > -radi/8)) && ((tempposz radi/8) && (tempposz > -radi/8)))
{
SendClientMessage(icol2string);
}
else if (((
tempposx radi/4) && (tempposx > -radi/4)) && ((tempposy radi/4) && (tempposy > -radi/4)) && ((tempposz radi/4) && (tempposz > -radi/4)))
{
SendClientMessage(icol3string);
}
else if (((
tempposx radi/2) && (tempposx > -radi/2)) && ((tempposy radi/2) && (tempposy > -radi/2)) && ((tempposz radi/2) && (tempposz > -radi/2)))
{
SendClientMessage(icol4string);
}
else if (((
tempposx radi) && (tempposx > -radi)) && ((tempposy radi) && (tempposy > -radi)) && ((tempposz radi) && (tempposz > -radi)))
{
SendClientMessage(icol5string);
}
}
else
{
SendClientMessage(icol1string);
}
}
}
}
return 
1;
}
strtok(const string[], &index, const seperator[] = " ")
{
new 
index2result[30];
index2 =  strfind(stringseperatorfalseindex);
if(
index2 == -1)
{
if(
strlen(string) > index)
{
strmid(resultstringindexstrlen(string), 30);
index strlen(string);
}
return 
result;
}
if(
index2 > (index 29))
{
index2 index 29;
strmid(resultstringindexindex230);
index index2;
return 
result;
}
strmid(resultstringindexindex230);
index index2 1;
return 
result;

Reply


Messages In This Thread
Engine help - by adelmika - 26.09.2012, 22:54
Re: Engine help - by Scrillex - 26.09.2012, 23:09
Re: Engine help - by West X - 26.09.2012, 23:13
Re: Engine help - by adelmika - 27.09.2012, 00:00
Re: Engine help - by adelmika - 27.09.2012, 00:07
Re: Engine help - by West X - 27.09.2012, 00:19

Forum Jump:


Users browsing this thread: 1 Guest(s)