Advertisement
Guest User

FILTER SKRIPTA PRIJATELJI

a guest
Jun 21st, 2020
551
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 29.68 KB | None | 0 0
  1. #include <a_samp>
  2. #include <SII>
  3.  
  4. #define MAX_ARKADAS 20         
  5. #define MAX_GRUP 100           
  6. #define MAX_GRUP_KATILIMCI 20  
  7. #define ARK_DIALOG 3500        
  8.  
  9. #define isnull(%1) ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  10. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  11.  
  12. new arkList[MAX_PLAYERS][MAX_ARKADAS][24];
  13.  
  14. enum gData
  15. {
  16.     g_Var,
  17.     g_isim[24],
  18.     g_kurucu[24]
  19. };
  20. new grupVeri[MAX_GRUP][gData];
  21. new grupOyn[MAX_GRUP][MAX_GRUP_KATILIMCI][24];
  22. public OnFilterScriptExit()
  23. {
  24.     return 1;
  25. }
  26.  
  27.  
  28. public OnPlayerConnect(playerid)
  29. {
  30.     ArkYukle(playerid);
  31.     SetPVarInt(playerid, "msj_gID", -1);
  32.     return 1;
  33. }
  34.  
  35. public OnPlayerDisconnect(playerid, reason)
  36. {
  37.     ArkKayit(playerid);
  38.     return 1;
  39. }
  40.  
  41. dcmd_gr(playerid, params[])
  42. {
  43.     new str[128];
  44.     for(new i; i<strlen(params); i++) format(str, 128, "%s - %d", str, params[i]);
  45.     SendClientMessage(playerid, -1, str);
  46.     return 1;
  47. }
  48.  
  49. dcmd_fr(playerid, params[])
  50. {
  51.     new g_msj[256];
  52.     if(strlen(params) == 0) return MesajGonder(playerid, "Upotreba: /fr [Poruka]", 0);
  53.     new g_id = GetPVarInt(playerid, "msj_gID");
  54.     if(g_id == -1) return MesajGonder(playerid, "Prvo izaberite grupu! ('/prijatelji > Grupe za prijatelje')", 0);
  55.  
  56.     format(g_msj, sizeof(g_msj), ">> [GRUPA] {FF0000}[%s] {00A1FF}[%s]{FFFFFF}: %s", grupVeri[g_id][g_isim], Isim(playerid), params);
  57.     GrubaMesajGonder(g_id, g_msj);
  58.  
  59.     return 1;
  60. }
  61.  
  62. public OnPlayerCommandText(playerid, cmdtext[])
  63. {
  64.     dcmd(fr, 1, cmdtext);
  65.     dcmd(gr, 2, cmdtext);
  66.    
  67.     if (strcmp("/prijatelji", cmdtext, true, 10) == 0)
  68.     {
  69.         KomutGoster(playerid);
  70.         return 1;
  71.     }
  72.    
  73.     //------------------------------------
  74.    
  75.     if (strcmp("/gc", cmdtext, true, 10) == 0)
  76.     {
  77.         for(new g; g<MAX_GRUP; g++) if(grupVeri[g][g_Var] == 1) grupKayit(g);
  78.         return 1;
  79.     }
  80.    
  81.     if (strcmp("/grupe", cmdtext, true, 10) == 0)
  82.     {
  83.         new str[512];
  84.         for(new i; i<MAX_GRUP; i++)
  85.         {
  86.             if(strlen(grupVeri[i][g_isim])) format(str, sizeof(str), "%s\n%s", str, grupVeri[i][g_isim]);
  87.         }
  88.         ShowPlayerDialog(playerid, 123, DIALOG_STYLE_MSGBOX, "grupe", str, "OK", "");
  89.         return 1;
  90.     }
  91.     return 0;
  92. }
  93.  
  94. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  95. {
  96.     if(dialogid == ARK_DIALOG)
  97.     {
  98.         if(response)
  99.         {
  100.             if(listitem == 0)
  101.             {
  102.                 ShowPlayerDialog(playerid, ARK_DIALOG+4, DIALOG_STYLE_LIST, "Dodaj Prijatelja", "{FF0000}* {FFA500}Unesi ID\n{FF0000}* {FFA500} ", "Dalje >>", "<< Nazad");
  103.             }
  104.             else if(listitem == 1)
  105.             {
  106.                 GrupListGoster(playerid);
  107.             }
  108.             else
  109.             {
  110.                 SetPVarString(playerid, "tmp_aIsim", inputtext);
  111.                 new baslik[48];
  112.                 format(baslik, sizeof(baslik), "{40E0D0}%s", inputtext);
  113.                 ShowPlayerDialog(playerid, ARK_DIALOG+15, DIALOG_STYLE_LIST, baslik, "{FFA500}Posalji privatnu poruku\n{FFA500}Izadji", "Odaberi", "<< Nazad");
  114.             }
  115.         }
  116.     }
  117.    
  118.     if(dialogid == ARK_DIALOG+1)
  119.     {
  120.         if(response)
  121.         {
  122.             if(!isNumeric(inputtext)) return ShowPlayerDialog(playerid, ARK_DIALOG+1, DIALOG_STYLE_INPUT, "Dodaj prijatelja", "{FF0000}Greska: {FFA500}Koristite brojeve!\n\n{71B1FF}Napisi ID osobe:", "Dodaj", "<< Nazad");
  123.             if(!IsPlayerConnected(strval(inputtext)) || strval(inputtext) == playerid) return ShowPlayerDialog(playerid, ARK_DIALOG+1, DIALOG_STYLE_INPUT, "Dodaj prijatelja", "{FF0000}Greska: {FFA500}Igrac nije povezan ili si sam sebe\n\n{71B1FF}Napisi id osobe koju zelis za prijatelja:", "Dodaj", "<< Nazad");
  124.             SetPVarString(strval(inputtext), "istek_Atan", Isim(playerid));
  125.             new i_str[100]; format(i_str, sizeof(i_str), "%s Poslao vam je zahtev za prijateljstvo.", Isim(playerid));
  126.             ShowPlayerDialog(strval(inputtext), ARK_DIALOG+2, DIALOG_STYLE_MSGBOX, "Zahtev za prijateljstvo", i_str, "Prihvati", "Odbi");
  127.         }
  128.         else ShowPlayerDialog(playerid, ARK_DIALOG+4, DIALOG_STYLE_LIST, "Dodaj prijatelja", "{FF0000}* {FFA500}Unesi ID\n{FF0000}* {FFA500} ", "Dalje >>", "<< Nazad");
  129.     }
  130.    
  131.     if(dialogid == ARK_DIALOG+2)
  132.     {
  133.         if(response)
  134.         {
  135.             new eklenecek[24];
  136.             GetPVarString(playerid, "istek_Atan", eklenecek, sizeof(eklenecek));
  137.             if(!IsPlayerConnected(GetPlayerIdFromName(eklenecek))) return MesajGonder(playerid, "Igrac nije tu!", 0);
  138.             ArkadasEkle(playerid, eklenecek);
  139.         }
  140.     }
  141.    
  142.     if(dialogid == ARK_DIALOG+3)
  143.     {
  144.         if(response)
  145.         {
  146.             if(!IsPlayerConnected(GetPlayerIdFromName(inputtext)) || GetPlayerIdFromName(inputtext) == playerid) return ShowPlayerDialog(playerid, ARK_DIALOG+3, DIALOG_STYLE_INPUT, "Dodaj Prijatelja", "{FF0000}Greska: {FFA500}Igrac nije povezan ili ste to vi!\n\n{71B1FF}Napisi nadimak te osobe:", "Dodati", "<< Nazad");
  147.             SetPVarString(GetPlayerIdFromName(inputtext), "istek_Atan", Isim(playerid));
  148.             new i_str[100]; format(i_str, sizeof(i_str), "%s size Poslao zahtev za prijateljstvo.", Isim(playerid));
  149.             ShowPlayerDialog(GetPlayerIdFromName(inputtext), ARK_DIALOG+2, DIALOG_STYLE_MSGBOX, "Zahtev za prijateljstvo", i_str, "Prihvati", "Odbi");
  150.             MesajGonder(playerid, "Arkadaþlýk isteði gönderildi!", 1);
  151.         } else ShowPlayerDialog(playerid, ARK_DIALOG+4, DIALOG_STYLE_LIST, "Dodaj prijatelja", "{FF0000}* {FFA500}Dodaj ID\n{FF0000}* {FFA500} ", "Dalje >>", "<< Nazad");
  152.     }
  153.    
  154.     if(dialogid == ARK_DIALOG+4)
  155.     {
  156.         if(response)
  157.         {
  158.             if(listitem == 0)
  159.             {
  160.                 ShowPlayerDialog(playerid, ARK_DIALOG+1, DIALOG_STYLE_INPUT, "Dodaj za Prijatelja", "{71B1FF}Npisi ID osobe:", "Dodaj", "<< Nazad");
  161.             }
  162.             else if(listitem == 1)
  163.             {
  164.                 ShowPlayerDialog(playerid, ARK_DIALOG+3, DIALOG_STYLE_INPUT, "Dodaj za Prijatelja", "{71B1FF}Npisi ID osobe:", "Dodaj", "<< Nazad");
  165.             }
  166.         } else KomutGoster(playerid);
  167.     }
  168.    
  169.     if(dialogid == ARK_DIALOG+5)
  170.     {
  171.         if(response)
  172.         {
  173.             if(listitem == 0)
  174.             {
  175.                 ShowPlayerDialog(playerid, ARK_DIALOG+9, DIALOG_STYLE_INPUT, "Stvoriti grupu", "{71B1FF}Dajte ime grupi:", "OK", "<< Nazad");
  176.             }
  177.             else
  178.             {
  179.                 GrupGoster(playerid, inputtext);
  180.             }
  181.         } else KomutGoster(playerid);
  182.     }
  183.    
  184.     if(dialogid == ARK_DIALOG+6)
  185.     {
  186.         if(response)
  187.         {
  188.             if(listitem == 0)
  189.             {
  190.                 SetPVarInt(playerid, "msj_gID", GetPVarInt(playerid, "tmp_gID"));
  191.                 MesajGonder(playerid, "Grup seçildi!", 1);
  192.             }
  193.             else if(listitem == 1)
  194.             {
  195.                 new str[512], grupid = GetPVarInt(playerid, "tmp_gID");
  196.                 format(str, sizeof(str), "Ime Igraca\tIgrac je online\tStatus");
  197.                 for(new p; p<MAX_GRUP_KATILIMCI; p++)
  198.                 {
  199.                     if(strlen(grupOyn[grupid][p]))
  200.                     {
  201.                         if(!xStrcmp(grupVeri[grupid][g_kurucu], grupOyn[grupid][p]))
  202.                         {
  203.                             if(IsPlayerConnected(GetPlayerIdFromName(grupOyn[grupid][p]))) format(str, sizeof(str), "%s\n{FFFFFF}%s\t{00FF00}[Online]\t[Osnivac]", str, grupOyn[grupid][p]);
  204.                             else format(str, sizeof(str), "%s\n{FFFFFF}%s\t{FF0000}[Offline]\t[Osnivac]", str, grupOyn[grupid][p]);
  205.                         }
  206.                         else
  207.                         {
  208.                             if(IsPlayerConnected(GetPlayerIdFromName(grupOyn[grupid][p]))) format(str, sizeof(str), "%s\n{FFFFFF}%s\t{00FF00}[Online]\t[Clan]", str, grupOyn[grupid][p]);
  209.                             else format(str, sizeof(str), "%s\n{FFFFFF}%s\t{FF0000}[Offline]\t[Clan]", str, grupOyn[grupid][p]);
  210.                         }
  211.                     }
  212.                 }
  213.                 ShowPlayerDialog(playerid, ARK_DIALOG+10, DIALOG_STYLE_TABLIST_HEADERS, "Igraci u grupi", str, "Nazad", "");
  214.             }
  215.             else if(!xStrcmp(inputtext, "Napusti grupu"))
  216.             {
  217.                 ShowPlayerDialog(playerid, ARK_DIALOG+13, DIALOG_STYLE_MSGBOX, "Napusti grupu", "{71B1FF}Jeste sigutni da zelite napustiti grupu?", "Da", "Odbi");
  218.             }
  219.             else if(!xStrcmp(inputtext, "Dodajte igraca u grupu"))
  220.             {
  221.                 if(xStrcmp(grupVeri[GetPVarInt(playerid, "tmp_gID")][g_kurucu], Isim(playerid))) return MesajGonder(playerid, "Vi niste napravili grupu!", 0);
  222.                 ShowPlayerDialog(playerid, ARK_DIALOG+7, DIALOG_STYLE_INPUT, "Zahtev za grupu", "{71B1FF}Unesi ID igraca kom zelite da posaljete:", "Prihvati", "<< Nazad");
  223.             }
  224.             else if(!xStrcmp(inputtext, "Ukloni igraca iz grupe"))
  225.             {
  226.                 if(xStrcmp(grupVeri[GetPVarInt(playerid, "tmp_gID")][g_kurucu], Isim(playerid))) return MesajGonder(playerid, "Vi niste napravili grupu!", 0);
  227.                 new str[512], grupid = GetPVarInt(playerid, "tmp_gID");
  228.                 format(str, sizeof(str), "Ime\tOnline");
  229.                 for(new p=1; p<MAX_GRUP_KATILIMCI; p++)
  230.                 {
  231.                     if(strlen(grupOyn[grupid][p]))
  232.                     {
  233.                         if(IsPlayerConnected(GetPlayerIdFromName(grupOyn[grupid][p]))) format(str, sizeof(str), "%s\n{FFFFFF}%s\t{00FF00}[Online]", str, grupOyn[grupid][p]);
  234.                         else format(str, sizeof(str), "%s\n{FFFFFF}%s\t{FF0000}[Offline]", str, grupOyn[grupid][p]);
  235.                     }
  236.                 }
  237.                 ShowPlayerDialog(playerid, ARK_DIALOG+11, DIALOG_STYLE_TABLIST_HEADERS, "Izaberi igraca za izbacivanje", str, "Izbaci iz grupe", "<< Izlaz");
  238.  
  239.             }
  240.             else if(!xStrcmp(inputtext, "Izbrisi grupu"))
  241.             {
  242.                 if(xStrcmp(grupVeri[GetPVarInt(playerid, "tmp_gID")][g_kurucu], Isim(playerid))) return MesajGonder(playerid, "Vi niste napravili grupu!", 0);
  243.                 ShowPlayerDialog(playerid, ARK_DIALOG+14, DIALOG_STYLE_MSGBOX, "Izbrisi grupu", "{71B1FF}Jeste sigurni da zelite izbrisati grupu?", "Da", "Otkazi");
  244.             }
  245.         } else GrupListGoster(playerid);
  246.     }
  247.    
  248.     if(dialogid == ARK_DIALOG+7)
  249.     {
  250.         if(response)
  251.         {
  252.             if(!IsPlayerConnected(strval(inputtext)) || strval(inputtext) == playerid) return ShowPlayerDialog(playerid, ARK_DIALOG+7, DIALOG_STYLE_INPUT, "Grupni zahtev", "{FF0000}Greska: {FFA500}Igrac nije povezan ili si ti sam sebe!\n\n{71B1FF}Unesi id igraca:", "Prihvati", "Ponisti");
  253.             if(GrupCheck(strval(inputtext), GetPVarInt(playerid, "tmp_gID"))) return ShowPlayerDialog(playerid, ARK_DIALOG+7, DIALOG_STYLE_INPUT, "Grupni zahtev", "{FF0000}Greska: {FFA500}Igrac je vec u grupi!\n\n{71B1FF}Unesi id:", "Prihvati", "Ponisti");
  254.             new i_str[128];
  255.             format(i_str, sizeof(i_str), "* {FF0000}%s {B7BAFF}osoba koja vas zove {00A1FF}%s {B7BAFF}vas zove u grupu.", Isim(playerid), grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  256.             ShowPlayerDialog(strval(inputtext), ARK_DIALOG+8, DIALOG_STYLE_MSGBOX, "Grupni zahtev", i_str, "Pridruzi", "Odbi");
  257.             SetPVarInt(strval(inputtext), "tmp_ist_gID", GetPVarInt(playerid, "tmp_gID"));
  258.             new msg[128];
  259.             format(msg, 128, "%s Grupni zahtev je poslat!", Isim(strval(inputtext)));
  260.             MesajGonder(playerid, msg, 1);
  261.         } else GrupGoster(playerid, grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  262.     }
  263.    
  264.     if(dialogid == ARK_DIALOG+8)
  265.     {
  266.         if(response)
  267.         {
  268.             new g_id = GetPVarInt(playerid, "tmp_ist_gID");
  269.             if(GrupUyeSayisi(g_id) >= MAX_GRUP_KATILIMCI) return MesajGonder(playerid, "Ova grupa je dostigla maksimalan broj. Nema mesta!", 0);
  270.             if(grupVeri[g_id][g_Var] != 1) return MesajGonder(playerid, "Ova grupa vise nije dostupna!", 0);
  271.             new msg[128];
  272.             format(msg, 128, "%s adlý gruba katýldýnýz!", grupVeri[g_id][g_isim]);
  273.             MesajGonder(playerid, msg, 1);
  274.             format(msg, 128, "* {FF0000}[%s] {00FF00}%s {FFA500}Osoba se pridruzila!", grupVeri[g_id][g_isim], Isim(playerid));
  275.             GrubaMesajGonder(g_id, msg);
  276.             GetPlayerName(playerid, grupOyn[g_id][GrupBosSlotIDVer(g_id)], 24);
  277.             for(new g; g<MAX_GRUP; g++) if(grupVeri[g][g_Var] == 1) grupKayit(g);
  278.             GrupListGoster(playerid);
  279.         }
  280.         else
  281.         {
  282.             new g_id = GetPVarInt(playerid, "tmp_ist_gID");
  283.             new msg[128];
  284.             format(msg, 128, "%s Odbili ste da se pridruzite grupi!", grupVeri[g_id][g_isim]);
  285.             MesajGonder(playerid, msg, 0);
  286.             if(IsPlayerConnected(GetPlayerIdFromName(grupVeri[g_id][g_kurucu])))
  287.             {
  288.                 format(msg, 128, "%s Ljudi su odbili da se pridruze vasoj grupi!", Isim(playerid));
  289.                 MesajGonder(GetPlayerIdFromName(grupVeri[g_id][g_kurucu]), msg, 0);
  290.             }
  291.         }
  292.     }
  293.    
  294.     if(dialogid == ARK_DIALOG+9)
  295.     {
  296.         if(response)
  297.         {
  298.             if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, ARK_DIALOG+9, DIALOG_STYLE_INPUT, "Napravi grupu", "{FF0000}Greska: {FFA500}Unesi najmanje 3 znaka!\n\n{71B1FF}Dajte grupi ime:", "Napravi", "<< Nazad");
  299.             if(strlen(inputtext) > 24) return ShowPlayerDialog(playerid, ARK_DIALOG+9, DIALOG_STYLE_INPUT, "Napravi grupu", "{FF0000}Greska: {FFA500}Mozete uneti najvise 24 slova!\n\n{71B1FF}Dajte grupi ime:", "Napravi", "<< Nazad");
  300.             if(!IsValidName(inputtext)) return ShowPlayerDialog(playerid, ARK_DIALOG+9, DIALOG_STYLE_INPUT, "Napravi grupu", "{FF0000}Greska: {FFA500}Ne koristite posebne znakove!\n\n{71B1FF}Dajte grupi ime:", "Napravi", "<< Nazad");
  301.             for(new i; i<MAX_GRUP; i++) if(grupVeri[i][g_Var] == 1 && !xStrcmp(grupVeri[i][g_isim], inputtext)) return ShowPlayerDialog(playerid, ARK_DIALOG+9, DIALOG_STYLE_INPUT, "Stvori grupu", "{FF0000}Greska: {FFA500}Vec postoji grupa sa ovim imenom!\n\n{71B1FF}Dajte grupi ime:", "Napravi", "<< Nazad");
  302.             new g_id = BosGrupIDVer();
  303.             if(g_id == -1) return MesajGonder(playerid, "Vise ne mozete da kreirate grupe ima ih previse!", 0);
  304.             grupVeri[g_id][g_Var] = 1;
  305.             GetPlayerName(playerid, grupVeri[g_id][g_kurucu], 24);
  306.             format(grupVeri[g_id][g_isim], 24, "%s", inputtext);
  307.             GetPlayerName(playerid, grupOyn[g_id][0], 24);
  308.             MesajGonder(playerid, "Kreirali ste grupu!", 1);
  309.             for(new g; g<MAX_GRUP; g++) if(grupVeri[g][g_Var] == 1) grupKayit(g);
  310.             GrupListGoster(playerid);
  311.         } else GrupListGoster(playerid);
  312.     }
  313.    
  314.     if(dialogid == ARK_DIALOG+10)
  315.     {
  316.         if(response || !response) GrupGoster(playerid, grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  317.     }
  318.    
  319.     if(dialogid == ARK_DIALOG+11)
  320.     {
  321.         if(response)
  322.         {
  323.             if(!strlen(inputtext)) return MesajGonder(playerid, "Niste nikog odabra li!", 0), GrupGoster(playerid, grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  324.             new str[88];
  325.             format(str, sizeof(str), "* {FF0000}%s {B7BBBA}jeste sigurni da ocete da ga izbacite iz grupe?", inputtext);
  326.             SetPVarString(playerid, "tmp_aIsim", inputtext);
  327.             ShowPlayerDialog(playerid, ARK_DIALOG+12, DIALOG_STYLE_MSGBOX, "Ukloni iz grupe", str, "Da", "Otkazi");
  328.         } else GrupGoster(playerid, grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  329.     }
  330.    
  331.     if(dialogid == ARK_DIALOG+12)
  332.     {
  333.         if(response)
  334.         {
  335.             new a_isim[24];
  336.             GetPVarString(playerid, "tmp_aIsim", a_isim, 24);
  337.             for(new p; p<MAX_GRUP_KATILIMCI; p++) if(!xStrcmp(grupOyn[GetPVarInt(playerid, "tmp_gID")][p], a_isim)) format(grupOyn[GetPVarInt(playerid, "tmp_gID")][p], 24, "");
  338.             for(new g; g<MAX_GRUP; g++) if(grupVeri[g][g_Var] == 1) grupKayit(g);
  339.             MesajGonder(playerid, "Oyuncu gruptan çýkarýldý!", 1);
  340.             if(IsPlayerConnected(GetPlayerIdFromName(a_isim)))
  341.             {
  342.                 new str[88];
  343.                 format(str, sizeof(str), "{FF0000}%s {FFA500}Izbacen je iz grupe.", grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  344.                 MesajGonder(GetPlayerIdFromName(a_isim), str, 0);
  345.                 if(GetPVarInt(GetPlayerIdFromName(a_isim), "msj_gID") == GetPVarInt(playerid, "tmp_gID")) SetPVarInt(GetPlayerIdFromName(a_isim), "msj_gID", -1);
  346.             }
  347.         } else GrupGoster(playerid, grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  348.     }
  349.    
  350.     if(dialogid == ARK_DIALOG+13)
  351.     {
  352.         if(response)
  353.         {
  354.             new str[88];
  355.             format(str, sizeof(str), "{FF0000}%s {FFA500}Napusti li ste grupu.", grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  356.             for(new p; p<MAX_GRUP_KATILIMCI; p++) if(!xStrcmp(grupOyn[GetPVarInt(playerid, "tmp_gID")][p], Isim(playerid))) format(grupOyn[GetPVarInt(playerid, "tmp_gID")][p], 24, "");
  357.             for(new g; g<MAX_GRUP; g++) if(grupVeri[g][g_Var] == 1) grupKayit(g);
  358.             if(GetPVarInt(playerid, "msj_gID") == GetPVarInt(playerid, "tmp_gID")) SetPVarInt(playerid, "msj_gID", -1);
  359.             MesajGonder(playerid, str, 0);
  360.         } else GrupGoster(playerid, grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  361.     }
  362.    
  363.     if(dialogid == ARK_DIALOG+14)
  364.     {
  365.         if(response)
  366.         {
  367.             new g_msj[88];
  368.             format(g_msj, sizeof(g_msj), ">> [GRUP] {FF0000}[%s] {FFA500}Grup silindi!", grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  369.             GrubaMesajGonder(GetPVarInt(playerid, "tmp_gID"), g_msj);
  370.             for(new p; p<MAX_GRUP_KATILIMCI; p++)
  371.             {
  372.                 if(GetPVarInt(GetPlayerIdFromName(grupOyn[GetPVarInt(playerid, "tmp_gID")][p]), "msj_gID") == GetPVarInt(playerid, "tmp_gID")) SetPVarInt(GetPlayerIdFromName(grupOyn[GetPVarInt(playerid, "tmp_gID")][p]), "msj_gID", -1);
  373.                 format(grupOyn[GetPVarInt(playerid, "tmp_gID")][p], 24, "");
  374.             }
  375.             grupVeri[GetPVarInt(playerid, "tmp_gID")][g_Var] = 0;
  376.             new g_dosya[64];
  377.             format(g_dosya, sizeof(g_dosya), "Prijatelji/Grupe/%d.ini", GetPVarInt(playerid, "tmp_gID"));
  378.             INI_Remove(g_dosya);
  379.         } else GrupGoster(playerid, grupVeri[GetPVarInt(playerid, "tmp_gID")][g_isim]);
  380.     }
  381.    
  382.     if(dialogid == ARK_DIALOG+15)
  383.     {
  384.         if(response)
  385.         {
  386.             if(listitem == 0)
  387.             {
  388.                 new p_is[24];
  389.                 GetPVarString(playerid, "tmp_aIsim", p_is, 24);
  390.                 if(!IsPlayerConnected(GetPlayerIdFromName(p_is)))
  391.                 {
  392.                     MesajGonder(playerid, "Bu oyuncu baðlý deðil!", 0);
  393.                     new baslik[48];
  394.                     format(baslik, sizeof(baslik), "{40E0D0}%s", p_is);
  395.                     ShowPlayerDialog(playerid, ARK_DIALOG+15, DIALOG_STYLE_LIST, baslik, "{FFA500}Posalji privatnu poruku\n{FFA500}Izlaz iz prijateljsta", "Odaberi", "<< Nazad");
  396.                     return 1;
  397.                 }
  398.                 ShowPlayerDialog(playerid, ARK_DIALOG+16, DIALOG_STYLE_INPUT, "Posalji poruku", "Napisi poruku koju cete poslati:", "Prihvati", "<< Nazad");
  399.             }
  400.             else if(listitem == 1)
  401.             {
  402.                 new str[124], p_is[24];
  403.                 GetPVarString(playerid, "tmp_aIsim", p_is, 24);
  404.                 format(str, sizeof(str), "{FF0000}%s {FFA500}Jeste sigurni da zelite da napustite prijateljstvo?", p_is);
  405.                 ShowPlayerDialog(playerid, ARK_DIALOG+17, DIALOG_STYLE_MSGBOX, "Izadji", str, "Da", "Otkazi");
  406.             }
  407.         } else KomutGoster(playerid);
  408.     }
  409.    
  410.     if(dialogid == ARK_DIALOG+16)
  411.     {
  412.         if(response)
  413.         {
  414.             new p_is[24], o_msj[256];
  415.             GetPVarString(playerid, "tmp_aIsim", p_is, 24);
  416.             if(!IsPlayerConnected(GetPlayerIdFromName(p_is))) return MesajGonder(playerid, "Igrac nije online!", 0);
  417.             format(o_msj, sizeof(o_msj), ">> [Priv Poruka] {00A1FF}[%s]{FFFFFF}: %s", Isim(playerid), inputtext);
  418.             SendClientMessage(GetPlayerIdFromName(p_is), 0xFFE500AA, o_msj);
  419.             format(o_msj, sizeof(o_msj), ">> [PRIV PORUKA] {00A1FF}[%s]{FFFFFF}: %s", p_is, inputtext);
  420.             SendClientMessage(playerid, 0xFFA500AA, o_msj);
  421.         }
  422.         else
  423.         {
  424.             new p_is[24], baslik[48];
  425.             GetPVarString(playerid, "tmp_aIsim", p_is, 24);
  426.             format(baslik, sizeof(baslik), "{40E0D0}%s", p_is);
  427.             ShowPlayerDialog(playerid, ARK_DIALOG+15, DIALOG_STYLE_LIST, baslik, "{FFA500}Posalji privatnu poruku\n{FFA500}Izlaz iz prijateljstva", "Odaberi", "<< Nazad");
  428.         }
  429.     }
  430.    
  431.     if(dialogid == ARK_DIALOG+17)
  432.     {
  433.         if(response)
  434.         {
  435.             new p_is[24], mstr[88];
  436.             GetPVarString(playerid, "tmp_aIsim", p_is, 24);
  437.             for(new i; i<MAX_ARKADAS; i++)
  438.             {
  439.                 if(!xStrcmp(arkList[playerid][i], p_is)) format(arkList[playerid][i], 24, "");
  440.             }
  441.             format(mstr, sizeof(mstr), "{FF0000}%s {FFA500}ukloni li ste ga iz prijatelja!", p_is);
  442.             MesajGonder(playerid, mstr, 0);
  443.             if(IsPlayerConnected(GetPlayerIdFromName(p_is)))
  444.             {
  445.                 for(new i; i<MAX_ARKADAS; i++)
  446.                 {
  447.                     if(!xStrcmp(arkList[GetPlayerIdFromName(p_is)][i], Isim(playerid))) format(arkList[GetPlayerIdFromName(p_is)][i], 24, "");
  448.                 }
  449.                 format(mstr, sizeof(mstr), "{FF0000}%s {FFA500}vas je izbacio iz prijatelja!", Isim(playerid));
  450.                 MesajGonder(GetPlayerIdFromName(p_is), mstr, 0);
  451.             }
  452.         }
  453.         else
  454.         {
  455.             new p_is[24], baslik[48];
  456.             GetPVarString(playerid, "tmp_aIsim", p_is, 24);
  457.             format(baslik, sizeof(baslik), "{40E0D0}%s", p_is);
  458.             ShowPlayerDialog(playerid, ARK_DIALOG+15, DIALOG_STYLE_LIST, baslik, "{FFA500}Posalji privatnu poruku\n{FFA500}izadji iz prijatelja", "Odaberi", "<< Nazad");
  459.         }
  460.     }
  461.     return 1;
  462. }
  463.  
  464. // Fonksiyonlar ve Bazý Kodlar
  465.  
  466. stock GrupListGoster(playerid)
  467. {
  468.     new g_str[1500];
  469.     format(g_str, sizeof(g_str), "Naziv grupe\tBroj clanova\n{B7BBBA}>> Nazad");
  470.     for(new g; g<MAX_GRUP; g++)
  471.     {
  472.         for(new p; p<MAX_GRUP_KATILIMCI; p++)
  473.         {
  474.             if(strlen(grupOyn[g][p]) == strlen(Isim(playerid)) && !strcmp(grupOyn[g][p], Isim(playerid)))
  475.             {
  476.                 if(GetPVarInt(playerid, "msj_gID") == g) format(g_str, sizeof(g_str), "%s\n{00A1FF}%s\t{B7BBBA}({00FF00}%d{B7BBBA}/%d)", g_str, grupVeri[g][g_isim], GrupOnlineSayisi(g), GrupUyeSayisi(g));
  477.                 else format(g_str, sizeof(g_str), "%s\n{FFA500}%s\t{B7BBBA}({00FF00}%d{B7BBBA}/%d)", g_str, grupVeri[g][g_isim], GrupOnlineSayisi(g), GrupUyeSayisi(g));
  478.             }
  479.         }
  480.     }
  481.     ShowPlayerDialog(playerid, ARK_DIALOG+5, DIALOG_STYLE_TABLIST_HEADERS, "Grupe", g_str, "Odaberi", "<< Nazad");
  482.     return 1;
  483. }
  484.  
  485. stock KomutGoster(playerid)
  486. {
  487.     new baslik[64], liste[55*MAX_ARKADAS], chck[2];
  488.     format(liste, sizeof(liste), "Nick\tOnline \n{B7BBBA}>> Dodaj prijatelja\n{B7BBBA}>> Grupe za caskanje");
  489.     for(new a; a<MAX_ARKADAS; a++)
  490.     {
  491.         if(strlen(arkList[playerid][a]))
  492.         {
  493.             if(IsPlayerConnected(GetPlayerIdFromName(arkList[playerid][a]))) format(liste, sizeof(liste), "%s\n{FFFFFF}%s\t{00FF00}[Online]", liste, arkList[playerid][a]), chck[1]++;
  494.             else format(liste, sizeof(liste), "%s\n{FFFFFF}%s\t{FF0000}[Offline]", liste, arkList[playerid][a]);
  495.             chck[0]++;
  496.         }
  497.     }
  498.     format(baslik, sizeof(baslik), "Lista prijatelja ({00FF00}%d{B7BBBA}/%d)", chck[1], chck[0]);
  499.     ShowPlayerDialog(playerid, ARK_DIALOG, DIALOG_STYLE_TABLIST_HEADERS, baslik, liste, "Odaberi", "Zatvori");
  500.     return 1;
  501. }
  502.  
  503. stock GrupGoster(playerid, grupisim[])
  504. {
  505.     new g_id = GrupIDVer(grupisim);
  506.     SetPVarInt(playerid, "tmp_gID", g_id);
  507.     if(GetPVarInt(playerid, "tmp_gID") == -1) return MesajGonder(playerid, "Ovu grupu nije moguce pronaci!", 0), GrupListGoster(playerid);
  508.     {
  509.         if(!xStrcmp(grupVeri[g_id][g_kurucu], Isim(playerid)))
  510.         {
  511.             new baslik[64];
  512.             format(baslik, sizeof(baslik), "{FFA500}>> %s {FF0000}[GRUPA]", grupisim);
  513.             ShowPlayerDialog(playerid, ARK_DIALOG+6, DIALOG_STYLE_LIST, baslik, "{FFA500}Izaberi ovu grupu {B7BBBA}(Poruka): /fr [poruka])\n{FFA500}Pogledaj igrace u grupu\n{FFA500}Dodaj igraca\n{FFA500}Izbaci igraca iz grupe\n{FFA500}Izbrisi poruku", "Izaberi", "<< Nazad");
  514.         }
  515.         else
  516.         {
  517.             new baslik[64];
  518.             format(baslik, sizeof(baslik), "{FFA500}>> %s", grupisim);
  519.             ShowPlayerDialog(playerid, ARK_DIALOG+6, DIALOG_STYLE_LIST, baslik, "{FFA500}Izaberi ovu grupu {B7BBBA}(za poruku: /fr [PORUKA])\n{FFA500}Igraci koji su u grupi\n{FFA500}Napusti grupu", "Odaberi", "<< Nazad");
  520.         }
  521.     }
  522.     return 1;
  523. }
  524.  
  525. stock GrupUyeSayisi(grupid)
  526. {
  527.     new sayi;
  528.     for(new p; p<MAX_GRUP_KATILIMCI; p++) if(strlen(grupOyn[grupid][p])) sayi++;
  529.     return sayi;
  530. }
  531.  
  532. stock GrupOnlineSayisi(grupid)
  533. {
  534.     new sayi;
  535.     for(new p; p<MAX_GRUP_KATILIMCI; p++) if(IsPlayerConnected(GetPlayerIdFromName(grupOyn[grupid][p]))) sayi++;
  536.     return sayi;
  537. }
  538.  
  539. stock GrupBosSlotIDVer(grupid)
  540. {
  541.     for(new p; p<MAX_GRUP_KATILIMCI; p++) if(!strlen(grupOyn[grupid][p])) return p;
  542.     return -1;
  543. }
  544.  
  545. stock BosGrupIDVer()
  546. {
  547.     for(new i; i<MAX_GRUP; i++)
  548.     {
  549.         if(grupVeri[i][g_Var] == 0) return i;
  550.     }
  551.     return -1;
  552. }
  553.  
  554. stock GrubaMesajGonder(grupid, Poruka[])
  555. {
  556.     for(new p; p<MAX_GRUP_KATILIMCI; p++)
  557.     {
  558.         if(IsPlayerConnected(GetPlayerIdFromName(grupOyn[grupid][p])))
  559.         {
  560.             SendClientMessage(GetPlayerIdFromName(grupOyn[grupid][p]), 0xFFA500AA, Poruka);
  561.         }
  562.     }
  563.     return 1;
  564. }
  565.  
  566. stock GrupCheck(playerid, grupid)
  567. {
  568.     for(new p; p<MAX_GRUP_KATILIMCI; p++)
  569.     {
  570.         if(!xStrcmp(grupOyn[grupid][p], Isim(playerid))) return 1;
  571.     }
  572.     return 0;
  573. }
  574.  
  575. stock isNumeric(const string[]) { // dutils.inc'den alýnmýþtýr
  576.     new length=strlen(string);
  577.     if (length==0) return false;
  578.     for (new i = 0; i < length; i++) {
  579.         if (
  580.         (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-'
  581.         || (string[i]=='-' && i!=0)                                             // A '-' but not at first.
  582.         || (string[i]=='+' && i!=0)                                             // A '+' but not at first.
  583.         ) return false;
  584.     }
  585.     if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
  586.     return true;
  587. }
  588.  
  589. stock ArkKayit(playerid)
  590. {
  591.     new ark_dosya[64];
  592.     format(ark_dosya, sizeof(ark_dosya), "Prijatelji/%s.ini", Isim(playerid));
  593.    
  594.     INI_Open(ark_dosya);
  595.    
  596.     new prt[6];
  597.     for(new i; i<MAX_ARKADAS; i++)
  598.     {
  599.         if(strlen(arkList[playerid][i]))
  600.         {
  601.             format(prt, sizeof(prt), "Ark%d", i);
  602.             INI_WriteString(prt, arkList[playerid][i]);
  603.         }
  604.     }
  605.     INI_Save();
  606.     INI_Close();
  607.     return 1;
  608. }
  609.  
  610. stock grupKayit(grupid)
  611. {
  612.     new g_dosya[64];
  613.     format(g_dosya, sizeof(g_dosya), "Prijatelji/Grupe/%d.ini", grupid);
  614.    
  615.     INI_Open(g_dosya);
  616.    
  617.     INI_WriteString("Osnivac", grupVeri[grupid][g_kurucu]);
  618.     INI_WriteString("Ime", grupVeri[grupid][g_isim]);
  619.     new pt[10];
  620.     for(new p; p<MAX_GRUP_KATILIMCI; p++)
  621.     {
  622.         format(pt, sizeof(pt), "Clan%d", p);
  623.         INI_RemoveEntry(pt);
  624.         if(strlen(grupOyn[grupid][p]))
  625.         {
  626.             INI_WriteString(pt, grupOyn[grupid][p]);
  627.         }
  628.     }
  629.     INI_Save();
  630.     INI_Close();
  631.     return 1;
  632. }
  633.  
  634. stock ArkYukle(playerid)
  635. {
  636.     new ark_dosya[64];
  637.     format(ark_dosya, sizeof(ark_dosya), "Prijatelji/%s.ini", Isim(playerid));
  638.     new prt[6];
  639.     INI_Open(ark_dosya);
  640.    
  641.     for(new i; i<MAX_ARKADAS; i++)
  642.     {
  643.         format(prt, sizeof(prt), "Ark%d", i);
  644.         INI_ReadString(arkList[playerid][i], prt);
  645.     }
  646.     INI_Close();
  647.     return 1;
  648. }
  649.  
  650. stock grupYukle()
  651. {
  652.     new g_dosya[64], gsayi;
  653.     for(new g; g<MAX_GRUP; g++)
  654.     {
  655.         format(g_dosya, sizeof(g_dosya), "Prijatelji/Grupe/%d.ini", g);
  656.         if(INI_Exist(g_dosya))
  657.         {
  658.             INI_Open(g_dosya);
  659.             grupVeri[g][g_Var] = 1;
  660.             INI_ReadString(grupVeri[g][g_kurucu], "Osnivac", 24);
  661.             INI_ReadString(grupVeri[g][g_isim], "Ime", 24);
  662.             gsayi++;
  663.             new pt[10];
  664.            
  665.             for(new p; p<MAX_GRUP_KATILIMCI; p++)
  666.             {
  667.                 format(pt, sizeof(pt), "Uye%d", p);
  668.                 INI_ReadString(grupOyn[g][p], pt, 24);
  669.             }
  670.         }
  671.     }
  672.     INI_Close();
  673.     new p_st[48];
  674.     print("\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::");
  675.     format(p_st, sizeof(p_st), "\nPrijatelji - %d Grupe Otpremljeno!", gsayi);
  676.     print(p_st);
  677.     return 1;
  678. }
  679.  
  680. stock Isim(playerid)
  681. {
  682.     new ism[24];
  683.     GetPlayerName(playerid, ism, 24);
  684.     return ism;
  685. }
  686.  
  687. stock xStrcmp(str1[], str2[])
  688. {
  689.     if(strlen(str1) == strlen(str2) && strcmp(str1, str2) == 0) return 0;
  690.     return 1;
  691. }
  692.  
  693. stock GetPlayerIdFromName(playername[])
  694. {
  695.   for(new i = 0; i <= MAX_PLAYERS; i++)
  696.   {
  697.     if(IsPlayerConnected(i))
  698.     {
  699.       new playername2[MAX_PLAYER_NAME];
  700.       GetPlayerName(i, playername2, sizeof(playername2));
  701.       if(xStrcmp(playername2, playername) == 0)
  702.       {
  703.         return i;
  704.       }
  705.     }
  706.   }
  707.   return INVALID_PLAYER_ID;
  708. }
  709.  
  710. stock GrupIDVer(grupisim[])
  711. {
  712.   for(new i = 0; i <= MAX_GRUP; i++)
  713.   {
  714.     if(grupVeri[i][g_Var] == 1)
  715.     {
  716.       if(xStrcmp(grupisim, grupVeri[i][g_isim]) == 0)
  717.       {
  718.         return i;
  719.       }
  720.     }
  721.   }
  722.   return -1;
  723. }
  724.  
  725. stock IsValidName(string[])
  726. {
  727.   for(new i; i<strlen(string); i++)
  728.   {
  729.     if((string[i] < 32) ||
  730.     (string[i] > 32 && string[i] < 48) ||
  731.     (string[i] > 57 && string[i] < 65) ||
  732.     (string[i] > 90 && string[i]< 97) ||
  733.     (string[i] > 122 &&
  734.     string[i] != 208 &&
  735.     string[i] != 214 &&
  736.     string[i] != 246 &&
  737.     string[i] != 220 &&
  738.     string[i] != 252 &&
  739.     string[i] != 199 &&
  740.     string[i] != 231 &&
  741.     string[i] != 221 &&
  742.     string[i] != 222 &&
  743.     string[i] != 240 &&
  744.     string[i] != 253 &&
  745.     string[i] != 254)) return 0;
  746.   }
  747.   return 1;
  748. }
  749.  
  750. stock MesajGonder(playerid, msj[], tur) // tür: 0: Uyarý, 1: Bilgi
  751. {
  752.     new mes[128];
  753.     if(tur == 0) format(mes, sizeof(mes), "{FF0000}<!> {FF9500}%s", msj);
  754.     else format(mes, sizeof(mes), "{00FF00}<!> {0BD600}%s", msj);
  755.     return SendClientMessage(playerid, 0xFFFFFF, mes);
  756. }
  757.  
  758. stock ArkadasSayisi(playerid)
  759. {
  760.     new check=0;
  761.     for(new i; i<MAX_ARKADAS; i++)
  762.     {
  763.         if(strlen(arkList[playerid][i])) check++;
  764.     }
  765.     return check;
  766. }
  767.  
  768. stock IsimCheck(playerid, isim[])
  769. {
  770.     for(new i; i<MAX_ARKADAS; i++)
  771.     {
  772.         if(!strcmp(arkList[playerid][i], isim) && !isnull(arkList[playerid][i])) return 1;
  773.     }
  774.     return 0;
  775. }
  776.  
  777. stock ArkadasEkle(playerid, eklenecekIsim[])
  778. {
  779.     new msj[128];
  780.     if(ArkadasSayisi(playerid) >= MAX_ARKADAS)
  781.     {
  782.         format(msj, sizeof(msj), "Lista prijatelja je puna pa niste dodanii!", eklenecekIsim);
  783.         MesajGonder(playerid, msj, 0);
  784.         format(msj, sizeof(msj), "%s'Lista prijatelja je puna pa niste dodani!", Isim(playerid));
  785.         MesajGonder(GetPlayerIdFromName(eklenecekIsim), msj, 0);
  786.     }
  787.     if(ArkadasSayisi(GetPlayerIdFromName(eklenecekIsim)) >= MAX_ARKADAS)
  788.     {
  789.         format(msj, sizeof(msj), "Niste doda li %s jer vam je puna lista!", Isim(playerid));
  790.         MesajGonder(GetPlayerIdFromName(eklenecekIsim), msj, 0);
  791.         format(msj, sizeof(msj), "%s'Lista prijatelja je puna!", eklenecekIsim);
  792.         MesajGonder(playerid, msj, 0);
  793.     }
  794.    
  795.     for(new i; i<MAX_ARKADAS; i++)
  796.     {
  797.         if(!strlen(arkList[playerid][i]))
  798.         {
  799.             if(IsimCheck(playerid, eklenecekIsim) == 1)
  800.             {
  801.                 format(msj, sizeof(msj), "%s Ta osoba je vec u vasoj grupi!", eklenecekIsim);
  802.                 MesajGonder(playerid, msj, 0);
  803.                 break;
  804.             }
  805.             format(arkList[playerid][i], 24, "%s", eklenecekIsim);
  806.             format(msj, sizeof(msj), "%s je prihvatio vas zahtev!", eklenecekIsim);
  807.             MesajGonder(playerid, msj, 1);
  808.             break;
  809.         }
  810.     }
  811.     for(new i; i<MAX_ARKADAS; i++)
  812.     {
  813.         if(!strlen(arkList[GetPlayerIdFromName(eklenecekIsim)][i]))
  814.         {
  815.             if(IsimCheck(GetPlayerIdFromName(eklenecekIsim), Isim(playerid)) == 1)
  816.             {
  817.                 format(msj, sizeof(msj), "%s Ta osoba je vec u vasoj grupi!", Isim(playerid));
  818.                 MesajGonder(GetPlayerIdFromName(eklenecekIsim), msj, 0);
  819.                 break;
  820.             }
  821.             format(arkList[GetPlayerIdFromName(eklenecekIsim)][i], 24, "%s", Isim(playerid));
  822.             format(msj, sizeof(msj), "%s Doda li ste osobu koju ste dodali za prijatelja !", Isim(playerid));
  823.             MesajGonder(GetPlayerIdFromName(eklenecekIsim), msj, 1);
  824.             break;
  825.         }
  826.     }
  827.     return 1;
  828. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement