Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ========================================================================== //
- /*
- B E N Z I N S Y S T E M
- @Author: tayloR
- 31/7/2021
- */
- // ========================================================================== //
- // >> INCLUDES
- #include <a_samp>
- // ========================================================================== //
- // >> MAIN
- main() { }
- // ========================================================================== //
- // >> DEFINES, podesavate koliko zelite da se moze prosuti kapi benzina
- #define KAPI_BENZINA 40
- // ========================================================================== //
- // >> PLAYER VARIABLES
- new bool:_postavioBure[MAX_PLAYERS],
- _bureObject[MAX_PLAYERS],
- _bureBenzin[MAX_PLAYERS][KAPI_BENZINA],
- _counter[MAX_PLAYERS];
- // ========================================================================== //
- // >> PUBLICS
- public OnPlayerConnect(playerid) {
- GameTextForPlayer(playerid,"~w~Benzin SYSTEM~n~Script by tayloR",5000,5);
- return 1;
- }
- public OnPlayerDisconnect(playerid) {
- reset_bureVariables(playerid);
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[]) {
- new idx;
- new cmd[256];
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmd, "/postavibure", true) == 0) {
- if(_postavioBure[playerid])
- return SendClientMessage(playerid, -1, "Vec si postavio bure!");
- reset_bureVariables(playerid);
- _postavioBure[playerid] = true;
- SetPlayerAttachedObject( playerid, 8, 1650, 6, 0.145482, 0.035119, 0.040793, 8.881844, 276.183959, 329.795593, 1.561557, 1.177534, 1.265636 );
- SendClientMessage(playerid, -1, "Uspjesno si postavio bure, sada se kreci kako bi sipao benzin!");
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X,Y,Z);
- _bureObject[playerid] = CreateObject(3046, X,Y,Z-0.5, -90,0,0);
- SetPlayerPos(playerid, X+1,Y,Z);
- return 1;
- }
- return 0;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerInterior(playerid,0);
- TogglePlayerClock(playerid,0);
- return 1;
- }
- public OnPlayerUpdate(playerid) {
- if(_postavioBure[playerid] && _counter[playerid] < KAPI_BENZINA) {
- if(!IsPlayerInAnyVehicle(playerid) && GetSpeed(playerid) > 15) {
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X,Y,Z);
- _bureBenzin[playerid][_counter[playerid]] = CreateObject(19836, X,Y,Z-0.95, 0,0,0);
- _counter[playerid] ++;
- if(_counter[playerid] >= KAPI_BENZINA-1) {
- RemovePlayerAttachedObject(playerid, 8);
- _postavioBure[playerid] = false;
- SetTimerEx("_benzinFire", 500, false, "i", playerid);
- }
- }
- }
- return 1;
- }
- public OnGameModeInit()
- {
- SetGameModeText("Benzin system");
- ShowPlayerMarkers(1);
- ShowNameTags(1);
- AddPlayerClass(265,0,0,0+5,270.1425,0,0,0,0,-1,-1);
- printf(" >> 'Benzin system' gamemode loaded << ");
- printf(" >> Script by tayloR << ");
- return 1;
- }
- // ========================================================================== //
- // >> FUNCTIONS
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- reset_bureVariables(playerid) {
- _postavioBure[playerid] = false;
- for(new i = 0; i < KAPI_BENZINA; i++) DestroyObject(_bureBenzin[playerid][i]), _bureBenzin[playerid][i] = 0;
- _bureObject[playerid] = 0; DestroyObject(_bureObject[playerid]);
- _counter[playerid] = 0;
- return 1;
- }
- forward GetSpeed(playerid);
- public GetSpeed(playerid) {
- new Float:ST[4];
- if(IsPlayerInAnyVehicle( playerid ))
- GetVehicleVelocity(GetPlayerVehicleID( playerid ),ST[0],ST[1],ST[2]);
- else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
- ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 178.8617875;
- return floatround(ST[3]);
- }
- forward _benzinFire(playerid);
- public _benzinFire(playerid) {
- new i = _counter[playerid],
- Float:x, Float:y, Float:z;
- if(i<0) {
- GetObjectPos(_bureObject[playerid], x, y, z);
- DestroyObject(_bureObject[playerid]);
- CreateExplosion(x, y, z, 10, 10.0);
- }
- else {
- GetObjectPos(_bureBenzin[playerid][i], x, y, z);
- DestroyObject(_bureBenzin[playerid][i]);
- _bureBenzin[playerid][i] = CreateObject(18689, x,y,z-1.6, 0,0,0);
- SetTimerEx("_benzinVatra", 500, false, "ii", playerid, i);
- _counter[playerid] -- ;
- return SetTimerEx("_benzinFire", 300, false, "i", playerid);
- }
- return 1;
- }
- forward _benzinVatra(playerid, a);
- public _benzinVatra(playerid, a) {
- DestroyObject(_bureBenzin[playerid][a]);
- return 1;
- }
- // ========================================================================== //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement