Advertisement
Guest User

Untitled

a guest
Jul 21st, 2013
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.85 KB | None | 0 0
  1. //* Das Filterscript wurde geschrieben von Mert_Coleman und Syfox *//
  2.  
  3.  
  4.  
  5. #include <a_samp>
  6. #include <zcmd>
  7. #include <streamer>
  8. #include <foreach>
  9.  
  10. #define GRAU 0xAFAFAFAA
  11. #define WEIß 0xFFFFFFAA
  12. #define GELB 0xFFFF00AA
  13. #define Raketenhöhe 50
  14. #define Raketenverbreitung 30
  15. #define MAX_STARTS 20
  16. #define MAX_FEUERWERKE 100
  17.  
  18. new Raket[MAX_STARTS],
  19.     Raketenlicht[MAX_STARTS],
  20.     Raketenrauch[MAX_STARTS],
  21.     Raketenexplosion[MAX_STARTS],
  22.     Float:rx[MAX_STARTS],
  23.     Float:ry[MAX_STARTS],
  24.     Float:rz[MAX_STARTS],
  25.     FeuerwerkTotal,
  26.     Schuesse;
  27.  
  28.  
  29.  
  30. public OnFilterScriptInit()
  31. {
  32.  
  33. }
  34.  
  35. public OnFilterScriptExit()
  36. {
  37.  
  38. }
  39.  
  40.  
  41. forward Feuerwerk(i);
  42. public Feuerwerk(i)
  43. {
  44.     new Float:x, Float:y, Float:z;
  45.     x = rx[i];
  46.     y = ry[i];
  47.     z = rz[i];
  48.     z += Raketenhöhe;
  49.     if (Raketenexplosion[i] == 0)
  50.     {
  51.         DestroyDynamicObject(Raket[i]);
  52.         DestroyDynamicObject(Raketenlicht[i]);
  53.         DestroyDynamicObject(Raketenrauch[i]);
  54.         CreateExplosion(x ,y, z, 4, 10);
  55.         CreateExplosion(x ,y, z, 5, 10);
  56.         CreateExplosion(x ,y, z, 6, 10);
  57.     }
  58.     else if (Raketenexplosion[i] >= MAX_FEUERWERKE)
  59.     {
  60.         for (new j = 0; j <= Raketenverbreitung; j++)
  61.         {
  62.             CreateExplosion(x + float(j - (Raketenverbreitung / 2)), y, z, 7, 10);
  63.             CreateExplosion(x, y + float(j - (Raketenverbreitung / 2)), z, 7, 10);
  64.             CreateExplosion(x, y, z + float(j - (Raketenverbreitung / 2)), 7, 10);
  65.         }
  66.         Raketenexplosion[i] = -1;
  67.         FeuerwerkTotal = 0;
  68.         Schuesse = 0;
  69.         return 1;
  70.     }
  71.     else
  72.     {
  73.         x += float(random(Raketenhöhe) - (Raketenhöhe / 2));
  74.         y += float(random(Raketenhöhe) - (Raketenhöhe / 2));
  75.         z += float(random(Raketenhöhe) - (Raketenhöhe / 2));
  76.         CreateExplosion(x, y, z, 7, 10);
  77.     }
  78.     Raketenexplosion[i]++;
  79.     SetTimerEx("Feuerwerk", 250, 0, "i", i);
  80.     return 1;
  81. }
  82.  
  83.  
  84. CMD:fwplatzieren(playerid, params[])
  85. {
  86.     if(IsPlayerAdmin(playerid))
  87.     {
  88.         if(FeuerwerkTotal == MAX_STARTS)
  89.         {
  90.             SendClientMessage(playerid, WEIß, "Du hast die maximale Anzahl von Feuerwerkskörpern zu setzen erreicht");
  91.             return 1;
  92.         }
  93.         if(Schuesse == 1)
  94.         {
  95.             SendClientMessage(playerid, WEIß, "Warte bis deine Feuerwerke platzen bevor du neue legst");
  96.             return 1;
  97.         }
  98.         new string[128],name[24];
  99.         GetPlayerName(playerid, name, 24);
  100.         format(string, sizeof(string), "%s hat ein Feuerwerk platziert",name );
  101.         new Float:x, Float:y, Float:z, Float:a;
  102.         GetPlayerPos(playerid, x, y, z);
  103.         foreach(Player, i)
  104.         {
  105.             if(IsPlayerInRangeOfPoint(i, 30, x, y, z)) {
  106.                 SendClientMessage(i, GELB, string);
  107.             }
  108.         }
  109.         GetPlayerFacingAngle(playerid, a);
  110.         x += (2 * floatsin(-a, degrees));
  111.         y += (2 * floatcos(-a, degrees));
  112.         Raket[FeuerwerkTotal] = CreateDynamicObject(3786, x, y, z, 0, 90, 0);
  113.         Raketenlicht[FeuerwerkTotal] = CreateDynamicObject(354, x, y, z + 1, 0, 90, 0);
  114.         Raketenrauch[FeuerwerkTotal] = CreateDynamicObject(18716, x, y, z - 4, 0, 0, 0);
  115.         rx[FeuerwerkTotal] = x;
  116.         ry[FeuerwerkTotal] = y;
  117.         rz[FeuerwerkTotal] = z;
  118.         Raketenexplosion[FeuerwerkTotal] = 0;
  119.         FeuerwerkTotal++;
  120.     }
  121.     return 1;
  122. }
  123.  
  124. CMD:fwstarten(playerid, params[])
  125. {
  126.     if(IsPlayerAdmin(playerid))
  127.     {
  128.         if(FeuerwerkTotal == 0)
  129.         {
  130.             SendClientMessage(playerid, WEIß, "Du hast noch keine Feuerwerke bei dir");
  131.             return 1;
  132.         }
  133.         if(Schuesse == 1)
  134.         {
  135.             SendClientMessage(playerid, WEIß, "Du hast deine Feuerwerke bereits abgefeuert");
  136.             return 1;
  137.         }
  138.         for(new i = 0; i < FeuerwerkTotal; i++)
  139.         {
  140.             CreateExplosion(rx[i] ,ry[i], rz[i], 12, 5);
  141.             new time = MoveDynamicObject(Raket[i], rx[i] ,ry[i], rz[i] + Raketenhöhe, 10);
  142.             MoveDynamicObject(Raketenlicht[i], rx[i] ,ry[i], rz[i] + 2 + Raketenhöhe, 10);
  143.             MoveDynamicObject(Raketenrauch[i], rx[i] ,ry[i], rz[i] + Raketenhöhe, 10);
  144.             SetTimerEx("Feuerwerk", time, 0, "i", i);
  145.         }
  146.         Schuesse = 1;
  147.     }
  148.     return 1;
  149. }
  150.  
  151. //* by Mert_Coleman & Syfox *//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement