Advertisement
Guest User

Turbo & Jump by Phanto

a guest
Jan 17th, 2011
499
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.42 KB | None | 0 0
  1. /*
  2. ================================================================================
  3.                                Phanto's Script
  4. ________________________________________________________________________________
  5. •Script: Turbo & Jump        •Scripter: Phanto90
  6. •Tipo: FS                    •Dimesione: 6 Kb
  7. •Righe: 137                  •Versione: 1.0v
  8. ________________________________________________________________________________
  9.                               * Descrizione *
  10. Ecco a voi un idiotissimo filterscript per divertirvi con i vostri amici!
  11. Infrangete la barriera del suono con la modalità turbo ed evitate gli ostacoli
  12. con la modalità jump!
  13.  
  14. Vi preghiamo di non rimuovere i crediti.
  15.  
  16. ================================================================================
  17.  
  18.  
  19. */
  20.  
  21. #include <a_samp>
  22. //===================================DEFINE
  23. #define PREMUTO(%0) \
  24.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  25. #define DIALOGTURBO      10005
  26. #define COMANDOTURBO     "/turbo"
  27. #define TASTOTURBO       KEY_ANALOG_UP  //Normalmente NUM8
  28. #define TASTOSALTO       KEY_CROUCH     //Normalmente H o CAPS LOCK
  29. #define TASTORIPARAZIONE KEY_SUBMISSION //Normalmente Tasto 2
  30. #define RIPARAZIONEATTIVATA 1 //1=attiva altri valori=disabilita - modalità riparazione con tasto 2
  31.  
  32. //==================================VERIABILI
  33. new Turbo[MAX_PLAYERS]=0;
  34. new stringa[256];
  35. new Float:VelX,Float:VelY,Float:VelZ;
  36. //============================================================ONFILTERSCRIPTINIT
  37. public OnFilterScriptInit()
  38. {
  39.     print("\n______________________________________");
  40.     print(" Turbo & Jump caricato.");
  41.     print(" http://pawnoscripter.forumfree.it");
  42.     print("______________________________________\n");
  43.     return 1;
  44. }
  45. //============================================================ONFILTERSCRIPTEXIT
  46. public OnFilterScriptExit()
  47. {
  48.     print("\n______________________________________");
  49.     print(" Turbo & Jump unloadato.");
  50.     print(" http://pawnoscripter.forumfree.it");
  51.     print("______________________________________\n");
  52.     return 1;
  53. }
  54. //===============================================================ONPLAYERCONNECT
  55. public OnPlayerConnect(playerid)
  56. {
  57.     return 1;
  58. }
  59. //============================================================ONPLAYERDISCONNECT
  60. public OnPlayerDisconnect(playerid, reason)
  61. {
  62.     Turbo[playerid]=2;
  63.     return 1;
  64. }
  65. //===========================================================ONPLAYERCOMMANDTEXT
  66. public OnPlayerCommandText(playerid, cmdtext[])
  67. {
  68.     if (strcmp(COMANDOTURBO, cmdtext, true, 10) == 0)
  69.     {
  70.         ShowPlayerDialog(playerid,DIALOGTURBO,DIALOG_STYLE_INPUT,"Impostazioni turbo","{FFFFFF}Inserisci il {C14124}numero{FFFFFF} del moltiplicatore turbo.\nInserisci un numero nell'intervallo {C14124}1-4{FFFFFF}.","Setta","Esci");
  71.         return 1;
  72.     }
  73.     return 0;
  74. }
  75. //==============================================================ONDIALOGRESPONSE
  76. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  77. {
  78.     if(dialogid == DIALOGTURBO)
  79.     {
  80.     if(!isNumeric(inputtext)) return ShowPlayerDialog(playerid,DIALOGTURBO,DIALOG_STYLE_INPUT,"Impostazioni turbo","{C14124}ERRORE: Inserire un valore numerico.\n{FFFFFF}Inserisci il {C14124}numero{FFFFFF} del moltiplicatore turbo.\nInserisci un numero nell'intervallo {C14124}1-4{FFFFFF}.","Setta","Esci");
  81.     if(strval(inputtext)<1 || strval(inputtext)>4) return ShowPlayerDialog(playerid,DIALOGTURBO,DIALOG_STYLE_INPUT,"Impostazioni turbo","{C14124}ERRORE: Inserire un valore numerico nell'intervallo 1-4.\n{FFFFFF}Inserisci il {C14124}numero{FFFFFF} del moltiplicatore turbo.\nInserisci un numero nell'intervallo {C14124}1-4{FFFFFF}.","Setta","Esci");
  82.     format(stringa,sizeof(stringa),"TURBO: {FFFFFF}Hai impostato il moltiplicatore turbo a {8CE46C}%d{FFFFFF}.",strval(inputtext));
  83.     SendClientMessage(playerid,0x338CD9FF,stringa);
  84.     Turbo[playerid]=strval(inputtext);
  85.     return 1;
  86.     }
  87.     return 1;
  88. }
  89. //========================================================ONPLAYERKEYSTATECHANGE
  90. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  91. {
  92. //===================================KEY NUM8
  93.     if(PREMUTO(TASTOTURBO))
  94.     {
  95.     if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
  96.       {
  97.       GetVehicleVelocity(GetPlayerVehicleID(playerid),VelX,VelY,VelZ);
  98.       if (floatabs(VelX) < 3 && floatabs(VelY) < 3 && floatabs(VelZ) < 3)
  99.       SetVehicleVelocity(GetPlayerVehicleID(playerid),VelX*Turbo[playerid],VelY*Turbo[playerid],VelZ*Turbo[playerid]);
  100.       }
  101.     return 1;
  102.     }
  103.  
  104. //===================================KEY CLACSON
  105.     if(PREMUTO(TASTOSALTO))
  106.     {
  107.     if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
  108.       {
  109.       GetVehicleVelocity(GetPlayerVehicleID(playerid),VelX,VelY,VelZ);
  110.       SetVehicleVelocity(GetPlayerVehicleID(playerid),VelX,VelY,VelZ+0.28);
  111.       }
  112.     return 1;
  113.     }
  114. //===================================KEY 2
  115.     if(PREMUTO(TASTORIPARAZIONE))
  116.     {
  117.     if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER && RIPARAZIONEATTIVATA==1)
  118.     RepairVehicle(GetPlayerVehicleID(playerid));
  119.     return 1;
  120.     }
  121.     return 1;
  122. }
  123.  
  124. //=====================================================================ISNUMERIC
  125. stock isNumeric(const string[])
  126. {
  127.     new length=strlen(string);
  128.     if (length==0) return false;
  129.     for (new i = 0; i < length; i++)
  130.     {
  131.     if
  132.     ((string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') || (string[i]=='-' && i!=0)|| (string[i]=='+' && i!=0))
  133.     return false;
  134.     }
  135.     if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
  136.     return true;
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement