[POMOC] Oko Tajmera


Započeo Maad, Avgust 20, 2013, 00:32:02 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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  :)

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
Other Dimension RolePlay | Uskoro
Ukoliko zelite pomoci u razvoju servera, mozete se meni javit na PP/PM!

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;
	}
Poslednja Izmena: Avgust 20, 2013, 10:23:06 PRE PODNE od krrk



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;
	}
Other Dimension RolePlay | Uskoro
Ukoliko zelite pomoci u razvoju servera, mozete se meni javit na PP/PM!