Szerző Téma: "Permit ban"  (Megtekintve 546 alkalommal)

"Permit ban"
« Dátum: 2010. Április 06. - 22:17:36 »
0 Show voters
Szevasztok!
Érdekelne ez a permit ban dolog mert ugyebár sok mindenki mobil internettel játszik, és sajnos hiába bannolom, IP-t vált és nevet mindig visszajön. Felmentem ma egy szerverre ahonnan sajnálatos módon a semmiért bannoltak. Nem tudtam felmenni ip váltás után sem! Na most én mindig a:
/rcon ban ID-t használom de visza tud jönni. Van egy másik megoldás is a /rcon banip 0.0.0.0 (játékos ip je) és akkor is viszajön. Megpróbáltam IP törzset bannolni /rcon banip 0.0.*.* De ezzel aza baj hogy akkor senki nem tud feljönni akinek ezzel kezdodik az ip-je... Nekem mobilinternetem van 84.224.*.* az ipm, dinamikus változik mindig. Namost ha engem bannoltak, és így, akkor elképzelheto hogy az öszes mobil internetest kitiltotta?
Köszönöm a segítséget
Üdv:Dávid

"Permit ban"
« Válasz #1 Dátum: 2010. Április 07. - 13:46:15 »
0 Show voters
akit banolnak, az megbassza..
visszamegy mobil netrol kb 1 perc múlva
ha megint banolják, akkor szinte minden mobilnetessel kibasznak.
de ha olyan az IP-d, akkor sok nem mobilnetes embert is kibanolnak.
énis ezt csináltam :D

Freddie

  • Vendég
"Permit ban"
« Válasz #2 Dátum: 2010. Április 07. - 17:14:53 »
0 Show voters
Az IP -nek csak az utolsó jegyét írd át * -ra, és így nem banolsz annyi játékost, még azzal meglehet oldani, hogy név szerinti ban-t adsz nekik.

"Permit ban"
« Válasz #3 Dátum: 2010. Április 07. - 17:29:22 »
0 Show voters
if (strcmp(cmd, \"/ban\", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
       tmp = strtok(cmdtext, idx);
   if(!strlen(tmp))
   {
      SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /ban <Név/ID> <ok>\");
      return 1;
   }
   giveplayerid = ReturnUser(tmp);
   if (Info[playerid][admin] >= 5)
   {
      if(IsPlayerConnected(giveplayerid))
      {
          if(giveplayerid != INVALID_PLAYER_ID)
          {
                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
               GetPlayerName(playerid, sendername, sizeof(sendername));
               new length = strlen(cmdtext);
               while ((idx < length) && (cmdtext[idx] <= \' \'))
               {
                  idx++;
               }
               new offset = idx;
               new result[64];
               while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
               {
                  result[idx - offset] = cmdtext[idx];
                  idx++;
               }
               result[idx - offset] = EOS;
               if(!strlen(result))
               {
                  SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /ban <playerid> <ok>\");
                  return 1;
               }
               format(string, sizeof(string), \"[sERVER]%s bannolva lett %s által, ok: %s\", giveplayer, sendername, result);
               SendClientMessageToAll(TEAM_BLUE_COLOR, string);
               printf(\"%s\", string);
               SendClientMessageToAll(TEAM_BLUE_COLOR, string);
               Info[playerid][szint] = -999;
               BanEx(giveplayerid, result);
               return 1;
         }
      }
      else
      {
         format(string, sizeof(string), \"   %d nem elérheto játékos.\", giveplayerid);
         SendClientMessage(playerid, COLOR_GRAD1, string);
      }
   } else { SendClientMessage(playerid, COLOR_GRAD1, \"Nem vagy Admin vagy kicsi az Adminrangod!\"); }
}
return 1;
}

 
ezt a parancsokhoz
Mod eleje:
 
forward BanLog(string[]);

 
a következot meg vhova ahol nem zavar mást:
 
public BanLog(string[])
{
new entry[256];
format(entry, sizeof(entry), \"%s\\n\",string);
new File:hFile;
hFile = fopen(\"ban.log\", io_append);
fwrite(hFile, entry);
fclose(hFile);
}

 
És OnPlayerConnect alá
 
if(Info[playerid][szint] = -999)
{
    SendClientMessag(playerid, 0xAA3333AA, \"Te jelenleg bannolva vagy!\");
    Kick(playerid);
}

 
Ezt persze át kell írnod a saját mentési típusodra :)

Amiket át kell írnod:

Info

szint


admin

U.I: Saját modomból szedtem ki :)

MJ: ezzel elkerülheto a sok IP Banned :D

case 1:
 
Idézetet írta: Freddie date=1270653293\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"1280\" data-ipsquote-contentclass=\"forums_Topic
Az IP -nek csak az utolsó jegyét írd át * -ra, és így nem banolsz annyi játékost, még azzal meglehet oldani, hogy név szerinti ban-t adsz nekik.
 
igazad van így csak 254 IP-t bannol le xD bár ha azt nézzük, h ha 2-t rak változóra akkor 254*254 jobban állunk :D
 
Remélem segítettem :) By: Vampesz(Vampi)
« Utoljára szerkesztve: 2010. Április 07. - 17:31:29 írta Vampesz »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal