Advertisement
Guest User

Kar Sistemi vers3 - Fornâks

a guest
Dec 6th, 2013
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.46 KB | None | 0 0
  1. /*
  2.  
  3. Kar sistemi vers3
  4. Fornâks tarafından kodlanmıştır, izinsiz paylaşılamaz.
  5.  
  6. */
  7.  
  8. #include <a_samp>
  9.  
  10. // Kar Sistemi Ayarları
  11. new Kar = 1; // 1: Sunucu açıldığında sistem aktif - 0: Sunucu açıldığında sistem pasif
  12. new KarSeviye = 2; // 1: Az - 2: Normal - 3: Ortalama Üstü (Oyun içerisinde değiştirebilirsiniz)
  13.  
  14. new Obje[MAX_PLAYERS][6];
  15. new Silindi[MAX_PLAYERS];
  16. new OyuncuTimer[MAX_PLAYERS];
  17. new Girdi[MAX_PLAYERS];
  18. forward KarGuncelle(playerid);
  19.  
  20. public OnFilterScriptInit()
  21. {
  22.         print("\n-------------------------------------");
  23.         print(" Kar Sistemi vers3 - Fornâks");
  24.         print("-------------------------------------\n");
  25.         return 1;
  26. }
  27.  
  28. public OnFilterScriptExit()
  29. {
  30.         return 1;
  31. }
  32.  
  33. public OnPlayerConnect(playerid)
  34. {
  35.         Girdi[playerid] = 1;
  36.         return 1;
  37. }
  38.  
  39. public OnPlayerDisconnect(playerid)
  40. {
  41.     if(Kar == 1)
  42.     {
  43.         DestroyPlayerObject(playerid,Obje[playerid][0]);
  44.         DestroyPlayerObject(playerid,Obje[playerid][1]);
  45.         DestroyPlayerObject(playerid,Obje[playerid][2]);
  46.         DestroyPlayerObject(playerid,Obje[playerid][3]);
  47.         DestroyPlayerObject(playerid,Obje[playerid][4]);
  48.         DestroyPlayerObject(playerid,Obje[playerid][5]);
  49.         Silindi[playerid] = 0;
  50.         KillTimer(OyuncuTimer[playerid]);
  51.         return 1;
  52.     }
  53. }
  54.  
  55. public OnPlayerSpawn(playerid)
  56. {
  57.     if(Kar == 1)
  58.     {
  59.         OyuncuTimer[playerid] = SetTimerEx("KarGuncelle",500,true,"i",playerid);
  60.         return 1;
  61.     }
  62. }
  63.  
  64. public OnPlayerCommandText(playerid,cmdtext[])
  65. {
  66.     new cmd[256];
  67.     new tmp[248],idx;
  68.     cmd = strtok(cmdtext, idx);
  69.     if(strcmp(cmd,"/kar",true) == 0)
  70.     {
  71.         if(IsPlayerAdmin(playerid))
  72.         {
  73.             if(Kar == 1)
  74.             {
  75.                 Kar = 0;
  76.                 SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi {AF0000}pasif {DCDCDC}hale getirildi.");
  77.                 for(new pl; pl < MAX_PLAYERS; pl++)
  78.                 {
  79.                         DestroyPlayerObject(pl,Obje[playerid][0]);
  80.                         DestroyPlayerObject(pl,Obje[playerid][1]);
  81.                         DestroyPlayerObject(pl,Obje[playerid][2]);
  82.                         DestroyPlayerObject(pl,Obje[playerid][3]);
  83.                         DestroyPlayerObject(pl,Obje[playerid][4]);
  84.                         DestroyPlayerObject(pl,Obje[playerid][5]);
  85.                         KillTimer(OyuncuTimer[pl]);
  86.                 }
  87.             }
  88.             else
  89.             {
  90.                 Kar = 1;
  91.                 SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi {83C800}aktif {DCDCDC}hale getirildi.");
  92.                 for(new pl; pl < MAX_PLAYERS; pl++)
  93.                 {
  94.                         new Float:X,Float:Y,Float:Z;
  95.                         GetPlayerPos(pl,X,Y,Z);
  96.                         if(KarSeviye == 1)
  97.                         {
  98.                             Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
  99.                         }
  100.                         if(KarSeviye == 2)
  101.                         {
  102.                             Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
  103.                             Obje[pl][1] = CreatePlayerObject(pl,18864,X-3.5,Y-1.5,Z-15.5,0,0,45,0);
  104.                         }
  105.                         if(KarSeviye == 3)
  106.                         {
  107.                             Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
  108.                             Obje[pl][1] = CreatePlayerObject(pl,18864,X-3.5,Y-2.5,Z-17,0,0,45,0);
  109.                             Obje[pl][2] = CreatePlayerObject(pl,18864,X-7,Y-5,Z-19,0,0,135,0);
  110.                         }
  111.                         OyuncuTimer[pl] = SetTimerEx("KarGuncelle",500,true,"i",pl);
  112.                 }
  113.             }
  114.             return 1;
  115.         }
  116.     }
  117.  
  118.     if(strcmp(cmd,"/karseviye",true) == 0)
  119.     {
  120.         if(IsPlayerAdmin(playerid))
  121.         {
  122.             if(Kar == 0)
  123.             {
  124.                 SendClientMessage(playerid,-1,"{F60000}HATA:{DCDCDC} Kar sistemi pasif durumdayken seviye değişemezsiniz.");
  125.                 return 1;
  126.             }
  127.             else
  128.             {
  129.                 tmp = strtok(cmdtext,idx);
  130.                 if(!strlen(tmp))
  131.                 {
  132.                     SendClientMessage(playerid,-1,"{F60000}HATA:{DCDCDC} Geçerli bir seviye girin!");
  133.                     SendClientMessage(playerid,-1,"{DCDCDC}1: Ortalama altı - 2: Ortalama - 3: Ortalama Üstü");
  134.                     return 1;
  135.                 }
  136.                 else
  137.                 {
  138.                     new seviye; seviye = strval(tmp);
  139.                     if(seviye < 1 || seviye > 3) { SendClientMessage(playerid,-1,"{F60000}HATA:{DCDCDC} Geçerli bir kar seviyesi seçin."); SendClientMessage(playerid,-1,"{DCDCDC}1: Ortalama altı - 2: Ortalama - 3: Ortalama Üstü"); return 1; }
  140.                     KarSeviye = seviye;
  141.                     for(new pl; pl < MAX_PLAYERS; pl++)
  142.                     {
  143.                             new Float:X,Float:Y,Float:Z;
  144.                             GetPlayerPos(pl,X,Y,Z);
  145.                             DestroyPlayerObject(pl,Obje[playerid][0]);
  146.                             DestroyPlayerObject(pl,Obje[playerid][1]);
  147.                             DestroyPlayerObject(pl,Obje[playerid][2]);
  148.                             DestroyPlayerObject(pl,Obje[playerid][3]);
  149.                             DestroyPlayerObject(pl,Obje[playerid][4]);
  150.                             DestroyPlayerObject(pl,Obje[playerid][5]);
  151.                             if(KarSeviye == 1)
  152.                             {
  153.                                 Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
  154.                             }
  155.                             if(KarSeviye == 2)
  156.                             {
  157.                                 Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
  158.                                 Obje[pl][1] = CreatePlayerObject(pl,18864,X-3.5,Y-1.5,Z-15.5,0,0,45,0);
  159.                             }
  160.                             if(KarSeviye == 3)
  161.                             {
  162.                                 Obje[pl][0] = CreatePlayerObject(pl,18864,X,Y,Z-15,0,0,-45,0);
  163.                                 Obje[pl][1] = CreatePlayerObject(pl,18864,X-3.5,Y-1.5,Z-15.5,0,0,45,0);
  164.                                 Obje[pl][2] = CreatePlayerObject(pl,18864,X-7,Y-3,Z-16,0,0,135,0);
  165.                             }
  166.                     }
  167.                     if(seviye == 1)
  168.                     {
  169.                         SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi seviyesi{83C800} ortalama altı {DCDCDC}seviyeye getirildi.");
  170.                     }
  171.                     else if(seviye == 2)
  172.                     {
  173.                         SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi seviyesi{83C800} ortalama {DCDCDC}seviyeye getirildi.");
  174.                     }
  175.                     else if(seviye == 3)
  176.                     {
  177.                         SendClientMessageToAll(-1,"{638AB6}SİSTEM:{DCDCDC} Kar sistemi seviyesi{83C800} ortalama üstü {DCDCDC}seviyeye getirildi.");
  178.                     }
  179.                 }
  180.             }
  181.             return 1;
  182.         }
  183.     }
  184. }
  185.  
  186. public KarGuncelle(playerid)
  187. {
  188.     if(Kar)
  189.     {
  190.         new Float:oX,Float:oY,Float:oZ;
  191.         GetPlayerObjectPos(playerid, Obje[playerid][0], oX, oY, oZ);
  192.         new Float:X,Float:Y,Float:Z,in;
  193.         in = GetPlayerInterior(playerid);
  194.         GetPlayerPos(playerid,X,Y,Z);
  195.         if(Girdi[playerid] == 1 && in == 0)
  196.         {
  197.             if(KarSeviye == 1)
  198.             {
  199.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  200.                 Girdi[playerid] = 0;
  201.             }
  202.             if(KarSeviye == 2)
  203.             {
  204.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  205.                 Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
  206.                 Girdi[playerid] = 0;
  207.             }
  208.             if(KarSeviye == 3)
  209.             {
  210.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  211.                 Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
  212.                 Obje[playerid][2] = CreatePlayerObject(playerid,18864,X-7,Y+2.5,Z-19,0,0,135,0);
  213.                 Girdi[playerid] = 0;
  214.             }
  215.             return 1;
  216.         }
  217.         else if(in == 0 && Silindi[playerid] == 0 && !IsPlayerInRangeOfPoint(playerid, 6.5, oX, oY, oZ))
  218.         {
  219.             if(KarSeviye == 1)
  220.             {
  221.                 DestroyPlayerObject(playerid,Obje[playerid][1]);
  222.                 Obje[playerid][1] = Obje[playerid][0];
  223.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  224.                
  225.             }
  226.             else if(KarSeviye == 2)
  227.             {
  228.                 DestroyPlayerObject(playerid,Obje[playerid][2]);
  229.                 DestroyPlayerObject(playerid,Obje[playerid][3]);
  230.                 Obje[playerid][2] = Obje[playerid][0];
  231.                 Obje[playerid][3] = Obje[playerid][1];
  232.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  233.                 Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
  234.             }
  235.             else if(KarSeviye == 3)
  236.             {
  237.                 DestroyPlayerObject(playerid,Obje[playerid][3]);
  238.                 DestroyPlayerObject(playerid,Obje[playerid][4]);
  239.                 DestroyPlayerObject(playerid,Obje[playerid][5]);
  240.                 Obje[playerid][3] = Obje[playerid][0];
  241.                 Obje[playerid][4] = Obje[playerid][1];
  242.                 Obje[playerid][5] = Obje[playerid][2];
  243.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  244.                 Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
  245.                 Obje[playerid][2] = CreatePlayerObject(playerid,18864,X-7,Y+2.5,Z-19,0,0,135,0);
  246.             }
  247.             return 1;
  248.         }
  249.         else if(in == 0 && Silindi[playerid] == 1)
  250.         {
  251.             if(KarSeviye == 1)
  252.             {
  253.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  254.             }
  255.             if(KarSeviye == 2)
  256.             {
  257.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  258.                 Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
  259.             }
  260.             if(KarSeviye == 3)
  261.             {
  262.                 Obje[playerid][0] = CreatePlayerObject(playerid,18864,X,Y,Z-15,0,0,-45,0);
  263.                 Obje[playerid][1] = CreatePlayerObject(playerid,18864,X-3.5,Y-2.5,Z-17.5,0,0,45,0);
  264.                 Obje[playerid][2] = CreatePlayerObject(playerid,18864,X-7,Y+2.5,Z-19,0,0,135,0);
  265.             }
  266.             Silindi[playerid] = 0;
  267.             return 1;
  268.         }
  269.         else if(in != 0 && Silindi[playerid] == 0)
  270.         {
  271.             DestroyPlayerObject(playerid,Obje[playerid][0]);
  272.             DestroyPlayerObject(playerid,Obje[playerid][1]);
  273.             DestroyPlayerObject(playerid,Obje[playerid][2]);
  274.             DestroyPlayerObject(playerid,Obje[playerid][3]);
  275.             DestroyPlayerObject(playerid,Obje[playerid][4]);
  276.             DestroyPlayerObject(playerid,Obje[playerid][5]);
  277.             Silindi[playerid] = 1;
  278.             return 1;
  279.         }
  280.         return 1;
  281.     }
  282.     else
  283.     {
  284.         if(Obje[playerid][0])
  285.         {
  286.             DestroyPlayerObject(playerid,Obje[playerid][0]);
  287.             DestroyPlayerObject(playerid,Obje[playerid][1]);
  288.             DestroyPlayerObject(playerid,Obje[playerid][2]);
  289.             DestroyPlayerObject(playerid,Obje[playerid][3]);
  290.             DestroyPlayerObject(playerid,Obje[playerid][4]);
  291.             DestroyPlayerObject(playerid,Obje[playerid][5]);
  292.             Silindi[playerid] = 1;
  293.         }
  294.     }
  295.     return 1;
  296. }
  297.  
  298. strtok(string[],&idx,seperator = ' ')
  299. {
  300.     new ret[128], i = 0, len = strlen(string);
  301.     while(string[idx] == seperator && idx < len) idx++;
  302.     while(string[idx] != seperator && idx < len)
  303.     {
  304.         ret[i] = string[idx];
  305.         i++;
  306.         idx++;
  307.     }
  308.     while(string[idx] == seperator && idx < len) idx++;
  309.     return ret;
  310. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement