ChainsBoy

Teetõkked ja Siilid

Oct 30th, 2012
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.46 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <SpikeStrip>
  4.  
  5. #define MAX_TEETOKKED 200
  6.  
  7. //TEETÕKKED
  8. enum rInfo
  9. {
  10.     sCreated,
  11.     Float:sX,
  12.     Float:sY,
  13.     Float:sZ,
  14.     sObject,
  15. };
  16. new Teetokke[MAX_TEETOKKED][rInfo];
  17.  
  18. enum pInfo
  19. {
  20.     pTeetokke,
  21.     mFranks
  22. };
  23.  
  24. forward SafeSetPlayerPos(playerid, Float:x, Float:y, Float:z);
  25.  
  26. //Siilid
  27. strtok(const string[], &index)
  28. {
  29.     new length = strlen(string);
  30.     while ((index < length) && (string[index] <= ' '))
  31.     {
  32.         index++;
  33.     }
  34.  
  35.     new offset = index;
  36.     new result[20];
  37.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  38.     {
  39.         result[index - offset] = string[index];
  40.         index++;
  41.     }
  42.     result[index - offset] = EOS;
  43.     return result;
  44. }
  45.  
  46. new KasutajaInfo[MAX_PLAYERS][pInfo];
  47.  
  48. public OnPlayerCommandText(playerid, cmdtext[])
  49. //Siilid
  50. {
  51. if (KasutajaInfo[playerid][mFranks] != 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "Sa pole politseinik!");
  52. {
  53.     new cmd[256];
  54.     new idx;
  55.     cmd = strtok(cmdtext, idx);
  56.  
  57.     if (strcmp(cmd,"/siilid",true) == 0)
  58.     {
  59.         new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
  60.         GetPlayerPos(playerid, plocx, plocy, plocz);
  61.         GetPlayerFacingAngle(playerid,ploca);
  62.         CreateStrip(plocx,plocy,plocz,ploca);
  63.         GameTextForPlayer(playerid,"~w~Siilid ~w~paigaldatud!",2500,1);
  64.         return 1;
  65.     }
  66.     else if (strcmp(cmd,"/esiilid",true) == 0)
  67.     {
  68.         DeleteClosestStrip(playerid);
  69.         GameTextForPlayer(playerid,"~w~Siilid ~w~eemaldatud!",2500,1);
  70.         return 1;
  71.     }
  72.     else if (strcmp(cmd,"/eksiilid",true) == 0)
  73.     {
  74.         DeleteAllStrip();
  75.         GameTextForPlayer(playerid,"~w~Koik ~w~siilid ~w~eemaldatud!",2500,1);
  76.         return 1;
  77.     }
  78.  
  79.     //Valikud mida kasutaja teha saab
  80.     if (strcmp("/tt", cmdtext, true, 10) == 0)
  81.     {
  82.     SendClientMessage(playerid, 0xFFFFFFAA, "Siin on paar abi cmd:");
  83.     SendClientMessage(playerid, 0xFFFFFFAA, "/tt1 = Väike teetõkke");
  84.     SendClientMessage(playerid, 0xFFFFFFAA, "/tt2 = Keskmine teetõkke");
  85.     SendClientMessage(playerid, 0xFFFFFFAA, "/tt3 = Suur teetõkke");
  86.     SendClientMessage(playerid, 0xFFFFFFAA, "/tt4 = Koonus");
  87.     SendClientMessage(playerid, 0xFFFFFFAA, "/tt5 = Silt posti küljes");
  88.     SendClientMessage(playerid, 0xFFFFFFAA, "/tt6 = Silt maas");
  89.     SendClientMessage(playerid, 0xFFFFFFAA, "/tt7 = Suurem silt maas");
  90.     SendClientMessage(playerid, 0xFFFFFFAA, "/ett = Eemaldab kõige lähedama tõkke");
  91.     SendClientMessage(playerid, 0xFFFFFFAA, "/ektt = Eemaldab kõik teetõkked");
  92.     return 1;
  93.     }
  94.     //Kasutaja lisab teetõkke
  95.     else if (strcmp("/tt1", cmdtext, true, 10) == 0)
  96.     {
  97.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  98.         new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
  99.         GetPlayerPos(playerid, plocx, plocy, plocz);
  100.         GetPlayerFacingAngle(playerid,ploca);
  101.         CreateTeetokke(1459,plocx,plocy,plocz,ploca);
  102.         GameTextForPlayer(playerid,"~w~Teetokke ~w~paigaldatud!",2500,1);
  103.         return 1;
  104.     }
  105.     else if (strcmp("/tt2", cmdtext, true, 10) == 0)
  106.     {
  107.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  108.         new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
  109.         GetPlayerPos(playerid, plocx, plocy, plocz);
  110.         GetPlayerFacingAngle(playerid,ploca);
  111.         CreateTeetokke(978,plocx,plocy,plocz+0.6,ploca);
  112.         GameTextForPlayer(playerid,"~w~Teetokke ~w~paigaldatud!",2500,1);
  113.         return 1;
  114.     }
  115.     else if (strcmp("/tt3", cmdtext, true, 10) == 0)
  116.     {
  117.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  118.         new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
  119.         GetPlayerPos(playerid, plocx, plocy, plocz);
  120.         GetPlayerFacingAngle(playerid,ploca);
  121.         CreateTeetokke(981,plocx,plocy,plocz+0.9,ploca+180);
  122.         GameTextForPlayer(playerid,"~w~Teetokke ~w~paigaldatud!",2500,1);
  123.         SafeSetPlayerPos(playerid, plocx, plocy+5, plocz);
  124.         return 1;
  125.     }
  126.     else if (strcmp("/tt4", cmdtext, true, 10) == 0)
  127.     {
  128.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  129.         new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
  130.         GetPlayerPos(playerid, plocx, plocy, plocz);
  131.         GetPlayerFacingAngle(playerid,ploca);
  132.         CreateTeetokke(1238,plocx,plocy,plocz+0.2,ploca);
  133.         GameTextForPlayer(playerid,"~w~Koonus ~w~paigaldatud!",2500,1);
  134.         return 1;
  135.     }
  136.     else if (strcmp("/tt5", cmdtext, true, 10) == 0)
  137.     {
  138.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  139.         new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
  140.         GetPlayerPos(playerid, plocx, plocy, plocz);
  141.         GetPlayerFacingAngle(playerid,ploca);
  142.         CreateTeetokke(1425,plocx,plocy,plocz+0.6,ploca);
  143.         GameTextForPlayer(playerid,"~w~Silt ~w~paigaldatud!",2500,1);
  144.         return 1;
  145.     }
  146.     else if (strcmp("/tt6", cmdtext, true, 10) == 0)
  147.     {
  148.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  149.         new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
  150.         GetPlayerPos(playerid, plocx, plocy, plocz);
  151.         GetPlayerFacingAngle(playerid,ploca);
  152.         CreateTeetokke(3265,plocx,plocy,plocz-0.5,ploca);
  153.         GameTextForPlayer(playerid,"~w~Silt ~w~paigaldatud!",2500,1);
  154.         return 1;
  155.     }
  156.     else if (strcmp("/tt7", cmdtext, true, 10) == 0)
  157.     {
  158.         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  159.         new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
  160.         GetPlayerPos(playerid, plocx, plocy, plocz);
  161.         GetPlayerFacingAngle(playerid,ploca);
  162.         CreateTeetokke(3091,plocx,plocy,plocz+0.5,ploca+180);
  163.         GameTextForPlayer(playerid,"~w~Silt ~w~paigaldatud!",2500,1);
  164.         return 1;
  165.     }
  166.     //Eemaldab kõik teetõkked
  167.     if (strcmp ("/ektt", cmdtext, true, 10) == 0)
  168.     {
  169.     for(new i = 0; i < sizeof(Teetokke); i++)
  170.     {
  171.         if(IsPlayerInRangeOfPoint(playerid, 10000000000000, Teetokke[i][sX], Teetokke[i][sY], Teetokke[i][sZ]))
  172.         {
  173.             if(Teetokke[i][sCreated] == 1)
  174.             {
  175.                 Teetokke[i][sCreated] = 0;
  176.                 Teetokke[i][sX] = 0.0;
  177.                 Teetokke[i][sY] = 0.0;
  178.                 Teetokke[i][sZ] = 0.0;
  179.                 DestroyDynamicObject(Teetokke[i][sObject]);
  180.                 SendClientMessage(playerid, 0xFFFFFFAA, "Kõik teetõkked eemaldatud");
  181.                 GameTextForPlayer(playerid,"~w~Koik ~w~Teetokked ~w~eemaldatud!",2500,1);
  182.             }
  183.         }
  184.     }
  185.  
  186.  
  187.     return 1;
  188.     }
  189.     //Eemaldab ühe teetõkkke
  190.     if (strcmp ("/ett", cmdtext, true, 10) == 0)
  191.     {
  192.     for(new i = 0; i < sizeof(Teetokke); i++)
  193.     {
  194.         if(IsPlayerInRangeOfPoint(playerid, 5.0, Teetokke[i][sX], Teetokke[i][sY], Teetokke[i][sZ]))
  195.         {
  196.             if(Teetokke[i][sCreated] == 1)
  197.             {
  198.                 Teetokke[i][sCreated] = 0;
  199.                 Teetokke[i][sX] = 0.0;
  200.                 Teetokke[i][sY] = 0.0;
  201.                 Teetokke[i][sZ] = 0.0;
  202.                 DestroyDynamicObject(Teetokke[i][sObject]);
  203.                 SendClientMessage (playerid, 0xFFFFFFAA, "Eemaldasid teetõkke");
  204.                 GameTextForPlayer(playerid,"~w~Teetokke ~w~eemaldatud!",2500,1);
  205.                 return 1;
  206.             }
  207.         }
  208.     }
  209.  
  210.  
  211.     return 1;
  212.     }
  213.     return 1;
  214.     }
  215. }
  216.  
  217. stock CreateTeetokke(Object,Float:x,Float:y,Float:z,Float:Angle)
  218. {
  219.     for(new i = 0; i < sizeof(Teetokke); i++)
  220.     {
  221.         if(Teetokke[i][sCreated] == 0)
  222.         {
  223.             Teetokke[i][sCreated] = 1;
  224.             Teetokke[i][sX] = x;
  225.             Teetokke[i][sY] = y;
  226.             Teetokke[i][sZ] = z-0.7;
  227.             Teetokke[i][sObject] = CreateDynamicObject(Object, x, y, z-0.9, 0, 0, Angle);
  228.             return 1;
  229.         }
  230.     }
  231.     return 0;
  232. }
  233.  
  234. public SafeSetPlayerPos(playerid, Float:x, Float:y, Float:z)
  235. {
  236.     SetPlayerPos(playerid, x,y,z);
  237.     return 1;
  238. }
Advertisement
Add Comment
Please, Sign In to add comment