Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //SpeedCap.inc by WhatName.
- /*
- Credits to: WhatName for SpeedCap.inc, Nas for useful suggestions, Pottus for helping, Incognito for streamer and samp team for a-samp
- */
- #if defined _SpeedCap_included
- #endinput
- #define _SpeedCap_included
- #endif
- #if defined _inc_streamer
- #else
- #error "SpeedCap: please include streamer before SpeedCap."
- #endif
- /*
- native CreateSpeedCap(capid, Float:x, Float:y, Float:z, Float:radius, Float:speed_limit);
- native RemoveSpeedCap(capid);
- native RemoveAllSpeedCap();
- native GetSpeedCapSpeedLimit(capid);
- */
- #define MAX_SPEED_CAP 500
- enum INC_Speed_Limit
- {
- Float:sl_speed,
- sl_areaid
- }
- new SL_Speed[MAX_SPEED_CAP][INC_Speed_Limit];
- stock GetSpeedCapSpeedLimit(capid)
- {
- return floatround(SL_Speed[capid][sl_speed], floatround_round);
- }
- stock CreateSpeedCap(capid, Float:x, Float:y, Float:z, Float:radius, Float:speed_limit)
- {
- SL_Speed[capid][sl_speed] = speed_limit;
- SL_Speed[capid][sl_areaid] = CreateDynamicSphere(x, y, z, radius);
- return 1;
- }
- stock RemoveSpeedCap(capid)
- {
- SL_Speed[capid][sl_speed] = 0.0000;
- SL_Speed[capid][sl_areaid] = CreateDynamicSphere(-99999, -99999, -99999, -99999);
- return 1;
- }
- stock RemoveAllSpeedCap()
- {
- for(new sl_i = 0; sl_i < MAX_SPEED_CAP; sl_i++)
- {
- SL_Speed[sl_i][sl_speed] = 0.0000;
- SL_Speed[sl_i][sl_areaid] = CreateDynamicSphere(-99999, -99999, -99999, -99999);
- }
- return 1;
- }
- forward OnPlayerDriveFast(playerid, capid);
- sl_GetSpeed(playerid)
- {
- new Float:sl_vx, Float:sl_vy, Float:sl_vz;
- GetVehicleVelocity(GetPlayerVehicleID(playerid), sl_vx, sl_vy, sl_vz);
- return floatround(floatsqroot(floatabs(floatpower(sl_vx, 2) + floatpower(sl_vy, 2) + floatpower(sl_vz, 2)))*180.0000, floatround_round);
- }
- public OnPlayerEnterDynamicArea(playerid, areaid)
- {
- if(!INVALID_PLAYER_ID || !IsPlayerNPC(playerid))
- {
- new v_speed = sl_GetSpeed(playerid);
- for(new x = 0; x < MAX_SPEED_CAP;x++)
- {
- if(areaid == SL_Speed[x][sl_areaid])
- {
- if(GetPlayerVehicleID(playerid) != 0)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(v_speed > SL_Speed[x][sl_speed])
- {
- OnPlayerDriveFast(playerid, x);
- break;
- }
- }
- }
- }
- }
- }
- #if defined SL_OnPlayerEnterDyanmicArea
- SL_OnPlayerEnterDyanmicArea();
- #endif
- return 1;
- }
- #if defined _ALS_OnPlayerEnterDyanmicArea
- #undef OnPlayerEnterDyanmicArea
- #else
- #define _ALS_OnPlayerEnterDyanmicArea
- #endif
- #define OnPlayerEnterDyanmicArea SL_OnPlayerEnterDyanmicArea
- #if defined SL_OnPlayerEnterDyanmicArea
- forward SL_OnPlayerEnterDyanmicArea();
- #endif
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- printf("===========================================");
- printf("|| ||");
- printf("|| SpeedCap inc by Whatname loaded. ||");
- printf("|| ||");
- printf("===========================================");
- #if defined SL_OnFilterScriptInit
- SL_OnFilterScriptInit();
- #endif
- return 1;
- }
- #if defined _ALS_OnFilterScriptInit
- #undef OnFilterScriptInit
- #else
- #define _ALS_OnFilterScriptInit
- #endif
- #define OnFilterScriptInit SL_OnFilterScriptInit
- #if defined SL_OnFilterScriptInit
- forward SL_OnFilterScriptInit();
- #endif
- public OnFilterScriptExit()
- {
- RemoveAllSpeedCap();
- printf("=============================================");
- printf("|| ||");
- printf("|| SpeedCap inc by Whatname unloaded. ||");
- printf("|| ||");
- printf("=============================================");
- #if defined SL_OnFilterScriptExit
- SL_OnFilterScriptExit();
- #endif
- return 1;
- }
- #if defined _ALS_OnFilterScriptExit
- #undef OnFilterScriptExit
- #else
- #define _ALS_OnFilterScriptExit
- #endif
- #define OnFilterScriptExit SL_OnFilterScriptExit
- #if defined SL_OnFilterScriptExit
- forward SL_OnFilterScriptExit();
- #endif
- #else
- public OnGameModeInit()
- {
- printf("===========================================");
- printf("|| ||");
- printf("|| SpeedCap inc by Whatname loaded. ||");
- printf("|| ||");
- printf("===========================================");
- #if defined SL_OnGameModeInit
- SL_OnGameModeInit();
- #endif
- return 1;
- }
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit SL_OnGameModeInit
- #if defined SL_OnGameModeInit
- forward SL_OnGameModeInit();
- #endif
- public OnGameModeExit()
- {
- RemoveAllSpeedCap();
- printf("=============================================");
- printf("|| ||");
- printf("|| SpeedCap inc by Whatname unloaded. ||");
- printf("|| ||");
- printf("=============================================");
- #if defined SL_OnGameModeExit
- SL_OnGameModeExit();
- #endif
- return 1;
- }
- #if defined _ALS_OnGameModeExit
- #undef OnGameModeExit
- #else
- #define _ALS_OnGameModeExit
- #endif
- #define OnGameModeExit SL_OnGameModeExit
- #if defined SL_OnGameModeExit
- forward SL_OnGameModeExit();
- #endif
- #endif
- //EOF.
Advertisement
Add Comment
Please, Sign In to add comment