How to disable score, when I'm in AFK Mode -
martin3644 - 12.12.2012
Hello people!
I'm using this AFK system
PHP код:
#include <a_samp>
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#pragma tabsize 0
//Colors
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREEN 0x00FF00AA
#define COLOR_RED 0xFF0000AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_YELLOW 0xFFFF00AA
enum Player
{
AFKstatus
}
new PlayerInfo[MAX_PLAYERS][Player];
public OnFilterScriptExit()
{
return 1;
}
dcmd_afk(playerid, params[])
{
#pragma unused params
new string[256];
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Your status is already AFK/BRB!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) is now away from keyboard!", pname,playerid);
SendClientMessageToAll(COLOR_YELLOW, string);
TogglePlayerControllable(playerid,0);
PlayerInfo[playerid][AFKstatus] = 1;
return 1;
}
return 0;
}
dcmd_brb(playerid, params[])
{
#pragma unused params
new string[256];
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: You are aready AFK or BRB!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) Will Be Right Back (BRB)", pname,playerid);
SendClientMessageToAll(COLOR_GREEN, string);
TogglePlayerControllable(playerid,0);
PlayerInfo[playerid][AFKstatus] = 1;
return 1;
}
return 0;
}
dcmd_back(playerid, params[])
{
#pragma unused params
new string [256];
if (PlayerInfo[playerid][AFKstatus] == 0)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: You are Aready Back!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 1)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) is now back!", pname,playerid);
SendClientMessageToAll(COLOR_GREEN, string);
TogglePlayerControllable(playerid,1);
PlayerInfo[playerid][AFKstatus] = 0;
return 1;
}
return 0;
}
dcmd_afklist( playerid, params[ ] )
{
#pragma unused params
new count = 0;
new name[MAX_PLAYER_NAME];
new string[128];
//
SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "AFK List:");
SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if(PlayerInfo[i][AFKstatus] == 1)
{
GetPlayerName(i, name, sizeof(name));
format(string, 256, "AFK> %s{FFFFFF} (ID:%d)", name,i );
SendClientMessage(playerid, COLOR_YELLOW, string);
count++;
}
}
}
if (count == 0)
{
SendClientMessage(playerid, COLOR_RED, "NoOne is afk or brb");
}
SendClientMessage(playerid, COLOR_WHITE, "-=---=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][AFKstatus] = 0;
return 1;
}
public OnPlayerText(playerid, text[])
{
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Use /back to speak again!");
return 0;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
return 1;
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(afk,3,cmdtext);
dcmd(brb,3,cmdtext);
dcmd(back,4,cmdtext);
dcmd(afklist,7,cmdtext);
return 0;
}
//don't remove credits, maded by KINGINA
And I want, when a player types /afk, then the players score is stopping. My Server is using score system 1 minut = 1 score, but when the player types /afk then it will stop, when he/she types /back, then the score is going up again.
Can enyone help me please!?
Sorry for my bad english, hope you understand.
Thank You: martin3644
Re: How to disable score, when I'm in AFK Mode -
DaRk_RaiN - 12.12.2012
Go to the timer where you give 1 score each minute then add this to it
pawn Код:
if(PlayerInfo[playerid][AFKstatus] == 1) return 1;
Re: How to disable score, when I'm in AFK Mode -
martin3644 - 12.12.2012
filterscripts\AFK.pwn(25) : error 017: undefined symbol "playerid"
Re: How to disable score, when I'm in AFK Mode -
martin3644 - 12.12.2012
PHP код:
#include <a_samp>
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#pragma tabsize 0
//Colors
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREEN 0x00FF00AA
#define COLOR_RED 0xFF0000AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_YELLOW 0xFFFF00AA
forward Score();
enum Player
{
AFKstatus
}
new PlayerInfo[MAX_PLAYERS][Player];
public OnFilterScriptInit()
{
if(PlayerInfo[playerid][AFKstatus] == 1)
SetTimer("Score",60000,1);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
dcmd_afk(playerid, params[])
{
#pragma unused params
new string[256];
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Your status is already AFK/BRB!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) is now away from keyboard!", pname,playerid);
SendClientMessageToAll(COLOR_YELLOW, string);
TogglePlayerControllable(playerid,0);
PlayerInfo[playerid][AFKstatus] = 1;
return 1;
}
return 0;
}
dcmd_brb(playerid, params[])
{
#pragma unused params
new string[256];
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: You are aready AFK or BRB!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) Will Be Right Back (BRB)", pname,playerid);
SendClientMessageToAll(COLOR_GREEN, string);
TogglePlayerControllable(playerid,0);
PlayerInfo[playerid][AFKstatus] = 1;
return 1;
}
return 0;
}
dcmd_back(playerid, params[])
{
#pragma unused params
new string [256];
if (PlayerInfo[playerid][AFKstatus] == 0)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: You are Aready Back!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 1)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) is now back!", pname,playerid);
SendClientMessageToAll(COLOR_GREEN, string);
TogglePlayerControllable(playerid,1);
PlayerInfo[playerid][AFKstatus] = 0;
return 1;
}
return 0;
}
dcmd_afklist( playerid, params[ ] )
{
#pragma unused params
new count = 0;
new name[MAX_PLAYER_NAME];
new string[128];
//
SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "AFK List:");
SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if(PlayerInfo[i][AFKstatus] == 1)
{
GetPlayerName(i, name, sizeof(name));
format(string, 256, "AFK> %s{FFFFFF} (ID:%d)", name,i );
SendClientMessage(playerid, COLOR_YELLOW, string);
count++;
}
}
}
if (count == 0)
{
SendClientMessage(playerid, COLOR_RED, "NoOne is afk or brb");
}
SendClientMessage(playerid, COLOR_WHITE, "-=---=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][AFKstatus] = 0;
return 1;
}
public OnPlayerText(playerid, text[])
{
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Use /back to speak again!");
return 0;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
return 1;
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(afk,3,cmdtext);
dcmd(brb,3,cmdtext);
dcmd(back,4,cmdtext);
dcmd(afklist,7,cmdtext);
return 0;
}
public Score()
{
for(new i = 0;i != MAX_PLAYERS;++i)
{
SetPlayerScore(i, GetPlayerScore(i)+1);
}
return 1;
}
//don't remove credits, maded by KINGINA
Now I made this, changed a little bit things. And I get this error.
Re: How to disable score, when I'm in AFK Mode -
DaRk_RaiN - 12.12.2012
pawn Код:
#include <a_samp>
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#pragma tabsize 0
//Colors
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREEN 0x00FF00AA
#define COLOR_RED 0xFF0000AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_YELLOW 0xFFFF00AA
forward Score();
enum Player
{
AFKstatus
}
new PlayerInfo[MAX_PLAYERS][Player];
public OnFilterScriptInit()
{
if(PlayerInfo[playerid][AFKstatus] == 1)
SetTimer("Score",60000,1);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
dcmd_afk(playerid, params[])
{
#pragma unused params
new string[256];
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Your status is already AFK/BRB!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) is now away from keyboard!", pname,playerid);
SendClientMessageToAll(COLOR_YELLOW, string);
TogglePlayerControllable(playerid,0);
PlayerInfo[playerid][AFKstatus] = 1;
return 1;
}
return 0;
}
dcmd_brb(playerid, params[])
{
#pragma unused params
new string[256];
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: You are aready AFK or BRB!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) Will Be Right Back (BRB)", pname,playerid);
SendClientMessageToAll(COLOR_GREEN, string);
TogglePlayerControllable(playerid,0);
PlayerInfo[playerid][AFKstatus] = 1;
return 1;
}
return 0;
}
dcmd_back(playerid, params[])
{
#pragma unused params
new string [256];
if (PlayerInfo[playerid][AFKstatus] == 0)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: You are Aready Back!");
return 1;
}
else if (PlayerInfo[playerid][AFKstatus] == 1)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(string, sizeof(string), "%s (ID:%d) is now back!", pname,playerid);
SendClientMessageToAll(COLOR_GREEN, string);
TogglePlayerControllable(playerid,1);
PlayerInfo[playerid][AFKstatus] = 0;
return 1;
}
return 0;
}
dcmd_afklist( playerid, params[ ] )
{
#pragma unused params
new count = 0;
new name[MAX_PLAYER_NAME];
new string[128];
//
SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "AFK List:");
SendClientMessage(playerid, COLOR_WHITE, "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if(PlayerInfo[i][AFKstatus] == 1)
{
GetPlayerName(i, name, sizeof(name));
format(string, 256, "AFK> %s{FFFFFF} (ID:%d)", name,i );
SendClientMessage(playerid, COLOR_YELLOW, string);
count++;
}
}
}
if (count == 0)
{
SendClientMessage(playerid, COLOR_RED, "NoOne is afk or brb");
}
SendClientMessage(playerid, COLOR_WHITE, "-=---=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=");
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][AFKstatus] = 0;
return 1;
}
public OnPlayerText(playerid, text[])
{
if (PlayerInfo[playerid][AFKstatus] == 1)
{
SendClientMessage(playerid, COLOR_RED, "ERROR: Use /back to speak again!");
return 0;
}
else if (PlayerInfo[playerid][AFKstatus] == 0)
{
return 1;
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(afk,3,cmdtext);
dcmd(brb,3,cmdtext);
dcmd(back,4,cmdtext);
dcmd(afklist,7,cmdtext);
return 0;
}
public Score()
{
for(new i = 0;i != MAX_PLAYERS;++i)
{
if(PlayerInfo[i][AFKstatus] == 1) return 1;
SetPlayerScore(i, GetPlayerScore(i)+1);
}
return 1;
}
//don't remove credits, maded by KINGINA
Re: How to disable score, when I'm in AFK Mode -
martin3644 - 12.12.2012
PHP код:
public Score()
{
for(new i = 0;i != MAX_PLAYERS;++i)
{
SetPlayerScore(i, GetPlayerScore(i)+1);
}
return 1;
}
Re: How to disable score, when I'm in AFK Mode -
DaRk_RaiN - 12.12.2012
pawn Код:
public Score()
{
for(new i = 0;i != MAX_PLAYERS;++i)
{
if(PlayerInfo[i][AFKstatus] == 1) return 1;
SetPlayerScore(i, GetPlayerScore(i)+1);
}
return 1;
}
Re: How to disable score, when I'm in AFK Mode -
martin3644 - 12.12.2012
OMG || error 017: undefined symbol "playerid"
Re: How to disable score, when I'm in AFK Mode -
DaRk_RaiN - 12.12.2012
Quote:
Originally Posted by martin3644
OMG || error 017: undefined symbol "playerid"
|
What are you talking about?there is no playerid.
Re: How to disable score, when I'm in AFK Mode -
martin3644 - 12.12.2012
Idk, when I klick compile then I get this error :S