[POMOC]/Report i /new timet

Započeo [SC] ScHaLe, Jul 26, 2011, 05:29:39 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: BMW edit
Detaljan opis problema: Stavio sam i definiro timer ali on i dalje ne radi, Isti je problem i sa /new
Dio skripte:if(strcmp(cmd, "/report", true) == 0)
{
    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_DGOLD, "Koristite: /Report [text]");
return 1;
}
format(string, sizeof(string), "REPORT (ID:%d) %s: %s", playerid, sendername, (result));
ABroadCast(TEAM_BLUE_COLOR,string,1);
SendClientMessage(playerid, COLOR_GOLD, "Vas report je poslan svim Virje Gamer's online Adminima.");
SetTimerEx("ReportReset", 3000, false, "i", playerid);
    }
    return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
Street's Creed

Street's Creed gaming zajednica se vraća.
Forum: www.streets-creed.info
IP: 213.149.60.34:7774

evo ti primjer kako bi radilo...
ali ovo je za minutu pa ti sebi podesavaj..

ovo ide u komandu..
Timer[playerid] = 1;
SetTimerEx("Report", 60000, false, "%d", playerid);


ovo mozes i nemoras..isto u komandu..
if(Timer[playerid] == 1) return SendClientMessage(playerid, COLOR_GRAD1, "Izmedu dva reporta mora proc 1 minuta");

i ovo na kraj skripte...
forward Report(playerid);
public Report(playerid)
{
  Timer[playerid] = 0;
}


Jesi skuzio???
Vratio sam se ponovo ocekjute novi server...

Hm ne bas.. Sad mi izbaci 3 errora za ovaj dio
Timer[playerid] = 1;

Errori:C:\Documents and Settings\Administrator\Desktop\Virje Gamer's NEDIRAM\gamemodes\BMWRolePlay.pwn(19368) : error 017: undefined symbol "Timer"
C:\Documents and Settings\Administrator\Desktop\Virje Gamer's NEDIRAM\gamemodes\BMWRolePlay.pwn(19368) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\Administrator\Desktop\Virje Gamer's NEDIRAM\gamemodes\BMWRolePlay.pwn(19368) : error 029: invalid expression, assumed zero
C:\Documents and Settings\Administrator\Desktop\Virje Gamer's NEDIRAM\gamemodes\BMWRolePlay.pwn(19368) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


Street's Creed

Street's Creed gaming zajednica se vraća.
Forum: www.streets-creed.info
IP: 213.149.60.34:7774



Sada nema errora ali i dalje se moze spamat :S
Poslednja Izmena: Jul 26, 2011, 17:00:09 POSLE PODNE od ScHaLe
Street's Creed

Street's Creed gaming zajednica se vraća.
Forum: www.streets-creed.info
IP: 213.149.60.34:7774

Citat: ScHaLe poslato Jul 26, 2011, 16:56:33 POSLE PODNE
Sada nema errora ali i dalje se moze spamat :S

evo komanda

if(strcmp(cmd, "/report", true) == 0)
{
   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_DGOLD, "Koristite: /Report [text]");
return 1;
                                         }
                                         if(Timer[playerid] == 1) return SendClientMessage(playerid, COLOR_GRAD1, "Izmedu dva reporta mora proc 1 minuta");
format(string, sizeof(string), "REPORT (ID:%d) %s: %s", playerid, sendername, (result));
ABroadCast(TEAM_BLUE_COLOR,string,1);
SendClientMessage(playerid, COLOR_GOLD, "Vas report je poslan svim Virje Gamer's online Adminima.");
Timer[playerid] = 1;
                                         SetTimerEx("Report", 60000, false, "%d", playerid);
   }
   return 1;
}


i ovo na kraj skripte...

forward Report(playerid);
public Report(playerid)
{
 Timer[playerid] = 0;
}
Poslednja Izmena: Jul 26, 2011, 19:25:16 POSLE PODNE od Narco_VK
Vratio sam se ponovo ocekjute novi server...

Hvala na pomoci....

LOCK :)
Street's Creed

Street's Creed gaming zajednica se vraća.
Forum: www.streets-creed.info
IP: 213.149.60.34:7774

Inače to je loš način jer neka ti se priključi npr. 50 igrača na server i recimo da svih igrača bar jedanput koriste /report to ti je 50 novih timera to je početak crasha servera. Koristi jedan LOCAL timer i sa varijablama se spoji na njega pogotovo za ovakve bizarne stvari kao report komanda. Eto ti primjer

SetTimer("local",1000,true); // NAĐI NEKI SLIČNI TIMER U SVOM MODU

public local()
{
    foreach(Player, i)
    {
        if(bankaTimer[i] >= 1)
        {
             bankaTimer[i] -= 1;
             if(bankaTimer[i] == 0)
             {
                   bankaTimer[i] = 0;
             }
        }
    }
    return true;
}

// komanda

if(strcmp(cmd, "/report", true) == 0)
{
     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_DGOLD, "Koristite: /Report [text]");
return 1;
        }
        if(bankaTimer[playerid] >= 1) return SendClientMessage(playerid, COLOR_GRAD1, "Izmedu dva reporta mora proc 1 minuta");
        else
        {
   format(string, sizeof(string), "REPORT (ID:%d) %s: %s", playerid, sendername, (result));
   ABroadCast(TEAM_BLUE_COLOR,string,1);
   SendClientMessage(playerid, COLOR_GOLD, "Vas report je poslan svim Virje Gamer's online Adminima.");
   bankaTimer[playerid] = Min(1); // 1 minutu nečete moći koristiti /report
}
}
return 1;
}


Nadam se da si shvatio šta sam ti htio reći a za ovo šta sam ti stavio Min(1); to možeš naći u ovom topicu: http://balkan-samp.com/forum/index.php?topic=4245.90


Ubuduće svima savjetujem da se spajaju na lokalne timere varijablama
Kristijan Stipić