Рекомендованные сообщения



Не найдено.

8 posts in this topic

  Здравствуйте Уважаемые Скриптеры! В последнеее время я создаю бортовой компьютер для полицейских, но у меня возник вопрос

 

Суть Вопроса: Как с помощью формат или другой функции отображать только те ники которые соблюдают определенные условия

Например: Все ники при условии if(GetPVarInt(?, "AutoProv") == 1)

 

Как например на Даймонде РП у полицейских в борт компьютуре показывает только ники игроков в розыске

 

Кто ответит - тому +++

Edited by PawnScript
Причина: Уточнение

Share this post


Link to post
Share on other sites
for(new i; i < MAX_PLAYER; i++){
  if(GetPVarInt(i, "AutoProv") == 1){
    //тут твои действия если в розыске
  }
  else continue;
}

 

Share this post


Link to post
Share on other sites
4 минуты назад, MuhammadPawn сказал:

for(new i; i < MAX_PLAYER; i++){
  if(GetPVarInt(i, "AutoProv") == 1){
    //тут твои действия если в розыске
  }
  else continue;
}

Спасибо, но я спрашивал чуть другое. Как отформатировать и вставить только тех игроков у которых например такое значение.

 

например: у нас есть Лёша и Вова. Полицейский открывает борт компьютер и видит только Лёшу и тех кто также в розыске

Share this post


Link to post
Share on other sites

@PawnScript 

Пример:

Спойлер

static str[24*GetPlayerPoolSize()]; 
for(new i; i < MAX_PLAYER; i++){
  if(GetPVarInt(i, "AutoProv") == 1){
    static getname[MAX_PLAYERS_NAME];
    GetPlayerName(i, getname, MAX_PLAYERS_NAME);
    strcat(str, getname);
    strcat(str, "\n");
  }
  else continue;
}
ShowPlayerDialog(playerid,0, DIALOG_STYLE_MSGBOX, "Розыск", str, "Ок","");

Под себя перепишешь если так нужно будет, писал на скорую руку для примера

 

Edited by MuhammadPawn

Share this post


Link to post
Share on other sites
10 часов назад, MuhammadPawn сказал:

@PawnScript 

Пример:

  Код (закрыть спойлер)


static str[24*GetPlayerPoolSize()]; 
for(new i; i < MAX_PLAYER; i++){
  if(GetPVarInt(i, "AutoProv") == 1){
    static getname[MAX_PLAYERS_NAME];
    GetPlayerName(i, getname, MAX_PLAYERS_NAME);
    strcat(str, getname);
    strcat(str, "\n");
  }
  else continue;
}
ShowPlayerDialog(playerid,0, DIALOG_STYLE_MSGBOX, "Розыск", str, "Ок","");

Под себя перепишешь если так нужно будет, писал на скорую руку для примера

 

 

Спойлер

if(listitem == 1)
  {
    static str[24*GetPlayerPoolSize()];
    for(new i; i < MAX_PLAYER; i++);
    if(PlayerInfo[pWanted] >= 1)
    {
        static getname[MAX_PLAYERS_NAME];
        GetPlayerName(i, getname, MAX_PLAYERS_NAME);
        strcat(str, getname);
        strcat(str, "\n");
    }
  }
  else continue
  }
    ShowPlayerDialog(playerid, 62, DIALOG_STYLE_LIST, "{FFFFFF}Список Розыскиваемых", str, "Выйти", "Отмена");
  }  

C:\Users\Matvey\Desktop\FFFFFF\gamemodes\new.pwn(2228) : error 008: must be a constant expression; assumed zero
C:\Users\Matvey\Desktop\FFFFFF\gamemodes\new.pwn(2228) : error 009: invalid array size (negative, zero or out of bounds)
C:\Users\Matvey\Desktop\FFFFFF\gamemodes\new.pwn(2228) : error 036: empty statement
C:\Users\Matvey\Desktop\FFFFFF\gamemodes\new.pwn(2228) : fatal error 107: too many error messages on one line

 

 

Пробовал многое в том числе и переписывал код: безсполезно

Edited by MuhammadPawn

Заметка от MuhammadPawn , создано

3.2. Код больше 10 строк брать еще и под спойлер. Как это сделать рассказано тут.

Share this post


Link to post
Share on other sites

@PawnScript ты просто код скопировал и переделал чуть чуть под себя... я ж написал что это всего лишь пример...

Share this post


Link to post
Share on other sites
16 часов назад, PawnScript сказал:

static str[24*GetPlayerPoolSize()];

Это что-то из области фантастики, массивы в Pawn динамические создавать нельзя. Хотя есть плагин, который позволяет это делать. 

Соответственно это можно заменить этим: 

static str[24*MAX_PLAYERS];

Однако более элегантным решением будет использование пагинации, если ников на странице будет и вправду много. 

Share this post


Link to post
Share on other sites

@PawnScript, исправил некоторые ошибки:

 

Спойлер

if(listitem == 1)
{
	static str[24*MAX_PLAYERS];
	for(new i; i < MAX_PLAYER; i++)
	{
		if(PlayerInfo[i][pWanted] == 0){
			continue;
		}
		
		static name[MAX_PLAYER_NAME];
		GetPlayerName(i, name, MAX_PLAYER_NAME);
		name[strlen(name)] = '\n';
		strcat(str, name);
	}
	ShowPlayerDialog(playerid, 62, DIALOG_STYLE_LIST, "{FFFFFF}Список Розыскиваемых", str, "Выйти", "Отмена");
}

 

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Radmiz
      By Radmiz
          if(pickupid == sadpick){         if(GetPVarInt(playerid,"Sadov") == 0) {             SetPVarInt(playerid,"Sadov", 1);             SetPlayerSkin(playerid, 73);             SetPlayerCheckpoint(playerid,2157.0464,-1707.6362,15.0859,3.0);               SendClientMessage(playerid,0x00ff39,"Âû óñòðîèëèñü íà ðàáîòó ñàäîâíèêà");               SendClientMessage(playerid,0xfeff00,"Çà 1 ïîñàæàíûé êóñò âàì áóäóò ïëàòèòü ïî 345$");         }         else {             PI[playerid][pCash] += GetPVarInt(playerid,"SadovM")*345;             SetPlayerSkin(playerid,PI[playerid][pSkin]);             ClearAnimations(playerid);             DeletePVar(playerid,"Sadov");             DeletePVar(playerid,"SadovM");             DeletePVar(playerid,"SadovW");             SendClientMessage(playerid,0xff0000,"Âû óâîëèëèñü ñ ðàáîòû ñàäîâíèêà");             DisablePlayerCheckpoint(playerid);  
      я хз что за иероглифы