[Pomoc]Oglasnik!!!!


Započeo Muce, Decembar 03, 2014, 13:09:56 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:Blood City HardPlay
Detaljan opis problema:Mogu dati bezbroj oglasa na /ad kako da napravim timer da se moze svake minute dati oglas!!!
Dio skripte: if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
   {
       if(IsPlayerConnected(playerid))
       {
           if(gPlayerLogged[playerid] == 0)
           {
               SendClientMessage(playerid, COLOR_GREY, "   Niste se prijavili !");
               return 1;
           }
           if(PlayerInfo[playerid][pLevel] < 2)
           {
               SendClientMessage(playerid, COLOR_GREY, "[PAZNJA] Morate biti Level 2 da bi davali oglas !");
               return 1;
           }
           if(!PlayerToPoint(5.0,playerid,1461.2137,-1011.1375,26.8438))
           {
               SendClientMessage(playerid, COLOR_GREY, "[PAZNJA] Niste na mjestu davanja oglasa !");
               return 1;
           }
         GetPlayerName(playerid, sendername, sizeof(sendername));
         strreplace(sendername, '_', ' ');
         new length = strlen(cmdtext);
         while ((idx < length) && (cmdtext[idx] <= ' '))
         {
            idx++;
         }
         new offset = idx;
         new result[256];
         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, "Koriscenje: (/ad)vertise [tekst oglasa]");
         }
         if ((!adds) && (PlayerInfo[playerid][pAdmin] < 1))
         {
            format(string, sizeof(string), "Molimo pokusajte jer treba da prodje 60 sekundi izmedju oglasa  !");
            SendClientMessage(playerid, COLOR_GRAD2, string);
            return 1;

         }
         new payout = idx * 5;
         if(GetPlayerMoney(playerid) < payout)
           {
               format(string, sizeof(string), "* Vi ste iskoristili %d slova sto kosta $%d, nemate dovoljno novca.", offset, payout);
               SendClientMessage(playerid, COLOR_GREEN, string);
               return 1;
           }
            new brojevi[] = { '1','2','3','4','5','6','7','8','9'};
         for(new b = 0; b < sizeof brojevi; b++)
         {
            new tekst = strlen(result);
            for(new i = 0; i<tekst; i++)
               {
               if(result == brojevi)
               result = '*' ;
               }
         }
         new string123[300];
         JBC_GivePlayerMoney(playerid, - payout);
         SBizzInfo[7][sbTill] += payout;
         ExtortionSBiz(7, payout);
         format(string, sizeof(string), "{80C8FE}[OGLASNIK] {498C12}%s {80C8FE}Tel: %d {498C12}( %s )", result, PlayerInfo[playerid][pPnumber], sendername);
         OOCNews(TEAM_GROVE_COLOR,string);
          //  format(string, sizeof(string), "{6EF83C}[Tekst Oglasa] {46BAE8}%s",  result);
      //   OOCNews(TEAM_GROVE_COLOR,string);
         format(string, sizeof(string), "~b~Racun ~w~$%d~n~~b~Slova: ~w~%d", payout, idx);
         GameTextForPlayer(playerid, string, 4000, 1);
         format(string123, sizeof(string123), "~g~|ID:%d|Dao oglas:%s|Text oglasa:%s|",playerid,sendername,result);
         PosaljiAdminima(COLOR_LIGHTRED,string123);
         for(new i; i < sizeof(ZabranjeneReci); i++)
            {
               if(strfind(result, ZabranjeneReci, true) != -1)
               {
                    new strMy[256];
                   GetPlayerName(playerid, sendername, sizeof(sendername));
                   strreplace(sendername, '_', ' ');
                    format(strMy, sizeof(strMy), "[BC ANTICHEAT]Igrac:[%d][%s]>%s< !",playerid,sendername,result);
                     PosaljiAdminima(COLOR_LIGHTGREEN, strMy);
               }
            }
         if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
      }
      return 1;
   }
////////////////////////////////////////////////////////////////////////////////
    if(strcmp(cmd, "/smsadvertise", true) == 0 || strcmp(cmd, "/smsad", true) == 0)
   {
       if(IsPlayerConnected(playerid))
       {
           if(gPlayerLogged[playerid] == 0)
           {
               SendClientMessage(playerid, COLOR_WHITE, "Niste se prijavili!");
               return 1;
           }
           if(PlayerInfo[playerid][pLevel] < 3)
           {
               SendClientMessage(playerid, COLOR_WHITE,"Morate biti level 3 da bih ste dali oglas.");
               return 1;
           }
           if(PlayerInfo[playerid][pMuteAD] == 1)
         {
            SendClientMessage(playerid, COLOR_GRAD2, "Imas zabranu davanja oglasa nemozes to !");
            return 1;
         }
         if(PlayerInfo[playerid][pJailed] >= 1)
         {
            SendClientMessage(playerid, COLOR_GRAD2, "U Zatvoru si nemozes to!");
            return 1;
         }
         GetPlayerName(playerid, sendername, sizeof(sendername));
         new length = strlen(cmdtext);
         while ((idx < length) && (cmdtext[idx] <= ' '))
         {
            idx++;
         }
         new offset = idx;
         new result[128];
         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, "Koristi: (/smsad)vertise [advert text]");
            return 1;
         }
         if ((!adds) && (PlayerInfo[playerid][pAdmin] < 2))
         {
            format(string, sizeof(string), "Molimo pokusajte jer treba da prodje %d sekundi izmedju sms ad-a!",  (addtimer/1000));
            SendClientMessage(playerid, COLOR_GRAD2, string);
            return 1;

         }
         new payout = idx * 5;
         if(PlayerInfo[playerid][pKredit1] < payout)
           {
               format(string, sizeof(string), "* Vi ste iskoristili %d slova sto kosta $%d, nemate dovoljno kredita na mobilnom za oglas.", offset, payout);
               SendClientMessage(playerid, COLOR_WHITE, string);
               return 1;
           }
         PlayerInfo[playerid][pKredit1] -= payout;
         format(string, sizeof(string), "[ID:%d] %s je dao oglas", playerid, sendername);
         ABroadCast(COLOR_BLUE,string,1);
         SBizzInfo[7][sbTill] += payout;
         ExtortionSBiz(7, payout);
         format(string, sizeof(string), "{80C8FE}[OGLASNIK] | {498C12}%s {80C8FE}Tel: %d | {498C12}( %s )", result, PlayerInfo[playerid][pPnumber], sendername);
         OOCNews(TEAM_GROVE_COLOR,string);
         format(string, sizeof(string), "~r~Racun $%d~n~~w~Poruka je sadrzala: %d Slova", payout, idx);
         GameTextForPlayer(playerid, string, 5000, 1);
         SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
         if (PlayerInfo[playerid][pAdmin] < 2){SetTimer("AddsOn", addtimer, 0);adds = 0;}
      }
      return 1;
   }
Neke slike/video za lakse dobivanje pomoci(neobavezno): http://i.imgur.com/mPPvdiK.png eto i slika

Denis_Lapi

*

Balkan SA:MP Web Designer

Spremi varijablu npr:
new DaoOglas[MAX_PLAYERS];

Ovo stavljas na pocetku moda, valjda to znas


Onda u tom delu komande kad on postavlja oglas postavljas mu varijablu na = 1; i pokreni SetTimerEx
DaoOglas[playerid] = 1;
SetTimerEx("OglasTimer", 60000*5, true, "i", playerid);


U publicu kada istekne timer gasis mu varijablu tj. postavljas vrednost na 0 da bi on mogao da kuca ponovo oglas
forward OglasTimer(playerid);
public OglasTimer(playerid)
{
    DaoOglas[playerid] = 0;
    return 1;
}



I u komandi ubacis proveru (Na pocetku komande):
if(DaoOglas[playerid] == 1) return SendClientMessage(playerid, -1,"Ne mozete jos uvek davati oglas");
Poslednja Izmena: Decembar 03, 2014, 13:31:59 POSLE PODNE od Denis_Lapi

[FS] Bank Sistem
[TuT] Array Sistem (Napredna)


"Pa krenite na mene i provesce te se super ko kapetan Kuka kada levom brise dupe"

www.denis-lapi.com

Riješeno može lock
Denise hvala mnogo :D