Szerző Téma: /hirdetés Tiltása szerver ip ellen  (Megtekintve 562 alkalommal)

/hirdetés Tiltása szerver ip ellen
« Dátum: 2014. június 06. - 19:35:20 »
0 Show voters
Üdv van ez a modomba hirdetés Ezt ugy kéne meg csinálni hogy szerver ipt ne lehesen hirdetni akki meg csinálja megy a gomb



if(strcmp(cmd, \"/hirdetések\", true) == 0 || strcmp(cmd, \"/hirdetések\", true) == 0)
{
   if(TudHirdetni[playerid] > 0) return SendClientMessage(playerid, COLOR_GRAD2, \"(( Percenként lehet hirdetni ))\");
    if(IsPlayerConnected(playerid))
    {
   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_LIGHTBLUE, \"Game Life RPG: /hirdetés [szöveg]\");
      return 1;
   }
   new hosszusag = strlen(result);
   if(strfind(result,\"91\", true,0) != -1)
   {
            if(strfind(result,\"82\",true,0) !=-1)
            {
                SendClientMessage(playerid, COLOR_GRAD2, \"Ezt a hirdetést nem adhatod fel!\");
                return 1;
            }
   }
   if(PlayerInfo[playerid][Penz] >= hosszusag*500)
   {
         format(stringx,256,\"HIRDETÉS: %s | Feladó: %s, | Telefonszám: %d\",result,sendername,PlayerInfo[playerid][pPnumber]);
         OOCNews(COLOR_GREEN,stringx);
         TudHirdetni[playerid] = 1;
         SetTimerEx(\"HirdetesTimer\", 60000, false, \"i\", playerid);
         PlayerInfo[playerid][Penz] -= hosszusag*500;
         varoskassza += hosszusag*500;
         Savevaroskassza();
         format(stringx,sizeof(stringx), \"A hírdetésben %d karaktert használtál fel ami %dFt!\",hosszusag,hosszusag*500);
         SendClientMessage(playerid, COLOR_WHITE, stringx);
            SafeGivePlayerMoney(playerid, -hosszusag*500);
            new nev[32];
         GetPlayerName(playerid, nev, sizeof(nev));
         new h,mi,s,y,m,d;
         getdate(y,m,d);
         gettime(h,mi,s);
         format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d][Hirdetés] HIRDETÉS: %s | Feladó: %s, | Telefonszám: %d\",y,m,d,h,mi,s,result,nev,PlayerInfo[playerid][pPnumber]);
         LoOoG(stringx);
   }
   else SendClientMessage(playerid, COLOR_GRAD1, \"A hírdetés ára 350Ft*karakter!\");
}
return 1;

 
 
Kód és spoiler javítva.
« Utoljára szerkesztve: 2014. június 07. - 12:18:52 írta Flash »

/hirdetés Tiltása szerver ip ellen
« Válasz #1 Dátum: 2014. június 06. - 19:35:20 »
0 Show voters
Üdv van ez a modomba hirdetés Ezt ugy kéne meg csinálni hogy szerver ipt ne lehesen hirdetni akki meg csinálja megy a gomb



if(strcmp(cmd, \"/hirdetések\", true) == 0 || strcmp(cmd, \"/hirdetések\", true) == 0)
{
   if(TudHirdetni[playerid] > 0) return SendClientMessage(playerid, COLOR_GRAD2, \"(( Percenként lehet hirdetni ))\");
    if(IsPlayerConnected(playerid))
    {
   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_LIGHTBLUE, \"Game Life RPG: /hirdetés [szöveg]\");
      return 1;
   }
   new hosszusag = strlen(result);
   if(strfind(result,\"91\", true,0) != -1)
   {
            if(strfind(result,\"82\",true,0) !=-1)
            {
                SendClientMessage(playerid, COLOR_GRAD2, \"Ezt a hirdetést nem adhatod fel!\");
                return 1;
            }
   }
   if(PlayerInfo[playerid][Penz] >= hosszusag*500)
   {
         format(stringx,256,\"HIRDETÉS: %s | Feladó: %s, | Telefonszám: %d\",result,sendername,PlayerInfo[playerid][pPnumber]);
         OOCNews(COLOR_GREEN,stringx);
         TudHirdetni[playerid] = 1;
         SetTimerEx(\"HirdetesTimer\", 60000, false, \"i\", playerid);
         PlayerInfo[playerid][Penz] -= hosszusag*500;
         varoskassza += hosszusag*500;
         Savevaroskassza();
         format(stringx,sizeof(stringx), \"A hírdetésben %d karaktert használtál fel ami %dFt!\",hosszusag,hosszusag*500);
         SendClientMessage(playerid, COLOR_WHITE, stringx);
            SafeGivePlayerMoney(playerid, -hosszusag*500);
            new nev[32];
         GetPlayerName(playerid, nev, sizeof(nev));
         new h,mi,s,y,m,d;
         getdate(y,m,d);
         gettime(h,mi,s);
         format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d][Hirdetés] HIRDETÉS: %s | Feladó: %s, | Telefonszám: %d\",y,m,d,h,mi,s,result,nev,PlayerInfo[playerid][pPnumber]);
         LoOoG(stringx);
   }
   else SendClientMessage(playerid, COLOR_GRAD1, \"A hírdetés ára 350Ft*karakter!\");
}
return 1;

 
 
Kód és spoiler javítva.
« Utoljára szerkesztve: 2014. június 07. - 12:18:52 írta Flash »

Nem elérhető BackUP

  • 908
    • Profil megtekintése
/hirdetés Tiltása szerver ip ellen
« Válasz #2 Dátum: 2014. június 09. - 22:24:37 »
0 Show voters
Ez alapján írtam neked: http://forum.sa-mp.com/showthread.php?p=780698#post780698
Ez szükséges lesz hozzá:
 
stock stringContainsIP(const szStr[])
{
    new
        iDots,
        i
    ;
    while(szStr != EOS)
    {
        if(\'0\' <= szStr <= \'9\')
        {
            do
            {
                if(szStr == \'.\')
                    iDots++;
               
                i++;
            }
            while((\'0\' <= szStr <= \'9\') || szStr == \'.\' || szStr == \':\');
        }
        if(iDots > 2)
            return 1;
        else
            iDots = 0;
       
        i++;
    }
    return 0;
}

 
A parancsod itt van:
 
if(strcmp(cmd, \"/hirdetések\", true) == 0 || strcmp(cmd, \"/hirdetések\", true) == 0)
        {
                if(TudHirdetni[playerid] > 0) return SendClientMessage(playerid, COLOR_GRAD2, \"(( Percenként lehet hirdetni ))\");
            if(IsPlayerConnected(playerid))
            {
                        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_LIGHTBLUE, \"Game Life RPG: /hirdetés [szöveg]\");
                                return 1;
                        }
                        new hosszusag = strlen(result);
                        if(strfind(result,\"91\", true,0) != -1)
                        {
                    if(strfind(result,\"82\",true,0) !=-1)
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, \"Ezt a hirdetést nem adhatod fel!\");
                        return 1;
                    }
                        }
                        if(PlayerInfo[playerid][Penz] >= hosszusag*500)
                        {
if(stringContainsIP(result))
               {
                      new   szMsg[128];
                   GetPlayerName(playerid, szMsg, MAX_PLAYER_NAME);
                   format(szMsg, sizeof(szMsg), \"Game Life RPG: Ejnye %s! Nem hírdethetsz szervert..\", szMsg);
                   return SendClientMessage(playerid,0xFF0000FF, szMsg);
               }
                                        format(stringx,256,\"HIRDETÉS: %s | Feladó: %s, | Telefonszám: %d\",result,sendername,PlayerInfo[playerid][pPnumber]);
                                        OOCNews(COLOR_GREEN,stringx);
                                        TudHirdetni[playerid] = 1;
                                        SetTimerEx(\"HirdetesTimer\", 60000, false, \"i\", playerid);
                                        PlayerInfo[playerid][Penz] -= hosszusag*500;
                                        varoskassza += hosszusag*500;
                                        Savevaroskassza();
                                        format(stringx,sizeof(stringx), \"A hírdetésben %d karaktert használtál fel ami %dFt!\",hosszusag,hosszusag*500);
                                        SendClientMessage(playerid, COLOR_WHITE, stringx);
                                        SafeGivePlayerMoney(playerid, -hosszusag*500);
                                        new nev[32];
                                        GetPlayerName(playerid, nev, sizeof(nev));
                                        new h,mi,s,y,m,d;
                                        getdate(y,m,d);
                                        gettime(h,mi,s);
                                        format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d][Hirdetés] HIRDETÉS: %s | Feladó: %s, | Telefonszám: %d\",y,m,d,h,mi,s,result,nev,PlayerInfo[playerid][pPnumber]);
                                        LoOoG(stringx);
                        }
                        else SendClientMessage(playerid, COLOR_GRAD1, \"A hírdetés ára 350Ft*karakter!\");
                }
                return 1;

 
UI.: Elcsúsztak a sorok, de mivel ez nem a te módod(mint írtad), hanem a goudlyne RPG editelt módja, tudtam tesztelni


Jah, és kedves Game Life RPG.. Kérlek más szerveren való hírdetést hadjátok abba! Ti védekezni szeretnétek, de ugyanúgy hírdettek  :tantrum: - Köszönjük..
 
Csak keresni kellet volna..

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal