26.09.2012, 22:54
this Code work good but when i try it in game not work can someone help me
itry to change but got error it's Start Engine Press Shift iwant to change it so can someone help and change the Key shift to Another One
itry to change but got error it's Start Engine Press Shift iwant to change it so can someone help and change the Key shift to Another One
PHP код:
// [FS] Engine System v3
// Made by Joe Torran C
// Credits to JeNkStA 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:radi, playerid, string[],col1,col2,col3,col4,col5);
public OnFilterScriptInit()
{
print("-------------------------------------");
print("-----Engine System By Andybtv-----");
new Car;
for(Car=0;Car<MAX_VEHICLES;Car++)
return 1;
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/exitcar", cmdtext, true, 10) == 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(playerid, newstate, oldstate)
{
new CarID = GetPlayerVehicleID(playerid);
new CarMod = GetVehicleModel(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
if(VehicleStarted[CarID] == 0 && 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: Shift");
}else{
SCM(playerid,0x80FF80FF,"* The Engine Is Already Running!");
}
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if((newkeys & (KEY_SECONDARY_ATTACK)) == (KEY_SECONDARY_ATTACK))
{
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(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s attempts to start the Engine.", sendername);
ProxDetector(30.0, playerid, string, COLOR_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(playerid, vehicleid)
{
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", 1000, 1);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s starts the Engine.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
case 10:
{
new string[256];
SendClientMessage(playerid,0xFF1C1CFF,"* Engine Failed To Start!");
format(string, sizeof(string), "* %s fails to start the Engine.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
}
}
}
return 1;
}
public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
if(IsPlayerConnected(playerid))
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!BigEar[i])
{
GetPlayerPos(i, posx, posy, posz);
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(i, col1, string);
}
else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
{
SendClientMessage(i, col2, string);
}
else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
{
SendClientMessage(i, col3, string);
}
else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
{
SendClientMessage(i, col4, string);
}
else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
SendClientMessage(i, col5, string);
}
}
else
{
SendClientMessage(i, col1, string);
}
}
}
}
return 1;
}
strtok(const string[], &index, const seperator[] = " ")
{
new index2, result[30];
index2 = strfind(string, seperator, false, index);
if(index2 == -1)
{
if(strlen(string) > index)
{
strmid(result, string, index, strlen(string), 30);
index = strlen(string);
}
return result;
}
if(index2 > (index + 29))
{
index2 = index + 29;
strmid(result, string, index, index2, 30);
index = index2;
return result;
}
strmid(result, string, index, index2, 30);
index = index2 + 1;
return result;
}