shape1
shape2
shape3
shape4
shape7
shape8

Скрытие игрока с радара и ника над головой


Статус
Закрыто для дальнейших ответов.

JdmO_O

Новичок
Пользователь
13.05.2015
233
8
0
К глобальным переменным:

new bool:HideMe[MAX_PLAYERS];
в OnPlayerConnect(playerid):

HideMe[playerid] = false;

в OnPlayerCommandText(playerid, cmdtext[]):

Код:
if(strcmp(cmdtext, "/hideme", true) == 0)
{
        new pName[MAX_PLAYER_NAME];
        new string[50];
        GetPlayerName(playerid,pName, sizeof(pName));
        if(HideMe[playerid] == false) {
                format(string, sizeof(string), " {FFFFFF}%s активировал Скрытность",pName);
                SendClientMessageToAll(-1, string);
                HideMe[playerid] = true;
                GameTextForPlayer(playerid,"~w~HideMode ~g~ON",3000,3);
                for(new i = 0; i < MAX_PLAYERS; i++) {
                        SetPlayerMarkerForPlayer(i,playerid, 0xFF000000);
                        ShowPlayerNameTagForPlayer(i,playerid, false);
                }      
        }
        else if(HideMe[playerid] == true) {
                format(string, sizeof(string), " {FFFFFF}%s деактивировал Скрытность",pName);
                SendClientMessageToAll(-1, string);
                HideMe[playerid] = false;
                GameTextForPlayer(playerid,"~w~HideMode ~r~OFF",3000,3);
                for(new i = 0; i < MAX_PLAYERS; i++) {
                        SetPlayerMarkerForPlayer(i,playerid, GetPlayerColor(i));
                        ShowPlayerNameTagForPlayer(i,playerid, true);
                }      
        }
        return 1;
}
 

FanHamMer

Новичок
Пользователь
07.07.2015
24
2
0
Без использования bool который любит покушать много байт. Код не проверял в игре, но работать должен.

Код:
public OnPlayerConnect(playerid)
{
	SetPVarInt(playerid, #HideMe, 0);
	return 1;
}

if (strcmp("/hideme", cmdtext, true, 10) == 0)
{
	new name[MAX_PLAYER_NAME],
	string[26+MAX_PLAYER_NAME],
	action[14];
	GetPlayerName(playerid, name, sizeof(name));

	if(GetPVarInt(playerid, #HideMe) == 0)
	{
		SetPVarInt(playerid, #HideMe, 1), action = "активировал";
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
			ShowPlayerNameTagForPlayer(playerid, i, false), \
			SetPlayerMarkerForPlayer(i, playerid, 0xFF000000);
		}
	}
	else if(GetPVarInt(playerid, #HideMe) == 1)
	{
		SetPVarInt(playerid, #HideMe, 0), action = "деактивировал";
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
			ShowPlayerNameTagForPlayer(playerid, i, true), \
			SetPlayerMarkerForPlayer(i, playerid, GetPlayerColor(i));
		}
	}
	format(string, sizeof(string), "%s %s скрытность.", name, action);
	SendClientMessageToAll(-1, string);
	return 1;
}
 
Последнее редактирование модератором:

LHTTD

Темная сторона Форума
Пользователь
08.10.2014
325
43
0
Без использования bool который любит покушать много байт. Код не проверял в игре, но работать должен.

public OnPlayerConnect(playerid)
{
SetPVarInt(playerid, #HideMe, 0);
return 1;
}

if (strcmp("/hideme", cmdtext, true, 10) == 0)
{
new name[MAX_PLAYER_NAME],
string[26+MAX_PLAYER_NAME],
action[14];
GetPlayerName(playerid, name, sizeof(name));

if(GetPVarInt(playerid, #HideMe) == 0)
{
SetPVarInt(playerid, #HideMe, 1), action = "активировал";
for(new i = 0; i < MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(playerid, i, false), \
SetPlayerMarkerForPlayer(i, playerid, 0xFF000000);
}
}
else if(GetPVarInt(playerid, #HideMe) == 1)
{
SetPVarInt(playerid, #HideMe, 0), action = "деактивировал";
for(new i = 0; i < MAX_PLAYERS; i++)
{
ShowPlayerNameTagForPlayer(playerid, i, true), \
SetPlayerMarkerForPlayer(i, playerid, GetPlayerColor(i));
}
}
format(string, sizeof(string), "%s %s скрытность.", name, action);
SendClientMessageToAll(-1, string);
return 1;
}
Ты не нормальный или как?

bool использует всего лишь 1 байт, ты что?

Стоит тебе переучить павн, все у тебя а то наоборот.

 
A

Amfy

Гость
Гость
@FanHamMer, зачем при коннекте устанавливать значение на нуль? и название переменной должно быть в кавычках.

Код:
if(!GetPVarInt(playerid,"HideMe"))
{
    SetPVarInt(playerid,"HideMe",1);
}
else
{
    DeletePVar(playerid,"HideMe");
}
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.