Advertisement
S4T3K

s_damages update

May 6th, 2014
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 29.76 KB | None | 0 0
  1. /******************************************
  2.     Inclusion des bibliothèques de script
  3. ******************************************/
  4.  
  5. #include <a_samp>
  6. #include <s_useful>
  7. #include <zcmd>
  8. #include <Thread>
  9. #include <streamer>
  10.  
  11. /*********************************
  12.     Initialisations importantes
  13. *********************************/
  14.  
  15. new PlayerText:Damages[MAX_PLAYERS][11];
  16. new t_updt[MAX_PLAYERS], texte[144], parme[MAX_PLAYERS];
  17. new shots[MAX_PLAYERS], r_ammo[MAX_PLAYERS];
  18. static arme_sol;
  19.  
  20. enum winfo
  21. {
  22.     Float:x,
  23.     Float:y,
  24.     Float:z,
  25.     vw,
  26.     int,
  27.     arme,
  28.     muni,
  29.     objet,
  30.     Text3D:label,
  31. };
  32.  
  33.  
  34. /**********************
  35. Parties du corps
  36. **********************/
  37.  
  38.  
  39. #define TORSE 3
  40. #define GROIN 4
  41. #define BRAS_GAUCHE 5
  42. #define BRAS_DROIT 6
  43. #define JAMBE_GAUCHE 7
  44. #define JAMBE_DROITE 8
  45. #define TETE 9
  46.  
  47.  
  48. /*********************
  49. Dégâts personnalisables
  50. Note : Ils ne sont pas pris en compte pour :
  51. • Tirs dans la tête
  52. • Tirs dans le groin
  53. **********************/
  54.  
  55. #define D_0 5.0 // Poing
  56. #define D_1 7.0 // Poing américain
  57. #define D_2 10.0 // Club de golf
  58. #define D_3 8.0 // Matraque
  59. #define D_4 12.0 // Couteau
  60. #define D_5 8.0 // Batte de base-ball
  61. #define D_6 8.5 // Pelle
  62. #define D_7 6.0 // Queue de billard
  63. #define D_8 15.0 // Katana
  64. #define D_9 15.0 // Tronçonneuse
  65. #define D_10 6.0 // Dildo double
  66. #define D_11 6.0 // Dildo
  67. #define D_12 6.0 // Vibro
  68. #define D_13 6.0 // Vibro argent
  69. #define D_14 6.0 // Fleurs
  70. #define D_15 7.0 // Canne
  71. #define D_16 70.0 // Grenade
  72. #define D_17 15.0 // Grenade fumigène (à check)
  73. #define D_18 40.0 // Molotov
  74. #define D_22 20.0 // Colt
  75. #define D_23 17.0 // Silencieux
  76. #define D_24 47.0 // Desert Eagle
  77. #define D_25 30.0 // Pompe
  78. #define D_26 27.0 // Canon scié
  79. #define D_27 30.0 // Spas
  80. #define D_28 20.0 // Uzi
  81. #define D_29 23.0 // MP5
  82. #define D_30 25.0 // AK-47
  83. #define D_31 27.5 // M4A1
  84. #define D_32 20.0 // Tec-9
  85. #define D_33 75.0 // Fusil de campagne (Trad by Kilou)
  86. #define D_34 100.0 // Sniper rifle
  87. #define D_35 150.0 // RPG-7
  88. #define D_36 175.0 // Heat Steaker RPG
  89. #define D_37 35.0 // Lance flammes
  90. #define D_38 40.0 // Minigun
  91. #define D_39 150.0 // C4
  92. #define D_41 15.0 // Bombe à tag
  93. #define D_42 17.0 // Extincteur
  94. #define D_REVOLVER 60.0 // Dommages du révolver
  95.  
  96. /**************************************
  97.     Définitions modifiables à souhait
  98. **************************************/
  99.  
  100. #define MAX_ARME_SOL 3000
  101. #define COULEUR_ACTION 0xB462F6F6
  102.  
  103. new wInfo[MAX_ARME_SOL][winfo];
  104.  
  105. /***********************
  106.     Ne pas toucher ~
  107. ***********************/
  108.  
  109. #define PRESSED(%0) \
  110.     (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  111. #define HOLDING(%0) \
  112.     ((newkeys & (%0)) == (%0))
  113.  
  114. #define GivePlayerWeapon S_GivePlayerWeapon
  115.  
  116. /****************************************************************
  117.     Tableaux des armes (ajouter seulement, ne rien retirer)
  118. ****************************************************************/
  119.  
  120. new armes[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 41, 42, 16, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39};
  121. new armes_feu[] = {16, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39};
  122. new armes_blanches[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 41, 42};
  123. new pistolet[] = {22, 23, 24};
  124. new explosifs[] = {16, 17, 18, 34, 35, 36, 37, 39};
  125. new auto[] = {27, 28, 29, 30, 31, 32, 38};
  126. new shotgun[] = {27, 28, 29};
  127. new armes_lourdes[] = {8, 9, 25, 26, 27, 30, 31, 33, 34, 35, 36, 37, 38};
  128.  
  129. #pragma unused armes, armes_blanches, auto, explosifs, pistolet, shotgun
  130.  
  131. new armesNom[] =
  132. {
  133.     "poing", "poing américain", "club de golf", "matraque", "couteau", "batte de base-ball", "queue de billard", "katana", "tronçonneuse", "double dildo", "dildo", "vibromasseur",
  134.     "vibromasseur en argent", "fleurs", "canne", "grenades", "grenades fumigène", "cocktails molotov", "", "", "", "colt .45", "colt .45 silencieux", "desert eagle", "fusil à pompe",
  135.     "fusil à canon scié", "spas 12", "micro UZI", "MP5", "AK-47", "M4A1", "TEC-9", "fusil de chasse", "fusil de sniper", "lance roquettes", "lance roquette téléguidé", "lance-flammes",
  136.     "minigun", "pain de C4", "détonateur", "bombe à tag", "extincteur", "appareil photo"
  137. };
  138.  
  139. new armesModel[] =
  140. {
  141.     15969, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324, 325, 326, 342, 343, 344, 15969, 15969, 15969, 346, 347, 348, 349, 350, 351, 352, 353, 355, 356, 372, 357, 358, 359,
  142.     360, 361, 362, 363, 364, 365, 366
  143. };
  144.  
  145.  
  146. /*******************************
  147.     Forwards (ne pas supprimer)
  148. *******************************/
  149.  
  150. forward cacherDegats(playerid, did);
  151. forward UpdateSkin(playerid);
  152. forward OnPlayerWeaponChange(playerid, oldw, neww);
  153.  
  154. /******************************************
  155.     Callbacks officielles/corps du script
  156. ******************************************/
  157.  
  158. public OnFilterScriptInit()
  159. {
  160.     return printf(">> s_damages chargé !");
  161. }
  162.  
  163. public OnFilterScriptExit()
  164. {
  165.     DechargerTD();
  166.     DestroyAllWeaponOnGround();
  167.     for(new p = 0; p < MAX_PLAYERS; p++)
  168.     {
  169.         if(!IsPlayerConnected(p)) continue;
  170.         else DestroyThread(t_updt[p]);
  171.     }
  172.     return printf(">> s_damages déchargé !");
  173. }
  174.  
  175. public OnPlayerConnect(playerid)
  176. {
  177.     ChargerTD(playerid);
  178.     t_updt[playerid] = CreateThread("UpdateSkin");
  179.     return 1;
  180. }
  181.  
  182. public OnPlayerDisconnect(playerid, reason)
  183. {
  184.     DestroyThread(t_updt[playerid]);
  185.     return 1;
  186. }
  187.  
  188. public OnPlayerUpdate(playerid)
  189. {
  190.     new armee;
  191.     armee = GetPlayerWeapon(playerid);
  192.     if(parme[playerid] != armee) OnPlayerWeaponChange(playerid, parme[playerid], armee);
  193.     parme[playerid] = armee;
  194.     return 1;
  195. }
  196.  
  197. public OnPlayerDeath(playerid, killerid, reason)
  198. {
  199.     DeletePVar(playerid, "BrasBlesser");
  200.     DeletePVar(playerid, "JambeBlesser");
  201.     ResetPlayerWeapons(playerid);
  202.     return 1;
  203. }
  204.  
  205. public OnPlayerWeaponChange(playerid, oldw, neww)
  206. {
  207.     for(new w = 0; w < sizeof(armes_lourdes); w++)
  208.     {
  209.         if(neww == armes_lourdes[w] && GetPVarInt(playerid, "BrasBlesser") != 0)
  210.         {
  211.             for(new model = 0; model < sizeof(armesModel); model++)
  212.             {
  213.                 if(neww == model) DropWeapon(playerid, neww, GetPlayerAmmo(playerid), armesModel[model]);
  214.             }
  215.             return SendErrorMessage(playerid, "Vous ne pouvez pas porter d'arme lourde avec un bras blessé !");
  216.         }
  217.     }
  218.     return 1;
  219. }
  220.  
  221. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  222. {
  223.     if(PRESSED(KEY_SPRINT) && GetPVarInt(playerid, "JambeBlesser") != 0)
  224.     {
  225.         new attempt = random(5);
  226.         switch(attempt)
  227.         {
  228.             case 3:
  229.             {
  230.                 ApplyAnimation(playerid, "PARACHUTE", "FALL_skyDive_DIE", 4.1, 0, 1, 1, 1, 5000);
  231.                 SendClientMessage(playerid, 0xD15401FF, "[ANIM]{FFFFFF} Tu as tenté de courrir avec une jambe blessée et tu es tombé. Utilise /selever pour te relever !");
  232.                 new dgun = random(5);
  233.                 switch(dgun)
  234.                 {
  235.                     case 2:
  236.                     {
  237.                         for(new model = 0; model < sizeof(armesModel); model++)
  238.                         {
  239.                             if(GetPlayerWeapon(playerid) != 0 && GetPlayerWeapon(playerid) == model) DropWeapon(playerid, GetPlayerWeapon(playerid), GetPlayerAmmo(playerid), armesModel[model]);
  240.                         }
  241.                     }
  242.                 }
  243.             }
  244.             default: ClearAnimations(playerid);
  245.         }
  246.     }
  247.  
  248.     if( (PRESSED(KEY_FIRE) && GetPVarInt(playerid, "RevolverEquiped")) || (HOLDING(KEY_FIRE) && GetPVarInt(playerid, "RevolverEquiped")) )
  249.     {
  250.         new ammo = GetPlayerAmmo(playerid);
  251.         if(r_ammo[playerid] > ammo)
  252.         {
  253.             shots[playerid]++;
  254.             if(shots[playerid] == 6)
  255.             {
  256.                 ApplyAnimation(playerid, "PYTHON", "python_reload", 4.1, 0, 0, 0, 1, 1);
  257.                 SetPlayerArmedWeapon(playerid, 0);
  258.                 SetPlayerArmedWeapon(playerid, 24);
  259.                 shots[playerid] = 0;
  260.             }
  261.         }
  262.         r_ammo[playerid] = ammo;
  263.     }
  264.     return 1;
  265. }
  266.  
  267.  
  268. public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
  269. {
  270.     switch(weaponid)
  271.     {
  272.         case 0: amount = D_0;
  273.         case 1: amount = D_1;
  274.         case 2: amount = D_2;
  275.         case 3: amount = D_3;
  276.         case 4: amount = D_4;
  277.         case 5: amount = D_5;
  278.         case 6: amount = D_6;
  279.         case 7: amount = D_7;
  280.         case 8: amount = D_8;
  281.         case 9: amount = D_9;
  282.         case 10: amount = D_10;
  283.         case 11: amount = D_11;
  284.         case 12: amount = D_12;
  285.         case 13: amount = D_13;
  286.         case 14: amount = D_14;
  287.         case 15: amount = D_15;
  288.         case 16: amount = D_16;
  289.         case 17: amount = D_17;
  290.         case 18: amount = D_18;
  291.         case 22: amount = D_22;
  292.         case 23: amount = D_23;
  293.         case 24:
  294.         {
  295.             if(GetPVarInt(playerid, "RevolverEquiped") == 0) amount = D_24;
  296.             else amount = D_REVOLVER;
  297.         }
  298.         case 25: amount = D_25;
  299.         case 26: amount = D_26;
  300.         case 27: amount = D_27;
  301.         case 28: amount = D_28;
  302.         case 29: amount = D_29;
  303.         case 30: amount = D_30;
  304.         case 31: amount = D_31;
  305.         case 32: amount = D_32;
  306.         case 33: amount = D_33;
  307.         case 34: amount = D_34;
  308.         case 35: amount = D_35;
  309.         case 36: amount = D_36;
  310.         case 37: amount = D_37;
  311.         case 38: amount = D_38;
  312.         case 39: amount = D_39;
  313.         case 41: amount = D_41;
  314.         case 42: amount = D_42;
  315.     }
  316.    
  317.     switch(bodypart)
  318.     {
  319.         case 3: // Torse
  320.         {
  321.             PlayerTextDrawShow(playerid, Damages[playerid][5]);
  322.             SetTimerEx("cacherDegats", 3000, false, "ii", playerid, 5);
  323.             return 1;
  324.         }
  325.         case 4: // Groin
  326.         {
  327.             PlayerTextDrawShow(playerid, Damages[playerid][6]);
  328.             SetTimerEx("cacherDegats", 3000, false, "ii", playerid, 6);
  329.             for(new a = 0; a < sizeof(armes_feu); a++)
  330.             {
  331.                 if(armes_feu[a] == weaponid) SetPlayerHealth(playerid, 0.0);
  332.             }
  333.             return 1;
  334.         }
  335.         case 5: // Bras gauche
  336.         {
  337.             PlayerTextDrawShow(playerid, Damages[playerid][8]);
  338.             SetTimerEx("cacherDegats", 3000, false, "ii", playerid, 8);
  339.             for(new a = 0; a < sizeof(armes_feu); a++)
  340.             {
  341.                 if(armes_feu[a] == weaponid)
  342.                 {
  343.                     if(GetPlayerWeapon(playerid) != 0 ||  GetPlayerWeapon(playerid) != 44 || GetPlayerWeapon(playerid) != 45 || GetPlayerWeapon(playerid) != 46)
  344.                     {
  345.                         SetPVarInt(playerid, "BrasBlesser", 1);
  346.                         for(new model = 0; model < sizeof(armesModel); model++)
  347.                         {
  348.                             if(weaponid == model) DropWeapon(playerid, weaponid, GetPlayerAmmo(playerid), armesModel[model]);
  349.                         }
  350.                         format(texte, sizeof(texte), "* %s laisse tomber son %s au sol à la suite d'un tir dans le bras.", GetName(playerid), GetWName(weaponid));
  351.                         ProxDetector(10.0, playerid, texte, COULEUR_ACTION);
  352.                     }
  353.                 }
  354.             }
  355.             return 1;
  356.         }
  357.         case 6: // Bras droit
  358.         {
  359.             PlayerTextDrawShow(playerid, Damages[playerid][7]);
  360.             SetTimerEx("cacherDegats", 3000, false, "ii", playerid, 7);
  361.             for(new a = 0; a < sizeof(armes_feu); a++)
  362.             {
  363.                 if(armes_feu[a] == weaponid)
  364.                 {
  365.                     if(GetPlayerWeapon(playerid) != 0 ||  GetPlayerWeapon(playerid) != 44 || GetPlayerWeapon(playerid) != 45 || GetPlayerWeapon(playerid) != 46)
  366.                     {
  367.                         SetPVarInt(playerid, "BrasBlesser", 1);
  368.                         for(new model = 0; model < sizeof(armesModel); model++)
  369.                         {
  370.                             if(armesModel[model] == weaponid) DropWeapon(playerid, weaponid, GetPlayerAmmo(playerid), armesModel[model]);
  371.                         }
  372.                         format(texte, sizeof(texte), "* %s laisse tomber son %s au sol à la suite d'un tir dans le bras.", GetName(playerid), GetWName(GetPlayerWeapon(playerid)));
  373.                         ProxDetector(10.0, playerid, texte, COULEUR_ACTION);
  374.                     }
  375.                 }
  376.                 return 1;
  377.             }
  378.         }
  379.         case 7: // Jambe gauche
  380.         {
  381.             PlayerTextDrawShow(playerid, Damages[playerid][10]);
  382.             SetTimerEx("cacherDegats", 3000, false, "ii", playerid, 10);
  383.             for(new a = 0; a < sizeof(armes_feu); a++)
  384.             {
  385.                 if(armes_feu[a] == weaponid)
  386.                 {
  387.                     ApplyAnimation(playerid, "PARACHUTE", "FALL_skyDive_DIE", 4.1, 0, 1, 1, 1, 5000);
  388.                     SetPVarInt(playerid, "JambeBlesser", 1);
  389.                     format(texte, sizeof(texte), "* %s tombe suite à la balle reçue dans sa jambe !", GetName(playerid));
  390.                     ProxDetector(10.0, playerid, texte, COULEUR_ACTION);
  391.                 }
  392.                 return 1;
  393.             }
  394.         }
  395.         case 8:
  396.         {
  397.             PlayerTextDrawShow(playerid, Damages[playerid][9]);
  398.             SetTimerEx("cacherDegats", 3000, false, "ii", playerid, 9);
  399.             for(new a = 0; a < sizeof(armes_feu); a++)
  400.             {
  401.                 if(armes_feu[a] == weaponid)
  402.                 {
  403.                     ApplyAnimation(playerid, "PARACHUTE", "FALL_skyDive_DIE", 4.1, 0, 1, 1, 1, 5000);
  404.                     SetPVarInt(playerid, "JambeBlesser", 1);
  405.                     format(texte, sizeof(texte), "* %s tombe suite à la balle reçue dans sa jambe !", GetName(playerid));
  406.                     ProxDetector(10.0, playerid, texte, COULEUR_ACTION);
  407.                 }
  408.             }
  409.         }
  410.         case 9:
  411.         {
  412.             PlayerTextDrawShow(playerid, Damages[playerid][5]);
  413.             SetTimerEx("cacherDegats", 3000, false, "ii", playerid, 4);
  414.             for(new a = 0; a < sizeof(armes_feu); a++)
  415.             {
  416.                 if(armes_feu[a] == weaponid) SetPlayerHealth(playerid, 0.0);
  417.             }
  418.             return 1;
  419.         }
  420.     }
  421.     return 1;
  422. }
  423.  
  424. /**********************************************
  425.     Commandes du script (modifiable à souhait)
  426. **********************************************/
  427.  
  428. CMD:voirmodel(playerid, params[])
  429. {
  430.     #pragma unused params
  431.     if(GetPVarInt(playerid, "Model") != 0)
  432.     {
  433.         CacherModel(playerid);
  434.         return 1;
  435.     }
  436.     else
  437.     {
  438.         SetPVarInt(playerid, "Model", 1);
  439.         MontrerModel(playerid);
  440.         return 1;
  441.     }
  442. }
  443.  
  444. CMD:rarme(playerid, params[])
  445. {
  446.     #pragma unused params
  447.     if(GetPVarInt(playerid, "BrasBlesser") != 0) return SendErrorMessage(playerid, "Tu ne peux pas ramasser une arme avec une balle dans le bras !");
  448.     else
  449.     {
  450.         for(new w = 0; w < sizeof(wInfo); w++)
  451.         {
  452.             if(IsPlayerInRangeOfPoint(playerid, 2.0, wInfo[w][x], wInfo[w][y], wInfo[w][z]) && GetPlayerVirtualWorld(playerid) == wInfo[w][vw] && GetPlayerInterior(playerid) == wInfo[w][int])
  453.             {
  454.                 GivePlayerWeapon(playerid, wInfo[w][arme], wInfo[w][muni]);
  455.                 DestroyDynamicObject(wInfo[w][objet]);
  456.                 arme_sol--;
  457.             }
  458.         }
  459.     }
  460.     return 1;
  461. }
  462.  
  463. CMD:selever(playerid, params[])
  464. {
  465.     #pragma unused params
  466.     if(GetPVarInt(playerid, "JambeBlesser") != 1) return SendErrorMessage(playerid, "Tu n'es pas au sol !");
  467.     else
  468.     {
  469.         DeletePVar(playerid, "JambeBlesser");
  470.         ClearAnimations(playerid);
  471.         return SendClientMessage(playerid, -1, "{D15401}[ANIM]{FFFFFF} Tu t'es levé mais tu ne peux plus courrir ! Une de tes jambes est gravement blessée !");
  472.     }
  473. }
  474.  
  475. CMD:revolver(playerid, params[])
  476. {
  477.     GivePlayerWeapon(playerid, 24, 9999, true);
  478.     return 1;
  479. }
  480.  
  481. CMD:deagle(playerid, params[])
  482. {
  483.     GivePlayerWeapon(playerid, 24, 9999);
  484.     return 1;
  485. }
  486.  
  487. /****************************************
  488.     Fonctions crées par moi-même pour
  489.     les besoins du FS, surtout, si vous
  490.     ne savez pas ce que vous faites,
  491.     CONTENTEZ VOUS DE LIRE !
  492. ****************************************/
  493.  
  494. stock GetLowestUnusedObjectSlot(playerid)
  495. {
  496.     for(new s = 0; s < 10; s++)
  497.     {
  498.         if(IsPlayerAttachedObjectSlotUsed(playerid, s)) continue;
  499.         else return s;
  500.     }
  501.     return -1;
  502. }
  503.  
  504. public UpdateSkin(playerid)
  505. {
  506.     PlayerTextDrawSetPreviewModel(playerid, Damages[playerid][3], GetPlayerSkin(playerid));
  507.     SleepThread(1000);
  508.     return 1;
  509. }
  510.  
  511. public cacherDegats(playerid, did)
  512. {
  513.     return PlayerTextDrawHide(playerid, Damages[playerid][did]);
  514. }
  515.  
  516. stock GetWName(weaponid)
  517. {
  518.     for(new a = 0; a < sizeof(armesNom); a++)
  519.     {
  520.         if(a == weaponid) return armesNom[a];
  521.     }
  522.     return 0;
  523. }
  524.  
  525. stock DropWeapon(playerid, weaponid, munit, model)
  526. {
  527.     if(arme_sol + 1 > MAX_ARME_SOL) return 0;
  528.     new w;
  529.     for(w = 0; w < sizeof(wInfo); w++)
  530.     {
  531.         if(!IsValidDynamicObject(wInfo[w][objet])) break;
  532.     }
  533.     new Float:p[3];
  534.     GetPlayerPos(playerid, p[0], p[1], p[2]);
  535.     wInfo[w][x] = p[0];
  536.     wInfo[w][y] = p[1];
  537.     wInfo[w][z] = p[2];
  538.     wInfo[w][vw] = GetPlayerVirtualWorld(playerid);
  539.     wInfo[w][int] = GetPlayerInterior(playerid);
  540.     wInfo[w][arme] = weaponid;
  541.     wInfo[w][muni] = munit;
  542.     format(texte, sizeof(texte), "[%s - %d munitions]", GetWName(weaponid), munit);
  543.     wInfo[w][label] = CreateDynamic3DTextLabel(texte, 0x33CCFFFF, p[0], p[1], floatadd(p[2], 0.5), 10.0, GetPlayerVirtualWorld(playerid), 0, GetPlayerInterior(playerid));
  544.     wInfo[w][objet] = CreateDynamicObject(model, p[0], p[1], p[2], 0.0, 0.0, 0.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid));
  545.     RemovePlayerWeapon(playerid, weaponid);
  546.     arme_sol++;
  547.     return 1;
  548. }
  549.  
  550. stock ChargerTD(playerid)
  551. {
  552.     Damages[playerid][0] = CreatePlayerTextDraw(playerid, 509.000000, 233.000000, "                            ");
  553.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][0], 0);
  554.     PlayerTextDrawFont(playerid, Damages[playerid][0], 1);
  555.     PlayerTextDrawLetterSize(playerid, Damages[playerid][0], 0.500000, 22.500001);
  556.     PlayerTextDrawColor(playerid, Damages[playerid][0], -1);
  557.     PlayerTextDrawSetOutline(playerid, Damages[playerid][0], 0);
  558.     PlayerTextDrawSetProportional(playerid, Damages[playerid][0], 1);
  559.     PlayerTextDrawSetShadow(playerid, Damages[playerid][0], 1);
  560.     PlayerTextDrawUseBox(playerid, Damages[playerid][0], 1);
  561.     PlayerTextDrawBoxColor(playerid, Damages[playerid][0], 52);
  562.     PlayerTextDrawTextSize(playerid, Damages[playerid][0], 632.000000, 31.000000);
  563.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][0], 0);
  564.    
  565.     Damages[playerid][1] = CreatePlayerTextDraw(playerid, 509.000000, 230.000000, "                    ");
  566.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][1], 255);
  567.     PlayerTextDrawFont(playerid, Damages[playerid][1], 1);
  568.     PlayerTextDrawLetterSize(playerid, Damages[playerid][1], 0.500000, 0.000000);
  569.     PlayerTextDrawColor(playerid, Damages[playerid][1], -1);
  570.     PlayerTextDrawSetOutline(playerid, Damages[playerid][1], 0);
  571.     PlayerTextDrawSetProportional(playerid, Damages[playerid][1], 1);
  572.     PlayerTextDrawSetShadow(playerid, Damages[playerid][1], 1);
  573.     PlayerTextDrawUseBox(playerid, Damages[playerid][1], 1);
  574.     PlayerTextDrawBoxColor(playerid, Damages[playerid][1], 255);
  575.     PlayerTextDrawTextSize(playerid, Damages[playerid][1], 632.000000, 0.000000);
  576.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][1], 0);
  577.    
  578.     Damages[playerid][2] = CreatePlayerTextDraw(playerid, 509.000000, 438.000000, "                    ");
  579.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][2], 0);
  580.     PlayerTextDrawFont(playerid, Damages[playerid][2], 1);
  581.     PlayerTextDrawLetterSize(playerid, Damages[playerid][2], 0.500000, 0.000000);
  582.     PlayerTextDrawColor(playerid, Damages[playerid][2], -1);
  583.     PlayerTextDrawSetOutline(playerid, Damages[playerid][2], 0);
  584.     PlayerTextDrawSetProportional(playerid, Damages[playerid][2], 1);
  585.     PlayerTextDrawSetShadow(playerid, Damages[playerid][2], 1);
  586.     PlayerTextDrawUseBox(playerid, Damages[playerid][2], 1);
  587.     PlayerTextDrawBoxColor(playerid, Damages[playerid][2], 255);
  588.     PlayerTextDrawTextSize(playerid, Damages[playerid][2], 632.000000, 0.000000);
  589.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][2], 0);
  590.    
  591.     Damages[playerid][3] = CreatePlayerTextDraw(playerid, 490.000000, 241.000000, "Skin");
  592.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][3], 0);
  593.     PlayerTextDrawFont(playerid, Damages[playerid][3], TEXT_DRAW_FONT_MODEL_PREVIEW);
  594.     PlayerTextDrawLetterSize(playerid, Damages[playerid][3], 0.500000, 1.000000);
  595.     PlayerTextDrawColor(playerid, Damages[playerid][3], -1);
  596.     PlayerTextDrawSetOutline(playerid, Damages[playerid][3], 0);
  597.     PlayerTextDrawSetProportional(playerid, Damages[playerid][3], 1);
  598.     PlayerTextDrawSetShadow(playerid, Damages[playerid][3], 1);
  599.     PlayerTextDrawUseBox(playerid, Damages[playerid][3], 1);
  600.     PlayerTextDrawBoxColor(playerid, Damages[playerid][3], 255);
  601.     PlayerTextDrawTextSize(playerid, Damages[playerid][3], 160.000000, 191.000000);
  602.     PlayerTextDrawSetPreviewModel(playerid, Damages[playerid][3], 171); // Mon skin habituel sur samp :o
  603.     PlayerTextDrawSetPreviewRot(playerid, Damages[playerid][3], 0.000000, 0.000000, 0.000000, 0.899999);
  604.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][3], 0);
  605.    
  606.     Damages[playerid][4] = CreatePlayerTextDraw(playerid, 560.000000, 250.000000, "                                     "); // Tête
  607.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][4], 255);
  608.     PlayerTextDrawFont(playerid, Damages[playerid][4], 1);
  609.     PlayerTextDrawLetterSize(playerid, Damages[playerid][4], 0.490000, 0.200000);
  610.     PlayerTextDrawColor(playerid, Damages[playerid][4], -239);
  611.     PlayerTextDrawSetOutline(playerid, Damages[playerid][4], 0);
  612.     PlayerTextDrawSetProportional(playerid, Damages[playerid][4], 1);
  613.     PlayerTextDrawSetShadow(playerid, Damages[playerid][4], 1);
  614.     PlayerTextDrawUseBox(playerid, Damages[playerid][4], 1);
  615.     PlayerTextDrawBoxColor(playerid, Damages[playerid][4], -16777164);
  616.     PlayerTextDrawTextSize(playerid, Damages[playerid][4], 581.000000, 0.000000);
  617.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][4], 0);
  618.    
  619.     Damages[playerid][5] = CreatePlayerTextDraw(playerid, 558.000000, 279.000000, "                                     "); // Torse
  620.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][5], 255);
  621.     PlayerTextDrawFont(playerid, Damages[playerid][5], 1);
  622.     PlayerTextDrawLetterSize(playerid, Damages[playerid][5], 0.490000, 0.500000);
  623.     PlayerTextDrawColor(playerid, Damages[playerid][5], -239);
  624.     PlayerTextDrawSetOutline(playerid, Damages[playerid][5], 0);
  625.     PlayerTextDrawSetProportional(playerid, Damages[playerid][5], 1);
  626.     PlayerTextDrawSetShadow(playerid, Damages[playerid][5], 1);
  627.     PlayerTextDrawUseBox(playerid, Damages[playerid][5], 1);
  628.     PlayerTextDrawBoxColor(playerid, Damages[playerid][5], -16777164);
  629.     PlayerTextDrawTextSize(playerid, Damages[playerid][5], 585.000000, 0.000000);
  630.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][5], 0);
  631.    
  632.     Damages[playerid][6] = CreatePlayerTextDraw(playerid, 565.000000, 332.000000, "                                     "); // Groin
  633.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][6], 255);
  634.     PlayerTextDrawFont(playerid, Damages[playerid][6], 1);
  635.     PlayerTextDrawLetterSize(playerid, Damages[playerid][6], 0.490000, 0.100000);
  636.     PlayerTextDrawColor(playerid, Damages[playerid][6], -239);
  637.     PlayerTextDrawSetOutline(playerid, Damages[playerid][6], 0);
  638.     PlayerTextDrawSetProportional(playerid, Damages[playerid][6], 1);
  639.     PlayerTextDrawSetShadow(playerid, Damages[playerid][6], 1);
  640.     PlayerTextDrawUseBox(playerid, Damages[playerid][6], 1);
  641.     PlayerTextDrawBoxColor(playerid, Damages[playerid][6], -16777164);
  642.     PlayerTextDrawTextSize(playerid, Damages[playerid][6], 578.000000, -2.000000);
  643.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][6], 0);
  644.    
  645.     Damages[playerid][7] = CreatePlayerTextDraw(playerid, 541.000000, 280.000000, "                                     "); // Bras droit
  646.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][7], 255);
  647.     PlayerTextDrawFont(playerid, Damages[playerid][7], 1);
  648.     PlayerTextDrawLetterSize(playerid, Damages[playerid][7], 0.390000, 0.600001);
  649.     PlayerTextDrawColor(playerid, Damages[playerid][7], -239);
  650.     PlayerTextDrawSetOutline(playerid, Damages[playerid][7], 0);
  651.     PlayerTextDrawSetProportional(playerid, Damages[playerid][7], 1);
  652.     PlayerTextDrawSetShadow(playerid, Damages[playerid][7], 1);
  653.     PlayerTextDrawUseBox(playerid, Damages[playerid][7], 1);
  654.     PlayerTextDrawBoxColor(playerid, Damages[playerid][7], -16777164);
  655.     PlayerTextDrawTextSize(playerid, Damages[playerid][7], 555.000000, 0.000000);
  656.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][7], 0);
  657.    
  658.     Damages[playerid][8] = CreatePlayerTextDraw(playerid, 589.000000, 280.000000, "                                     "); // Bras gauche
  659.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][8], 255);
  660.     PlayerTextDrawFont(playerid, Damages[playerid][8], 1);
  661.     PlayerTextDrawLetterSize(playerid, Damages[playerid][8], 0.390000, 0.600001);
  662.     PlayerTextDrawColor(playerid, Damages[playerid][8], -239);
  663.     PlayerTextDrawSetOutline(playerid, Damages[playerid][8], 0);
  664.     PlayerTextDrawSetProportional(playerid, Damages[playerid][8], 1);
  665.     PlayerTextDrawSetShadow(playerid, Damages[playerid][8], 1);
  666.     PlayerTextDrawUseBox(playerid, Damages[playerid][8], 1);
  667.     PlayerTextDrawBoxColor(playerid, Damages[playerid][8], -16777164);
  668.     PlayerTextDrawTextSize(playerid, Damages[playerid][8], 601.000000, 0.000000);
  669.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][8], 0);
  670.    
  671.     Damages[playerid][9] = CreatePlayerTextDraw(playerid, 553.000000, 357.000000, "                                     "); // Jambe droite
  672.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][9], 255);
  673.     PlayerTextDrawFont(playerid, Damages[playerid][9], 1);
  674.     PlayerTextDrawLetterSize(playerid, Damages[playerid][9], 0.390000, 0.700001);
  675.     PlayerTextDrawColor(playerid, Damages[playerid][9], -239);
  676.     PlayerTextDrawSetOutline(playerid, Damages[playerid][9], 0);
  677.     PlayerTextDrawSetProportional(playerid, Damages[playerid][9], 1);
  678.     PlayerTextDrawSetShadow(playerid, Damages[playerid][9], 1);
  679.     PlayerTextDrawUseBox(playerid, Damages[playerid][9], 1);
  680.     PlayerTextDrawBoxColor(playerid, Damages[playerid][9], -16777164);
  681.     PlayerTextDrawTextSize(playerid, Damages[playerid][9], 570.000000, 0.000000);
  682.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][9], 0);
  683.    
  684.     Damages[playerid][10] = CreatePlayerTextDraw(playerid, 575.000000, 357.000000, "                                     "); // Jambe gauche
  685.     PlayerTextDrawBackgroundColor(playerid, Damages[playerid][10], 255);
  686.     PlayerTextDrawFont(playerid, Damages[playerid][10], 1);
  687.     PlayerTextDrawLetterSize(playerid, Damages[playerid][10], 0.320000, 1.200001);
  688.     PlayerTextDrawColor(playerid, Damages[playerid][10], -239);
  689.     PlayerTextDrawSetOutline(playerid, Damages[playerid][10], 0);
  690.     PlayerTextDrawSetProportional(playerid, Damages[playerid][10], 1);
  691.     PlayerTextDrawSetShadow(playerid, Damages[playerid][10], 1);
  692.     PlayerTextDrawUseBox(playerid, Damages[playerid][10], 1);
  693.     PlayerTextDrawBoxColor(playerid, Damages[playerid][10], -16777164);
  694.     PlayerTextDrawTextSize(playerid, Damages[playerid][10], 596.000000, -1.000000);
  695.     PlayerTextDrawSetSelectable(playerid, Damages[playerid][10], 0);
  696.     return 1;
  697. }
  698.  
  699. stock DechargerTD()
  700. {
  701.     for(new p = 0; p < MAX_PLAYERS; p++)
  702.     {
  703.         if(!IsPlayerConnected(p)) continue;
  704.         for(new tdw = 0; tdw < 11; tdw++)
  705.         {
  706.             PlayerTextDrawDestroy(p, Damages[p][tdw]);
  707.         }
  708.     }
  709.     return 1;
  710. }
  711.  
  712. stock DestroyAllWeaponOnGround()
  713. {
  714.     for(new a = 0; a < sizeof(wInfo); a++)
  715.     {
  716.         if(IsValidDynamicObject(wInfo[a][objet])) DestroyDynamicObject(wInfo[a][objet]);
  717.     }
  718.     return 1;
  719. }
  720.  
  721. stock CacherModel(playerid)
  722. {
  723.     for(new td = 0; td < 11; td++)
  724.     {
  725.         PlayerTextDrawHide(playerid, Damages[playerid][td]);
  726.     }
  727.     return 1;
  728. }
  729.  
  730. stock MontrerModel(playerid)
  731. {
  732.     for(new td = 0; td < 4; td++)
  733.     {
  734.         PlayerTextDrawShow(playerid, Damages[playerid][td]);
  735.     }
  736. }
  737.  
  738. stock RemovePlayerWeapon(playerid, weaponid)
  739. {
  740.     new armeSlot[12] = 0;
  741.     new muniArme[12] = 0;
  742.     for(new s = 0; s < 12; s++)
  743.     {
  744.         new tArme, tMuni;
  745.         GetPlayerWeaponData(playerid, s, tArme, tMuni);
  746.        
  747.         if(tArme != weaponid && tMuni != 0)
  748.         {
  749.             GetPlayerWeaponData(playerid, s, armeSlot[s], muniArme[s]);
  750.         }
  751.     }
  752.    
  753.     ResetPlayerWeapons(playerid);
  754.     for(new s = 0; s != 12; s++)
  755.     {
  756.         if(muniArme[s] != 0)
  757.         {
  758.             GivePlayerWeapon(playerid, armeSlot[s], muniArme[s]);
  759.         }
  760.     }
  761.     return 1;
  762. }
  763.  
  764. stock S_GivePlayerWeapon(playerid, weaponid, ammo, bool:REVOLVER = false)
  765. {
  766.     if(weaponid == 24)
  767.     {
  768.         GivePlayerWeapon(playerid, weaponid, ammo);
  769.         if(REVOLVER)
  770.         {
  771.             SetPlayerAttachedObject(playerid, GetLowestUnusedObjectSlot(playerid), 14077, 6);
  772.             SetPVarInt(playerid, "RevolverEquiped", 1);
  773.         }
  774.         else
  775.         {
  776.             SetPlayerAttachedObject(playerid, GetLowestUnusedObjectSlot(playerid), 16969, 6);
  777.         }
  778.     }
  779.     return 1;
  780. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement