Здравствуйте, нужно определить сколько игроков находиться онлайн в определенной команде, как это сделать?
Допустим команды у нас черезБуду признателен за помощь!PHP код:
pStats[playerid][pMember] == %d;
Здравствуйте, нужно определить сколько игроков находиться онлайн в определенной команде, как это сделать?
Допустим команды у нас черезБуду признателен за помощь!PHP код:
pStats[playerid][pMember] == %d;
Циклом это дело можно решить, один из способов:
Кол-во игроков содержится в переменной "count".PHP код:
new
i = GetMaxPlayers(),
count = 0;
do
{
--i;
if(IsPlayerConnected(i) && pStats[i][pMember] == ID)
count++;
}
while(i);
lonin (22.07.2014)
Спасибо, но есть одно "но" При коннектеОна выбирается только в OnPlayerRequestClassPHP код:
pStats[playerid][pMember] == 0;
Мне бы как то записывать в глобальную переменную(какую либо) при выборе класса + 1 игрока и в OnPlayerDisconnect(), отнимать одного при выходе. Нужно это для создания ТекстДрава с онлайном комманд:
PHP код:
switch(classid)
{
case 0,1,2,3,4,5,6,7,8:
{
SetPlayerPos(playerid, 1835.0920,-1302.5947,131.7344);
SetPlayerCameraPos(playerid, 1838.0920,-1300.5947,131.7344);
SetPlayerCameraLookAt(playerid, 1835.0920,-1302.5947,131.7344);
SetPlayerFacingAngle(playerid, 265.7347);
SetPlayerTeamFromClass(playerid, classid);
pStats[playerid][pMember] = 1;
GroovePl += 1; // Что то вроде этого.
}
}
Мои работы и публикации:
lonin (22.07.2014)
пробуй так.PHP код:
if(pStats[playerid][pMember] == 1)
{
--GroovePl;
}
"Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.
Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE
lonin (22.07.2014)
Разницы практически никакой. Можно было записать и так:
lonin, уберите инкремент переменной из паблика OnPlayerRequestClass. При выборе другого скина переменная будет всегда увеличиваться. Проверяйте скин игрока в паблике OnPlayerRequestSpawn, и попробуйте ещё раз проделать тоже самое.PHP код:
GroovePl = GroovePl - 1;
lonin (22.07.2014)
Попробую, сейчас написал вот такое отображение в текстдраве:
Все верно? Но почему то начинает показывать 20 и более :DPHP код:
new i = GetMaxPlayers(),
count = 0;
do
{
--i;
if(IsPlayerConnected(i) && pStats[i][pMember] == 1)
count++;
}
while(i);
new i1 = GetMaxPlayers(),
count2 = 0;
do
{
--i1;
if(IsPlayerConnected(i) && pStats[i][pMember] == 2)
count2++;
}
while(i1);
new i2 = GetMaxPlayers(),
count3 = 0;
do
{
--i2;
if(IsPlayerConnected(i) && pStats[i][pMember] == 3)
count3++;
}
while(i2);
new i3 = GetMaxPlayers(),
count4 = 0;
do
{
--i3;
if(IsPlayerConnected(i) && pStats[i][pMember] == 4)
count4++;
}
while(i3);
new i4 = GetMaxPlayers(),
count5 = 0;
do
{
--i4;
if(IsPlayerConnected(i) && pStats[i][pMember] == 5)
count5++;
}
while(i4);
new seriu[10];
format(seriu, sizeof(seriu), "%d", count);
PlayerTextDrawSetString(playerid,Textdraw13_17[playerid][0],seriu);
new seriu1[10];
format(seriu1, sizeof(seriu1), "%d", count2);
PlayerTextDrawSetString(playerid,Textdraw13_17[playerid][1],seriu1);
new seriu2[10];
format(seriu2, sizeof(seriu2), "%d", count3);
PlayerTextDrawSetString(playerid,Textdraw13_17[playerid][2],seriu2);
new seriu3[10];
format(seriu3, sizeof(seriu3), "%d", count4);
PlayerTextDrawSetString(playerid,Textdraw13_17[playerid][3],seriu3);
new seriu4[10];
format(seriu4, sizeof(seriu4), "%d", count5);
PlayerTextDrawSetString(playerid,Textdraw13_17[playerid][4],seriu4);
А так?
PHP код:
new
mem_count_arr[5],
val_string[4],
i = GetMaxPlayers();
do
{
--i;
if(IsPlayerConnected(i) && (1 <= pStats[i][pMember] <= 5))
mem_count_arr[pStats[i][pMember] - 1]++;
}
while(i);
i = 5;
do
{
--i;
valstr(val_string, mem_count_arr[i]);
PlayerTextDrawSetString(playerid, Textdraw13_17[playerid][i], val_string);
}
while(i);
lonin (23.07.2014)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)