Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- //speedlock
- new LockedSpeed[MAX_VEHICLES];
- new HatSpeedLockAn[MAX_VEHICLES];
- new SpeedLockTimer[MAX_VEHICLES];
- public OnPlayerExitVehicle(playerid,vehicleid)
- {
- new v = GetPlayerVehicleID(playerid);
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(HatSpeedLockAn[v] == 1)
- {
- LockedSpeed[v] = 0;
- HatSpeedLockAn[v] = 0;
- KillTimer(SpeedLockTimer[v]);
- }
- }
- }
- public OnVehicleSpawn(vehicleid)
- {
- HatSpeedLockAn[vehicleid] = 0;
- LockedSpeed[vehicleid] = 0;
- SpeedLockTimer[vehicleid] = 0;
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- new v = GetPlayerVehicleID(playerid);
- if(newstate == PLAYER_STATE_DRIVER)
- {
- if(HatSpeedLockAn[v] == 1)
- {
- KillTimer(SpeedLockTimer[v]);
- HatSpeedLockAn[v] = 0;
- SendClientMessage(playerid,0x00FF00,"SpeedLock automatisch Deaktiviert!");
- }
- }
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- new v = GetPlayerVehicleID(playerid);
- if(newkeys == KEY_YES)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(HatSpeedLockAn[v] == 0)
- {
- HatSpeedLockAn[v] = 1;
- LockedSpeed[v] = GetVehicleSpeed(v);
- SpeedLockTimer[v] = SetTimerEx("SpeedLock",500,1,"i",v);
- SendClientMessage(playerid,0x00FF00,"SpeedLock Aktiviert!");
- }
- else if(HatSpeedLockAn[v] == 1)
- {
- KillTimer(SpeedLockTimer[v]);
- HatSpeedLockAn[v] = 0;
- SendClientMessage(playerid,0x00FF00,"SpeedLock Deaktiviert!");
- }
- }
- }
- if(newkeys == KEY_HANDBRAKE)
- {
- if(HatSpeedLockAn[v] == 1)
- {
- KillTimer(SpeedLockTimer[v]);
- HatSpeedLockAn[v] = 0;
- SendClientMessage(playerid,0x00FF00,"SpeedLock durch bremsen deaktiviert!");
- }
- }
- return 1;
- }
- //==============SPEED LOCK FUNKTION===================
- forward SpeedLock(vehicleid);
- public SpeedLock(vehicleid)
- {
- if(HatSpeedLockAn[vehicleid] == 1)
- {
- SetVehicleSpeed(vehicleid,LockedSpeed[vehicleid]);
- }
- return 1;
- }
- //==============GETVEHICLE SPEED FUNK==================
- stock GetVehicleSpeed(vehicleid)
- {
- new Float:X,Float:Y,Float:Z;
- new Float:Speed;
- GetVehicleVelocity(vehicleid, X, Y, Z);
- Speed = floatsqroot(X*X + Y*Y + Z*Z)*200;
- new dd;
- dd = floatround(Speed);
- return dd;
- }
- stock SetVehicleSpeed(vehicleid, Float:speed)
- {
- new Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:a;
- GetVehicleVelocity(vehicleid, x1, y1, z1);
- GetVehiclePos(vehicleid, x2, y2, z2);
- GetVehicleZAngle(vehicleid, a); a = 360 - a;
- x1 = (floatsin(a, degrees) * (speed/200) + floatcos(a, degrees) * 0 + x2) - x2;
- y1 = (floatcos(a, degrees) * (speed/200) + floatsin(a, degrees) * 0 + y2) - y2;
- SetVehicleVelocity(vehicleid, x1, y1, z1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement