27.06.2012, 17:51
Hi there this is my first release
And i made this alone.
tell me how i can improve the code. or make i shorter
It's a simple newbie chat
Admin can write nonstop normal player need to wait 30 seconds.
Add this symbol and forward:
Код:
new NewbieTimer[MAX_PLAYERS]; forward NewbTimer(playerid);
add
Код:
NewbieTimer[playerid] = 0;
Код:
if(strcmp(cmd, "/newb", true) == 0)
{
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You are muted from the newbie chat channel.");
return 1;
}
if(NewbieTimer[playerid] > 0)
{
format(string, sizeof(string), "You must wait %d between each message.", NewbieTimer[playerid]);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
new result[64];
new length = strlen(cmdtext);
new offset = idx;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_NEWBIE, "{33CCFF}USAGE:{FFFFFF} /newb [text]");
return 1;
}
if(PlayerInfo[playerid][pAdmin] < 1)
{
NewbieTimer[playerid] = 30;
}
if(PlayerInfo[playerid][pAdmin]<1)
{
format(string, sizeof(string), "** Newbie %s: %s", GetPlayerNameEx(playerid), result);
}
if(PlayerInfo[playerid][pAdmin] == 1)
{
format(string, sizeof(string), "** Moderator %s: %s", GetPlayerNameEx(playerid), result);
}
if(PlayerInfo[playerid][pAdmin] >= 2)
{
format(string, sizeof(string), "** Admin %s: %s", GetPlayerNameEx(playerid), result);
}
foreach(Player, n)
{
SetTimer("NewbTimer", 25000, 0);
SendClientMessage(n, COLOR_NEWBIE, string);
}
return 1;
}
This is the public for NewbTimer to wait 30 seconds.
Код:
public NewbTimer(playerid)
{
NewbieTimer[playerid] = 0;
return 1;
}

Enjoy

