Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Maad poslato Avgust 20, 2013, 00:32:02 PRE PODNE

Naslov: [POMOC] Oko Tajmera
Poruka od: Maad poslato Avgust 20, 2013, 00:32:02 PRE PODNE
Skripta koju koristim: Extreme
Detaljan opis problema: Problem je u tim tajmerima ja neznam stvarno al su pojebani mnogo ...
npr /stuck, /putgun, /takegun /g [vip chat] za stuck,putgun,takegun pise uvek sacekajte 3 sekunde a ono izgleda 3 dana, za /g kad napises nesto moras da sacekas isto 10 sec al kad prodje tih 10 sec nemozes opet da pises i to stalno tako dok ne odes jebeni relog.
Dio skripte:
if(strcmp(cmd, "/stuck", true) == 0)
{
    if(IsPlayerConnected(playerid))
{
           if(PlayerInfo[playerid][pJailed] == 1)
   {
   SCM(playerid,COLOR_GRAD1,"[GRESKA] Nemozete koristiti tu komandu kad ste u jailu!");
   return 1;
   }
   if(ReduceTime[playerid] == 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "[GRESKA] Morate sacekati 3 sekunde prije ponovnog koriscenja ove komande !");
                return 1;
            }
            if(PlayerInfo[playerid][pSvercTEC] == 1)
            {
            DisablePlayerCheckpoint(playerid);
            PlayerInfo[playerid][pSvercTEC] = 0;
SCM(playerid, COLOR_LIGHTRED,"Koristili ste stuck tokom sverca. Sverc vam je prekinut!");
}
            if(PlayerInfo[playerid][pSvercRM] == 1)
        {
            DisablePlayerCheckpoint(playerid);
            PlayerInfo[playerid][pSvercRM] = 0;
            SCM(playerid, COLOR_LIGHTRED,"Koristili ste stuck tokom sverca. Sverc vam je prekinut!");
}
if(PlayerInfo[playerid][pTazovan] > 0)
            {
            GetPlayerPos(playerid, ZaLisice[playerid][0],ZaLisice[playerid][1],ZaLisice[playerid][2]);
            SetPlayerPos(playerid, ZaLisice[playerid][0],ZaLisice[playerid][1],ZaLisice[playerid][2]);
            SendClientMessage(playerid, -1, "  tazan si ne mozes tu komandu da koristis !");
            }
if(PlayerCuffed[playerid] == 0 && PlayerTied[playerid] == 0 &&  PlayerFreezed[playerid] == 0 && KnockedDown[playerid] == 0)
{
new Float:slx, Float:sly, Float:slz;
GetPlayerPos(playerid, slx, sly, slz);
JBC_SetPlayerPos(playerid, slx, sly, slz+2);
TogglePlayerControllable(playerid, 1);
                ReduceTime[playerid] = 1;
                SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
return 1;
}
else if(PlayerCuffed[playerid] > 0 || PlayerTied[playerid] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "[GRESKA] Nemozete koristiti stuck jer ste vezani/uhapseni/frezovani!!!");
}
}
return 1;
}


if(!strcmp(cmdtext, "/takegun", true)) // By Ellis
    {
        if(IsPlayerConnected(playerid))
        {
if(PlayerInfo[playerid][pLevel] < 2)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "[GRESKA] {FFFFFF}Morate biti level 2! ");
return 1;
}
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Morate se prvo prijaviti ! ");
                return 1;
            }
            if(ReduceTime[playerid] == 1)
            {
                SendClientMessage(playerid, COLOR_LIGHT_BLUE, "Morate sacekati 3 sekunde pre ponovnog koriscenja ove komande !");
                return 1;
            }
            if(PlayerInfo[playerid][pInvWeapon] != 0 && PlayerInfo[playerid][pInvAmmo] != 0)
            {
                ReduceTime[playerid] = 1;
                SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
                new gunname[100];
                GetWeaponName(PlayerInfo[playerid][pInvWeapon], gunname, sizeof(gunname));
                GivePlayerWeapon(playerid, PlayerInfo[playerid][pInvWeapon], PlayerInfo[playerid][pInvAmmo]);
                GetPlayerName(playerid, sendername, sizeof(sendername));
      format(string, sizeof(string), "Uzeli ste %s iz vase Unutrasnjosti.", gunname);
      SendClientMessage(playerid, COLOR_LIGHT_BLUE, string);
      PlayerInfo[playerid][pInvWeapon] = 0;
                PlayerInfo[playerid][pInvAmmo] = 0;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "  Niste stavili nijedno oruzije u vas intentar !");
                return 1;
            }
        }
        return 1;
    }

if(!strcmp(cmdtext, "/putgun", true)) //
    {
        if(IsPlayerConnected(playerid))
        {
             if(OnDuty[playerid]==1)
{
             SendClientMessage(playerid, COLOR_GRAD2, "[GRESKA] Ne mozes koristiti tu komandu kad si na duznosti!");
             return 1;
             }
if(PlayerInfo[playerid][pLevel] < 2)
{
SendClientMessage(playerid, COLOR_GREY, "Morate biti level 2! ");
return 1;
}
        if(!PlayerToPoint(100, playerid, -408.7373,2238.0344,42.0430) && !PlayerToPoint(200, playerid, -2907.5061,454.0712,4.6203) && !PlayerToPoint(200, playerid, -2923.2419,-590.2934,3.5102))
        {
            if(gPlayerLogged[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "  Morate se prvo prijaviti !");
                return 1;
            }
            if(ReduceTime[playerid] == 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Morate sacekati 3 sekunde pre ponovnog koriscenja ove komande !");
                return 1;
            }
            if(PlayerInfo[playerid][pInvWeapon] != 0 || PlayerInfo[playerid][pInvAmmo] != 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "  Vec ste nesto stavili u vas intentar !");
                return 1;
            }

            new gunID = GetPlayerWeapon(playerid);
            new gunAmmo = GetPlayerAmmo(playerid);

            if(gunID != 0 && gunAmmo != 0)
            {
                ReduceTime[playerid] = 1;
                SetTimerEx("ReduceTimer", 3000, false, "i", playerid);
                PlayerInfo[playerid][pInvWeapon] = gunID;
                PlayerInfo[playerid][pInvAmmo] = gunAmmo;
RemovePlayerWeapon(playerid, gunID);
                GetPlayerName(playerid, sendername, sizeof(sendername));
new gunname[100];
GetWeaponName(gunID, gunname, sizeof(gunname));
                format(string, sizeof(string), "   Stavili ste %s u vas intentar.", gunname);
SendClientMessage(playerid, COLOR_GREY, string);
                return 1;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "  Nemate oruzije ! ");
                return 1;
            }
    }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "  Ne mozete koristiti tu komandu ovde ! ");
                return 1;
            }
        }
        return 1;
    }

Neke slike/video za lakse dobivanje pomoci(neobavezno): //

Slika: http://www.dodaj.rs/f/5/Dd/4KXI9y3m/sa-mp-001.png

hvala unapred  :)
Naslov: Odg: [POMOC] Oko Tajmera
Poruka od: Crazyn3ss poslato Avgust 20, 2013, 01:28:36 PRE PODNE
dali imas public za te tajmere koji ce postavit te varijable na nulu
iako ima i laksih nacina

new tajmer[MAX_PLAYERS];

stavis ovo pod onplayerconnet
tajmer[playerid] = 0;

i ovako u komandu

if(gettime() < tajmer[playerid]) return SCM(playerid, -1, "Tvoj text");
tajmer[playerid] = gettime() + 5;//ovaj 5 to su sekunde
Naslov: Odg: [POMOC] Oko Tajmera
Poruka od: Maad poslato Avgust 20, 2013, 09:48:50 PRE PODNE
Hvala bro !  ;)

Samo sam opet ja nesto zabrljao napravio sam to za stuck putgun takegun i ok je sad

Nego me zeza za /bugrepot i /askq..

SLIKA: http://www.dodaj.rs/f/X/md/4UmHRUkq/sa-mp-001.png

Moze i dalje da se spamuje a pise da ne moze :D

if(strcmp(cmd, "/askq", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
SendClientMessage(playerid, COLOR_GREY, "{0F629F}[ODBIJENO] {FFFFFF}Moras biti ulogovan!");
return 0;
    }
    if(PlayerInfo[playerid][pJailed] >= 1) return SCM(playerid,COLOR_WHITE,"U Zatvoru/Jailu si nemozes kotistiti /askq");
        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, "USAGE: /askq [text]");
return 1;
}
            format(string, sizeof(string), "Pitanje od %s ID:%d: %s", sendername, playerid, (result));
ABroadCast(COLOR_ASKQ,string,1);
SendClientMessage(playerid, COLOR_ASKQ, "{FFFF80}[ASKQ]:{C0C0C0} Uspesno si poslao pitanje, bice pregledano od strane Admina/Helpera!");
{
if(gettime() < tajmer[playerid]) return SCM(playerid, -1, "{C0C0C0}[GRESKA] Morate sacekati 30 sekundi prije ponovnog koriscenja ove komande !");
            tajmer[playerid] = gettime() + 30;
            }
    }
    return 1;
}
Naslov: Odg: [POMOC] Oko Tajmera
Poruka od: Maad poslato Avgust 20, 2013, 13:07:45 POSLE PODNE
BUMP
Naslov: Odg: [POMOC] Oko Tajmera
Poruka od: Maad poslato Avgust 20, 2013, 22:41:10 POSLE PODNE
BUMP

Hitno je, ajde neko.
Naslov: Odg: [POMOC] Oko Tajmera
Poruka od: Crazyn3ss poslato Avgust 21, 2013, 11:12:16 PRE PODNE
evo stavi je ovako


if(strcmp(cmd, "/askq", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
SendClientMessage(playerid, COLOR_GREY, "{0F629F}[ODBIJENO] {FFFFFF}Moras biti ulogovan!");
return 0;
    }
    if(PlayerInfo[playerid][pJailed] >= 1) return SCM(playerid,COLOR_WHITE,"U Zatvoru/Jailu si nemozes kotistiti /askq");
if(gettime() < tajmer[playerid]) return SCM(playerid, -1, "{C0C0C0}[GRESKA] Morate sacekati 30 sekundi prije ponovnog koriscenja ove komande !");
        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, "USAGE: /askq [text]");
return 1;
}
            format(string, sizeof(string), "Pitanje od %s ID:%d: %s", sendername, playerid, (result));
ABroadCast(COLOR_ASKQ,string,1);
SendClientMessage(playerid, COLOR_ASKQ, "{FFFF80}[ASKQ]:{C0C0C0} Uspesno si poslao pitanje, bice pregledano od strane Admina/Helpera!");
tajmer[playerid] = gettime() + 30;
{
            }
    }
    return 1;
}