Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define RED 0xAA3333AA
- #define GREEN 0x00FF00AA
- #define TEMPSDELARAMP 2000
- #define defaultramp 1632
- #define ramp1 1503
- #define ramp2 1660
- #define ramp3 1245
- #define ramp4 1631
- #define ramp5 1655
- #define normalboost 1.2
- #define plusboost 1.5
- #define megaboost 2.0
- #define DIARAMP 256
- #define DIABOOST 257
- #define DIAVEH 258
- #define TAILLE_PLAN_BOOST 1.5
- #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
- forward Keys();
- forward RemoveRamp(playerid);
- forward Float:GetOptimumRampDistance(playerid);
- forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance);
- new keydown[MAX_PLAYERS] = {false, ...};
- new rampid[MAX_PLAYERS] = {-1, ...};
- new rampa[MAX_PLAYERS];
- new Boost[MAX_PLAYERS];
- new TypeRamp[MAX_PLAYERS];
- new Float:BOOST_POS[MAX_PLAYERS][3];
- new Float:TypeBoost[MAX_PLAYERS];
- new Float:Save_OnePos[MAX_PLAYERS][4];
- new Float:Save_TwoPos[MAX_PLAYERS][4];
- new Float:Save_ThrPos[MAX_PLAYERS][4];
- new SpawnCar[MAX_PLAYERS];
- public OnFilterScriptInit()
- {
- print(" FS rampsV2 by Cristab");
- return 1;
- }
- Float:GetOptimumRampDistance(playerid)
- {
- new ping = GetPlayerPing(playerid), Float:dist;
- dist = floatpower(ping, 0.25);
- dist = dist*4.0;
- dist = dist+5.0;
- return dist;
- }
- Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
- {
- new Float:a;
- GetPlayerPos(playerid, x, y, a);
- if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
- else GetPlayerFacingAngle(playerid, a);
- x += (distance * floatsin(-a, degrees));
- y += (distance * floatcos(-a, degrees));
- return a;
- }
- stock CCar(playerid,mod)
- {
- new Float:xX,Float:yY,Float:zZ,Float:aA;
- if(!IsPlayerInAnyVehicle(playerid))
- {
- GetPlayerPos(playerid,xX,yY,zZ);
- GetPlayerFacingAngle(playerid,aA);
- if(SpawnCar[playerid] == -1)
- {
- SpawnCar[playerid] = CreateVehicle(mod,xX,yY,zZ,aA,-1,-1,-1);
- PutPlayerInVehicle(playerid,SpawnCar[playerid],0);
- }
- else
- {
- DestroyVehicle(SpawnCar[playerid]);
- SpawnCar[playerid] = CreateVehicle(mod,xX,yY,zZ,aA,-1,-1,-1);
- PutPlayerInVehicle(playerid,SpawnCar[playerid],0);
- }
- }
- else
- {
- SetVehicleToRespawn(GetPlayerVehicleID(playerid));
- GetVehiclePos(GetPlayerVehicleID(playerid),xX,yY,zZ);
- GetVehicleZAngle(GetPlayerVehicleID(playerid),aA);
- if(SpawnCar[playerid] == -1)
- {
- SpawnCar[playerid] = CreateVehicle(mod,xX,yY,zZ,aA,-1,-1,-1);
- PutPlayerInVehicle(playerid,SpawnCar[playerid],0);
- }
- else
- {
- DestroyVehicle(SpawnCar[playerid]);
- SpawnCar[playerid] = CreateVehicle(mod,xX,yY,zZ,aA,-1,-1,-1);
- PutPlayerInVehicle(playerid,SpawnCar[playerid],0);
- }
- }
- }
- public OnFilterScriptExit()
- {
- for(new i=0; i < MAX_PLAYERS;i++)
- {
- rampa[i] = 0;
- Boost[i] = 0;
- rampid[i] = -1;
- TypeRamp[i] = -1;
- BOOST_POS[i][0] = -1;
- BOOST_POS[i][1] = -1;
- BOOST_POS[i][2] = -1;
- TypeBoost[i] = 0.0;
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- rampa[playerid] = 0;
- Boost[playerid] = 0;
- rampid[playerid] = -1;
- TypeRamp[playerid] = -1;
- BOOST_POS[playerid][0] = -1;
- BOOST_POS[playerid][1] = -1;
- BOOST_POS[playerid][2] = -1;
- TypeBoost[playerid] = normalboost;
- Save_OnePos[playerid][0] = 0.0;
- Save_OnePos[playerid][1] = 0.0;
- Save_OnePos[playerid][2] = 0.0;
- Save_OnePos[playerid][3] = 0.0;
- Save_TwoPos[playerid][0] = 0.0;
- Save_TwoPos[playerid][1] = 0.0;
- Save_TwoPos[playerid][2] = 0.0;
- Save_TwoPos[playerid][3] = 0.0;
- Save_ThrPos[playerid][0] = 0.0;
- Save_ThrPos[playerid][1] = 0.0;
- Save_ThrPos[playerid][2] = 0.0;
- Save_ThrPos[playerid][3] = 0.0;
- SpawnCar[playerid] = -1;
- return 1;
- }
- public OnPlayerDisconnect(playerid,reason)
- {
- if(SpawnCar[playerid] != -1)
- {
- DestroyVehicle(SpawnCar[playerid]);
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- new Float:rb_x,Float:rb_y,Float:rb_z;
- GetVehicleVelocity(GetPlayerVehicleID(playerid),rb_x,rb_y,rb_z);
- SetVehicleVelocity(GetPlayerVehicleID(playerid),rb_x * TypeBoost[playerid],rb_y * TypeBoost[playerid],rb_z * TypeBoost[playerid]);
- DisablePlayerCheckpoint(playerid);
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp(cmdtext, "/ramp", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid,RED,"Vous n'êtes pas dans un vehicule");
- return 1;
- }
- if (rampa[playerid] == 1)
- {
- rampa[playerid] = 0;
- SendClientMessage(playerid,RED,"Vous desactivez les ramps");
- }
- else
- {
- rampa[playerid] = 1;
- SendClientMessage(playerid,GREEN,"vous activez les ramps");
- TypeRamp[playerid] = defaultramp;
- }
- return 1;
- }
- if(strcmp(cmdtext, "/br", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid,RED,"Vous n'êtes pas dans un vehicule");
- return 1;
- }
- if(Boost[playerid] == 0)
- {
- SendClientMessage(playerid,GREEN,"Vous activer le boost au rampe");
- Boost[playerid] = 1;
- }
- else
- {
- Boost[playerid] = 0;
- SendClientMessage(playerid,RED,"Vous desactiver le boost au rampe");
- }
- return 1;
- }
- if(strcmp(cmdtext, "/rampid", true) == 0)
- {
- if(rampa[playerid] == 1)
- {
- ShowPlayerDialog(playerid,DIARAMP,DIALOG_STYLE_LIST,"Choix de la Rampe by Cristab","Ramp 1\nRamp 2\nRamp 3\nRamp 4\nRamp 5\nRamp 6","ok","annul");
- }
- else
- {
- SendClientMessage(playerid,RED,"Vos rampes ne sont pas activer.");
- }
- return 1;
- }
- if(strcmp(cmdtext, "/pb", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid,RED,"Vous n'êtes pas dans un vehicule");
- return 1;
- }
- new Float:XB,Float:YB,Float:ZB,Float:cX,Float:cY,Float:cZ;
- GetPlayerPos(playerid,XB,YB,ZB);
- GetPlayerCameraPos(playerid, cX, cY, cZ);
- SetVehiclePos(GetPlayerVehicleID(playerid),cX, cY,ZB);
- BOOST_POS[playerid][0] = XB;
- BOOST_POS[playerid][1] = YB;
- BOOST_POS[playerid][2] = ZB;
- SetPlayerCheckpoint(playerid,BOOST_POS[playerid][0],BOOST_POS[playerid][1],BOOST_POS[playerid][2],TAILLE_PLAN_BOOST);
- return 1;
- }
- if(strcmp(cmdtext, "/tb", true) == 0)
- {
- ShowPlayerDialog(playerid,DIABOOST,DIALOG_STYLE_LIST,"Choix du BOOST by Cristab","Normal Boost\nPlus Boost\nBig Boost","ok","annul");
- return 1;
- }
- if(strcmp(cmdtext, "/veh", true) == 0)
- {
- ShowPlayerDialog(playerid,DIAVEH,DIALOG_STYLE_LIST,"Choix d'un vehicule by Cristab","Infernus\npacker\nnrg\nfreeway\nbullet\nelegy\nsultant","ok","annul");
- return 1;
- }
- if(strcmp(cmdtext, "/s1", true) == 0)
- {
- new Float:xX,Float:yY,Float:zZ,Float:aA;
- if(!IsPlayerInAnyVehicle(playerid))
- {
- GetPlayerPos(playerid,xX,yY,zZ);
- GetPlayerFacingAngle(playerid,aA);
- Save_OnePos[playerid][0] = xX;
- Save_OnePos[playerid][1] = yY;
- Save_OnePos[playerid][2] = zZ;
- Save_OnePos[playerid][3] = aA;
- }
- else
- {
- GetVehiclePos(GetPlayerVehicleID(playerid),xX,yY,zZ);
- GetVehicleZAngle(GetPlayerVehicleID(playerid),aA);
- Save_OnePos[playerid][0] = xX;
- Save_OnePos[playerid][1] = yY;
- Save_OnePos[playerid][2] = zZ;
- Save_OnePos[playerid][3] = aA;
- }
- return 1;
- }
- if(strcmp(cmdtext, "/s2", true) == 0)
- {
- new Float:xX,Float:yY,Float:zZ,Float:aA;
- if(!IsPlayerInAnyVehicle(playerid))
- {
- GetPlayerPos(playerid,xX,yY,zZ);
- GetPlayerFacingAngle(playerid,aA);
- Save_TwoPos[playerid][0] = xX;
- Save_TwoPos[playerid][1] = yY;
- Save_TwoPos[playerid][2] = zZ;
- Save_TwoPos[playerid][3] = aA;
- }
- else
- {
- GetVehiclePos(GetPlayerVehicleID(playerid),xX,yY,zZ);
- GetVehicleZAngle(GetPlayerVehicleID(playerid),aA);
- Save_TwoPos[playerid][0] = xX;
- Save_TwoPos[playerid][1] = yY;
- Save_TwoPos[playerid][2] = zZ;
- Save_TwoPos[playerid][3] = aA;
- }
- return 1;
- }
- if(strcmp(cmdtext, "/s3", true) == 0)
- {
- new Float:xX,Float:yY,Float:zZ,Float:aA;
- if(!IsPlayerInAnyVehicle(playerid))
- {
- GetPlayerPos(playerid,xX,yY,zZ);
- GetPlayerFacingAngle(playerid,aA);
- Save_ThrPos[playerid][0] = xX;
- Save_ThrPos[playerid][1] = yY;
- Save_ThrPos[playerid][2] = zZ;
- Save_ThrPos[playerid][3] = aA;
- }
- else
- {
- GetVehiclePos(GetPlayerVehicleID(playerid),xX,yY,zZ);
- GetVehicleZAngle(GetPlayerVehicleID(playerid),aA);
- Save_ThrPos[playerid][0] = xX;
- Save_ThrPos[playerid][1] = yY;
- Save_ThrPos[playerid][2] = zZ;
- Save_ThrPos[playerid][3] = aA;
- }
- return 1;
- }
- if(strcmp(cmdtext, "/r1", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SetPlayerPos(playerid,Save_OnePos[playerid][0],Save_OnePos[playerid][1],Save_OnePos[playerid][2]);
- SetPlayerFacingAngle(playerid,Save_OnePos[playerid][3]);
- }
- else
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),Save_OnePos[playerid][0],Save_OnePos[playerid][1],Save_OnePos[playerid][2]);
- SetVehicleZAngle(GetPlayerVehicleID(playerid),Save_OnePos[playerid][3]);
- }
- return 1;
- }
- if(strcmp(cmdtext, "/r2", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SetPlayerPos(playerid,Save_TwoPos[playerid][0],Save_TwoPos[playerid][1],Save_TwoPos[playerid][2]);
- SetPlayerFacingAngle(playerid,Save_TwoPos[playerid][3]);
- }
- else
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),Save_TwoPos[playerid][0],Save_TwoPos[playerid][1],Save_TwoPos[playerid][2]);
- SetVehicleZAngle(GetPlayerVehicleID(playerid),Save_TwoPos[playerid][3]);
- }
- return 1;
- }
- if(strcmp(cmdtext, "/r3", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SetPlayerPos(playerid,Save_ThrPos[playerid][0],Save_ThrPos[playerid][1],Save_ThrPos[playerid][2]);
- SetPlayerFacingAngle(playerid,Save_ThrPos[playerid][3]);
- }
- else
- {
- SetVehiclePos(GetPlayerVehicleID(playerid),Save_ThrPos[playerid][0],Save_ThrPos[playerid][1],Save_ThrPos[playerid][2]);
- SetVehicleZAngle(GetPlayerVehicleID(playerid),Save_ThrPos[playerid][3]);
- }
- return 1;
- }
- if(strcmp(cmdtext, "/raide", true) == 0)
- {
- SendClientMessage(playerid,RED,"===============================================================");
- SendClientMessage(playerid,GREEN," Bienvenue dans l'aide pour le FS rampV2 by Cristab ");
- SendClientMessage(playerid,GREEN,"/ramp pour activer vos ramp appuiyer sur la touche action pour les spawn");
- SendClientMessage(playerid,GREEN,"/br afin d'activer le boost au niveau des ramps");
- SendClientMessage(playerid,GREEN,"/rampid afin de choisir votre ramp parmis 6 choix");
- SendClientMessage(playerid,GREEN,"/pb afin de vous mettre un point de boost sur la route");
- SendClientMessage(playerid,GREEN,"/tb afin de choisir la force de votre boost 3 choix disponible");
- SendClientMessage(playerid,GREEN,"/s1 /s2 /s3 pour sauver des emplacement");
- SendClientMessage(playerid,GREEN,"/r1 /r2 /r3 pour charger vos emplacement");
- SendClientMessage(playerid,GREEN,"/flip /rep /veh");
- SendClientMessage(playerid,RED,"===============================================================");
- return 1;
- }
- if(strcmp(cmdtext, "/flip", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid,RED,"Vous n'êtes pas dans un vehicule");
- return 1;
- }
- else
- {
- new Float:xX,Float:yY,Float:zZ,Float:aA;
- GetVehiclePos(GetPlayerVehicleID(playerid),xX,yY,zZ);
- GetVehicleZAngle(GetPlayerVehicleID(playerid),aA);
- SetVehiclePos(GetPlayerVehicleID(playerid),xX,yY,zZ+2);
- SetVehicleZAngle(GetPlayerVehicleID(playerid), aA);
- }
- return 1;
- }
- if(strcmp(cmdtext, "/rep", true) == 0)
- {
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SendClientMessage(playerid,RED,"Vous n'êtes pas dans un vehicule");
- return 1;
- }
- else
- {
- RepairVehicle(GetPlayerVehicleID(playerid));
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- new Float:x, Float:y, Float:z, Float:angle;
- if(PRESSED(KEY_ACTION)&& IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if (!keydown[playerid])
- {
- keydown[playerid] = true;
- {
- GetPlayerPos(playerid, x, y, z);
- angle = GetXYInFrontOfPlayer(playerid, x, y, GetOptimumRampDistance(playerid));
- DestroyObject(rampid[playerid]);
- if (rampa[playerid]== 0)
- {
- SendClientMessage(playerid, RED,"Vos ramps ne sont pas activé /ramp pour les activer");
- return 0;
- }
- if(rampid[playerid] == -1)
- {
- if(TypeRamp[playerid] == ramp3)
- {
- rampid[playerid] = CreateObject(TypeRamp[playerid], x, y, z - 0.5, 0.0, 0.0, angle-90);
- if (Boost[playerid]==1)
- {
- new Float:rb_x,Float:rb_y,Float:rb_z;
- GetVehicleVelocity(GetPlayerVehicleID(playerid),rb_x,rb_y,rb_z);
- SetVehicleVelocity(GetPlayerVehicleID(playerid),rb_x * TypeBoost[playerid],rb_y * TypeBoost[playerid],rb_z * TypeBoost[playerid]);
- }
- SetTimerEx("RemoveRamp", TEMPSDELARAMP, 0, "d", playerid);
- }
- else
- {
- rampid[playerid] = CreateObject(TypeRamp[playerid], x, y, z - 0.5, 0.0, 0.0, angle);
- if (Boost[playerid]==1)
- {
- new Float:rb_x,Float:rb_y,Float:rb_z;
- GetVehicleVelocity(GetPlayerVehicleID(playerid),rb_x,rb_y,rb_z);
- SetVehicleVelocity(GetPlayerVehicleID(playerid),rb_x * TypeBoost[playerid],rb_y * TypeBoost[playerid],rb_z * TypeBoost[playerid]);
- }
- SetTimerEx("RemoveRamp", TEMPSDELARAMP, 0, "d", playerid);
- }
- }
- }
- }
- }
- else
- {
- keydown[playerid] = false;
- }
- return 1;
- }
- public RemoveRamp(playerid)
- {
- DestroyObject(rampid[playerid]);
- rampid[playerid] = -1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid==DIARAMP)
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- TypeRamp[playerid] = defaultramp;
- }
- case 1:
- {
- TypeRamp[playerid] = ramp1;
- }
- case 2:
- {
- TypeRamp[playerid] = ramp2;
- }
- case 3:
- {
- TypeRamp[playerid] = ramp3;
- }
- case 4:
- {
- TypeRamp[playerid] = ramp4;
- }
- case 5:
- {
- TypeRamp[playerid] = ramp5;
- }
- }
- }
- }
- if(dialogid==DIABOOST)
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- TypeBoost[playerid] = normalboost;
- }
- case 1:
- {
- TypeBoost[playerid] = plusboost;
- }
- case 2:
- {
- TypeBoost[playerid] = megaboost;
- }
- }
- }
- }
- if(dialogid == DIAVEH)//Infernus\npacker\nnrg\nfreeway\nbullet\nelegy\nsultant
- {
- if(response)
- {
- switch(listitem)
- {
- case 0:
- {
- CCar(playerid,411);
- }
- case 1:
- {
- CCar(playerid,443);
- }
- case 2:
- {
- CCar(playerid,522);
- }
- case 3:
- {
- CCar(playerid,463);
- }
- case 4:
- {
- CCar(playerid,541);
- }
- case 5:
- {
- CCar(playerid,562);
- }
- case 6:
- {
- CCar(playerid,560);
- }
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement