Guest User

FS Rakete by xXFireXx

a guest
Jun 20th, 2011
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.53 KB | None | 0 0
  1. /*
  2.          ___  ___       ___   _____   _____        _____  __    __
  3.         /   |/   |     /   | |  _  \ | ____|      |  _  \ \ \  / /
  4.        / /|   /| |    / /| | | | | | | |__        | |_| |  \ \/ /
  5.       / / |__/ | |   / / | | | | | | |  __|       |  _  {   \  /
  6.      / /       | |  / /  | | | |_| | | |___       | |_| |   / /
  7.     /_/        |_| /_/   |_| |_____/ |_____|      |_____/  /_/
  8. __    __ __    __  _____   _   _____    _____  __    __ __    __
  9. \ \  / / \ \  / / |  ___| | | |  _  \  | ____| \ \  / / \ \  / /
  10.  \ \/ /   \ \/ /  | |__   | | | |_| |  | |__    \ \/ /   \ \/ /
  11.   }  {     }  {   |  __|  | | |  _  /  |  __|    }  {     }  {
  12.  / /\ \   / /\ \  | |     | | | | \ \  | |___   / /\ \   / /\ \
  13. /_/  \_\ /_/  \_\ |_|     |_| |_|  \_\ |_____| /_/  \_\ /_/  \_\
  14.     http://forum.sa-mp.de/index.php?page=User&userID=11194
  15. ------------------------------------------------------------------
  16.     Credits:
  17.     SA:MP Team - Das dies möglich ist :)
  18.     ZCMD - Zeex
  19.     SSCANF - Unknown...
  20. ------------------------------------------------------------------
  21. */
  22.  
  23. #include <a_samp>
  24. #include <zcmd>
  25. #include <sscanf>
  26. #define cooldown 1 // Wielange die Rakete fürs nachladen brauch 1 = 1 Sekunde
  27. enum cCar
  28. {
  29.     vID,
  30.     vRakete,
  31.     vObjRakete,
  32.     Float:vRaketeWeite,
  33. }
  34. new veH[MAX_VEHICLES][cCar];
  35. new mustWait[MAX_PLAYERS];
  36.  
  37. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  38. {
  39.     if((newkeys & KEY_FIRE) && !(oldkeys & KEY_FIRE) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  40.     {
  41.         new vehid = GetPlayerVehicleID(playerid);
  42.         if(veH[vehid][vRakete] == 1 && mustWait[playerid] == 0)
  43.         {
  44.             new Float:x,Float:y,Float:z,Float:x2,Float:y2,Float:az;
  45.             GetPlayerPos(playerid,x,y,z);
  46.             GetVehicleZAngle(GetPlayerVehicleID(playerid), az);
  47.  
  48.             x2 = x + (veH[vehid][vRaketeWeite] * floatsin(-az, degrees));
  49.             y2 = y + (veH[vehid][vRaketeWeite] * floatcos(-az, degrees));
  50.  
  51.             CreateExplosion(x2,y2,z,0,5.0);
  52.             SetTimerEx("resetwait", cooldown*1000, 0, "i",playerid);
  53.             mustWait[playerid] = 1;
  54.         }
  55.     }
  56.     return 1;
  57. }
  58. public OnFilterScriptExit()
  59. {
  60.     for(new v=0; v < MAX_VEHICLES; v++)
  61.     {
  62.         if(veH[v][vRakete] == 1)
  63.         {
  64.             DestroyObject(veH[v][vObjRakete]);
  65.             veH[v][vRakete] = 0;
  66.         }
  67.     }
  68. }
  69. public OnVehicleDeath(vehicleid)
  70. {
  71.     if(veH[vehicleid][vRakete] == 1){ DestroyObject(veH[vehicleid][vObjRakete]); veH[vehicleid][vRakete] = 0;}
  72. }
  73. CMD:rakete(playerid,params[])
  74. {
  75.     #pragma unused params
  76.     new vehicle = GetPlayerVehicleID(playerid);
  77.     if(IsVehicleCar(GetVehicleModel(vehicle)))
  78.     {
  79.         if(veH[vehicle][vRakete] == 1)
  80.         {
  81.             DestroyObject(veH[vehicle][vObjRakete]);
  82.             veH[vehicle][vRakete] = 0;
  83.         }
  84.         else
  85.         {
  86.             veH[vehicle][vObjRakete] = CreateObject(18848, 0.0 ,0.0,0.0,0.0,0.0,0.0);
  87.             AttachObjectToVehicle(veH[vehicle][vObjRakete], vehicle, 0.0, 0.0, 0.3, 0.0, 0.0, 0.0);
  88.             veH[vehicle][vRakete] = 1;
  89.             veH[vehicle][vRaketeWeite] = 14.0; // Reichweite von der Rakete
  90.         }
  91.     }
  92.     return 1;
  93. }
  94. stock IsVehicleCar(model)
  95. {
  96.       switch(model)
  97.       {
  98.              case 401:return 1;
  99.              case 402:return 1;
  100.              case 404:return 1;
  101.              case 405:return 1;
  102.              case 409:return 1;
  103.              case 410:return 1;
  104.              case 411:return 1;
  105.              case 412:return 1;
  106.              case 415:return 1;
  107.              case 419:return 1;
  108.              case 420:return 1;
  109.              case 421:return 1;
  110.              case 426:return 1;
  111.              case 429:return 1;
  112.              case 434:return 1;
  113.              case 436:return 1;
  114.              case 438:return 1;
  115.              case 439:return 1;
  116.              case 442:return 1;
  117.              case 445:return 1;
  118.              case 451:return 1;
  119.              case 458:return 1;
  120.              case 466:return 1;
  121.              case 467:return 1;
  122.              case 474:return 1;
  123.              case 475:return 1;
  124.              case 477:return 1;
  125.              case 479:return 1;
  126.              case 480:return 1;
  127.              case 491:return 1;
  128.              case 492:return 1;
  129.              case 496:return 1;
  130.              case 506:return 1;
  131.              case 507:return 1;
  132.              case 516:return 1;
  133.              case 517:return 1;
  134.              case 518:return 1;
  135.              case 526:return 1;
  136.              case 527:return 1;
  137.              case 529:return 1;
  138.              case 533:return 1;
  139.              case 534:return 1;
  140.              case 535:return 1;
  141.              case 536:return 1;
  142.              case 540:return 1;
  143.              case 541:return 1;
  144.              case 542:return 1;
  145.              case 545:return 1;
  146.              case 546:return 1;
  147.              case 547:return 1;
  148.              case 549:return 1;
  149.              case 550:return 1;
  150.              case 551:return 1;
  151.              case 555:return 1;
  152.              case 558:return 1;
  153.              case 559:return 1;
  154.              case 560:return 1;
  155.              case 561:return 1;
  156.              case 562:return 1;
  157.              case 565:return 1;
  158.              case 566:return 1;
  159.              case 567:return 1;
  160.              case 575:return 1;
  161.              case 576:return 1;
  162.              case 580:return 1;
  163.              case 585:return 1;
  164.              case 587:return 1;
  165.              case 589:return 1;
  166.              case 596:return 1;
  167.              case 597:return 1;
  168.              case 598:return 1;
  169.              case 600:return 1;
  170.              case 602:return 1;
  171.              case 603:return 1;
  172.       }
  173.       return 0;
  174. }
  175. forward resetwait(playerid);
  176. public resetwait(playerid)
  177. {
  178.     mustWait[playerid] = 0;
  179. }
Advertisement
Add Comment
Please, Sign In to add comment