Проблема с командой /setleader - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Admin_Bot, Admin_Bot2, Admin_Bot3, Admin_Bot4  
Проблема с командой /setleader
mazyakaDM Дата: Понедельник, 27.07.2015, 13:54 | Сообщение # 1
Новичок
Сообщений: 5
Статус: Offline
Помогите пожалуйста, вот ошибка:
Код
D:\mode\gamemodes\new.pwn(11881) : error 033: array must be indexed (variable "-unknown-")
D:\mode\gamemodes\new.pwn(11881) : warning 204: symbol is assigned a value that is never used: "setlevel"
Pawn compiler 3.2.3664                  Copyright (c) 1997-2006, ITB CompuPhase

1 Error.

команда:
Код
if(strcmp(cmd, "/setleader", true) == 0){
                 if(IsPlayerConnected(playerid)){
                         tmp = strtok(cmdtext, idx);
                         if(!strlen(tmp)){
                         SCM(playerid, COLOR_GRAD2, "Используй /setleader [id игрока] [id орагнизации] [id скина]");return true;}
                         new para1;
                         new level;
                         new giveplayer[MAX_PLAYER_NAME];
                         new giveplayerid[MAX_PLAYER_NAME];
                         new sendername[MAX_PLAYER_NAME];
                         new string[256];
                         para1 = ReturnUser(tmp);
                         new setlevel = strrest(cmdtext, idx);
                         level = strval(tmp);
                         tmp = strtok(cmdtext, idx);
                         if(level > 30 || level < 0) { SCM(playerid, COLOR_GRAD2, "ID организации от 1 до 30"); return true; }
                         if(PlayerInfo[para1][pWarn] >= 1) return SendClientMessage(playerid, COLOR_GRAD1,"Этот игрок не может вступать в организации из-за наличия предупреждений");
                         if (PlayerInfo[playerid][pAdmin] >= 5){
                    if(IsPlayerConnected(para1)){
                    if(para1 != INVALID_PLAYER_ID){
                    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    new otext[50];
                    if(level == 0){
                    SetPlayerSkin(para1, PlayerInfo[para1][pChar]);
                    PlayerInfo[para1][pRang] = 0;
                    PlayerInfo[para1][pMember] = 0;
                    PlayerInfo[para1][pLeader] = 0;
                    SCM(para1, -1, string);
                    SetPlayerToTeamColor(para1);return true;}
                    else if(level == 1) { otext = "Правительство"; PlayerInfo[para1][pRang] = 10; } //Adm.prez
                    else if(level == 2) { otext = "Мэрия Лос-Сантос"; PlayerInfo[para1][pRang] = 10;} //Мэрия ЛС
                    else if(level == 3) { otext = "Мэрия Сан-Фиерро"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 4) { otext = "Мэрия Лас-Вентурас"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 5) { otext = "Министерство Обороны"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 6) { otext = "Cухопутные войска"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 7) { otext = "Военно-Воздушные Силы"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 8) { otext = "Военно-морской флот"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 9) { otext = "Министерство-Внутренних-Дел"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 10) { otext = "Полиция Лос-Сантос"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 11) { otext = "Полиция Сан-Фиерро"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 12) { otext = "Полиция Лас-Вентурас"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 13) { otext = "Федеральное Бюро Расследований"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 14) { otext = "ТВ и Радио"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 15) { otext = "Радиоцентр Лос-Сантос"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 16) { otext = "Радиоцентр Сан-Фиерро"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 17) { otext = "Радиоцентр Лас-Вентурас"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 18) { otext = "Больница Лос-Сантос"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 19) { otext = "Grove Street"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 20) { otext = "The Ballas"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 21) { otext = "The Rifa"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 22) { otext = "Varios Los Aztecas"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 23) { otext = "Los Santos Vagos"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 24) { otext = "La Cosa Nostra"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 25) { otext = "Русская Мафия"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 26) { otext = "Yakuza"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 27) { otext = "Министерство Здравоохранения"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 28) { otext = "Больница Сан-Фиерро"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 29) { otext = "Больница Лас-Вентурас"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    else if(level == 30) { otext = "ТВ-Центр"; PlayerInfo[para1][pRang] = 10;} //FBI/ATF
                    PlayerInfo[para1][pLeader] = level;
                    PlayerInfo[para1][pMember] = level;
                    format(string, sizeof(string), "Вы назначили %s руководить организацией \"%s\"", giveplayer,otext);
                    SCM(playerid, 0xFFCD00AA, string);
                    format(string, sizeof(string), "%s назначил Вас лидером организации \"%s\"",sendername ,otext);
                    SCM(playerid, 0xFFCD00AA, string);
                    format(string, sizeof(string), "[Внимание] %s[%i] назначил %s[%d] лидером организации \"%s\" ", sendername, playerid, giveplayer, giveplayerid, otext);
                    SendAdminMessage(0xFF0000AA, string);
                    SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);
                    SetPlayerToTeamColor(para1);
                    PlayerInfo[playerid][pJob] = 0;}}}}return true;}

Строка с ошибочкой
Код
new setlevel = strrest(cmdtext, idx);

P.S. Удаляю строку - не ставит, а снимает с лидерки. biggrin
Len1n Дата: Понедельник, 27.07.2015, 14:44 | Сообщение # 2
Боец
Сообщений: 89
Статус: Offline
Прости, не удержался, увидев эту комманду...

Ко всем define:
Код
#define MAX_ORGS 30


Ко всем new:
Код
new orgName[MAX_ORGS+1][64] = {
"Гражданский",  
"Правительство",  
"Мэрия Лос-Сантос",  
"Мэрия Сан-Фиерро",  
"Мэрия Лас-Вентурас",  
"Министерство Обороны",  
"Cухопутные войска",
"Военно-Воздушные Силы",
"Военно-морской флот",
"Министерство-Внутренних-Дел",
"Полиция Лос-Сантос",
"Полиция Сан-Фиерро",
"Полиция Лас-Вентурас",
"Федеральное Бюро Расследований",
"ТВ и Радио",
"Радиоцентр Лос-Сантос",
"Радиоцентр Сан-Фиерро",
"Радиоцентр Лас-Вентурас",
"Больница Лос-Сантос",
"Grove Street",  
"The Ballas",
"The Rifa",  
"Varios Los Aztecas",
"Los Santos Vagos",
"La Cosa Nostra",
"Русская Мафия",
"Yakuza",
"Министерство Здравоохранения",
"Больница Сан-Фиерро",
"Больница Лас-Вентурас",
"ТВ-Центр"
};


Код
if(strcmp(cmd, "/setleader", true) == 0){  
  if (PlayerInfo[playerid][pAdmin]<5 || !IsPlayerConnected(playerid))return 1;  
  tmp = strtok(cmdtext, idx);  
  if(!strlen(tmp)) return SCM(playerid, COLOR_GRAD2, "Используй /setleader [id игрока] [id орагнизации] [id скина]");  
  new para1 = ReturnUser(tmp);
  if(!IsPlayerConnected(para1) || para1 == INVALID_PLAYER_ID) return 1;
  new level, giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME];  
  new string[144];  
  tmp = strtok(cmdtext, idx);  
  level = strval(tmp);
  if(level > MAX_ORGS || level < 0) return SCM(playerid, COLOR_GRAD2, "ID организации от 0 до 30");
  if(level == 0){  
   SetPlayerSkin(para1, PlayerInfo[para1][pChar]);  
   PlayerInfo[para1][pRang] = 0;  
   PlayerInfo[para1][pLeader] = 0;  
   PlayerInfo[para1][pMember] = 0;
   // Если нужно, вставишь сюда уведомление о увольнении
   SetPlayerToTeamColor(para1);
   return 1;
  }  
  if(PlayerInfo[para1][pWarn]>0) return SendClientMessage(playerid, COLOR_GRAD1,"Этот игрок не может вступать в организации из-за наличия предупреждений");  
  GetPlayerName(para1, giveplayer, sizeof(giveplayer));  
  GetPlayerName(playerid, sendername, sizeof(sendername));  
  PlayerInfo[para1][pLeader] = level;  
  PlayerInfo[para1][pMember] = level;
  PlayerInfo[para1][pRang] = 10;
  PlayerInfo[playerid][pJob] = 0;
  SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);  
  SetPlayerToTeamColor(para1);   
  format(string, sizeof(string), "Вы назначили %s руководить организацией \"%s\"", giveplayer, orgName[level]);  
  SCM(playerid, 0xFFCD00AA, string);  
  format(string, sizeof(string), "%s назначил Вас лидером организации \"%s\"",sendername , orgName[level]);  
  SCM(playerid, 0xFFCD00AA, string);  
  format(string, sizeof(string), "[Внимание] %s[%i] назначил %s[%d] лидером организации \"%s\" ", sendername, playerid, giveplayer, para1, orgName[level]);  
  SendAdminMessage(0xFF0000AA, string);  
}


Оптимизировал, привел код в более-менее нормальный вид. Исправил пару очевидных ошибок. Если привести остальные команды к такому виду, мод станет чуточку лучше)


Связь со мной:
Skype: po61-rap
E-Mail: [email protected]

if(time>=1500 && rep<500) {
cout « "200 репы накручено!";
rep+=200;
}
mazyakaDM Дата: Вторник, 28.07.2015, 07:15 | Сообщение # 3
Новичок
Сообщений: 5
Статус: Offline
Цитата Len1n ()
Прости, не удержался, увидев эту комманду...

Ко всем define:
Код
#define MAX_ORGS 30

Ко всем new:
Код
new orgName[MAX_ORGS+1][64] = {
"Гражданский",  
"Правительство",  
"Мэрия Лос-Сантос",  
"Мэрия Сан-Фиерро",  
"Мэрия Лас-Вентурас",  
"Министерство Обороны",  
"Cухопутные войска",
"Военно-Воздушные Силы",
"Военно-морской флот",
"Министерство-Внутренних-Дел",
"Полиция Лос-Сантос",
"Полиция Сан-Фиерро",
"Полиция Лас-Вентурас",
"Федеральное Бюро Расследований",
"ТВ и Радио",
"Радиоцентр Лос-Сантос",
"Радиоцентр Сан-Фиерро",
"Радиоцентр Лас-Вентурас",
"Больница Лос-Сантос",
"Grove Street",  
"The Ballas",
"The Rifa",  
"Varios Los Aztecas",
"Los Santos Vagos",
"La Cosa Nostra",
"Русская Мафия",
"Yakuza",
"Министерство Здравоохранения",
"Больница Сан-Фиерро",
"Больница Лас-Вентурас",
"ТВ-Центр"
};

Код
if(strcmp(cmd, "/setleader", true) == 0){  
  if (PlayerInfo[playerid][pAdmin]<5 || !IsPlayerConnected(playerid))return 1;  
  tmp = strtok(cmdtext, idx);  
  if(!strlen(tmp)) return SCM(playerid, COLOR_GRAD2, "Используй /setleader [id игрока] [id орагнизации] [id скина]");  
  new para1 = ReturnUser(tmp);
  if(!IsPlayerConnected(para1) || para1 == INVALID_PLAYER_ID) return 1;
  new level, giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME];  
  new string[144];  
  tmp = strtok(cmdtext, idx);  
  level = strval(tmp);
  if(level > MAX_ORGS || level < 0) return SCM(playerid, COLOR_GRAD2, "ID организации от 0 до 30");
  if(level == 0){  
   SetPlayerSkin(para1, PlayerInfo[para1][pChar]);  
   PlayerInfo[para1][pRang] = 0;  
   PlayerInfo[para1][pLeader] = 0;  
   PlayerInfo[para1][pMember] = 0;
   // Если нужно, вставишь сюда уведомление о увольнении
   SetPlayerToTeamColor(para1);
   return 1;
  }  
  if(PlayerInfo[para1][pWarn]>0) return SendClientMessage(playerid, COLOR_GRAD1,"Этот игрок не может вступать в организации из-за наличия предупреждений");  
  GetPlayerName(para1, giveplayer, sizeof(giveplayer));  
  GetPlayerName(playerid, sendername, sizeof(sendername));  
  PlayerInfo[para1][pLeader] = level;  
  PlayerInfo[para1][pMember] = level;
  PlayerInfo[para1][pRang] = 10;
  PlayerInfo[playerid][pJob] = 0;
  SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);  
  SetPlayerToTeamColor(para1);   
  format(string, sizeof(string), "Вы назначили %s руководить организацией \"%s\"", giveplayer, orgName[level]);  
  SCM(playerid, 0xFFCD00AA, string);  
  format(string, sizeof(string), "%s назначил Вас лидером организации \"%s\"",sendername , orgName[level]);  
  SCM(playerid, 0xFFCD00AA, string);  
  format(string, sizeof(string), "[Внимание] %s[%i] назначил %s[%d] лидером организации \"%s\" ", sendername, playerid, giveplayer, para1, orgName[level]);  
  SendAdminMessage(0xFF0000AA, string);  
}

Оптимизировал, привел код в более-менее нормальный вид. Исправил пару очевидных ошибок. Если привести остальные команды к такому виду, мод станет чуточку лучше)

завтра проверю команду, сегодня занят smile
спасибо большое !!!!!!!!!!!!!!

Добавлено (28.07.2015, 07:15)
---------------------------------------------

Цитата Len1n ()
Прости, не удержался, увидев эту комманду...

Ко всем define:
Код
#define MAX_ORGS 30

Ко всем new:
Код
new orgName[MAX_ORGS+1][64] = {
"Гражданский",  
"Правительство",  
"Мэрия Лос-Сантос",  
"Мэрия Сан-Фиерро",  
"Мэрия Лас-Вентурас",  
"Министерство Обороны",  
"Cухопутные войска",
"Военно-Воздушные Силы",
"Военно-морской флот",
"Министерство-Внутренних-Дел",
"Полиция Лос-Сантос",
"Полиция Сан-Фиерро",
"Полиция Лас-Вентурас",
"Федеральное Бюро Расследований",
"ТВ и Радио",
"Радиоцентр Лос-Сантос",
"Радиоцентр Сан-Фиерро",
"Радиоцентр Лас-Вентурас",
"Больница Лос-Сантос",
"Grove Street",  
"The Ballas",
"The Rifa",  
"Varios Los Aztecas",
"Los Santos Vagos",
"La Cosa Nostra",
"Русская Мафия",
"Yakuza",
"Министерство Здравоохранения",
"Больница Сан-Фиерро",
"Больница Лас-Вентурас",
"ТВ-Центр"
};

Код
if(strcmp(cmd, "/setleader", true) == 0){  
  if (PlayerInfo[playerid][pAdmin]<5 || !IsPlayerConnected(playerid))return 1;  
  tmp = strtok(cmdtext, idx);  
  if(!strlen(tmp)) return SCM(playerid, COLOR_GRAD2, "Используй /setleader [id игрока] [id орагнизации] [id скина]");  
  new para1 = ReturnUser(tmp);
  if(!IsPlayerConnected(para1) || para1 == INVALID_PLAYER_ID) return 1;
  new level, giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME];  
  new string[144];  
  tmp = strtok(cmdtext, idx);  
  level = strval(tmp);
  if(level > MAX_ORGS || level < 0) return SCM(playerid, COLOR_GRAD2, "ID организации от 0 до 30");
  if(level == 0){  
   SetPlayerSkin(para1, PlayerInfo[para1][pChar]);  
   PlayerInfo[para1][pRang] = 0;  
   PlayerInfo[para1][pLeader] = 0;  
   PlayerInfo[para1][pMember] = 0;
   // Если нужно, вставишь сюда уведомление о увольнении
   SetPlayerToTeamColor(para1);
   return 1;
  }  
  if(PlayerInfo[para1][pWarn]>0) return SendClientMessage(playerid, COLOR_GRAD1,"Этот игрок не может вступать в организации из-за наличия предупреждений");  
  GetPlayerName(para1, giveplayer, sizeof(giveplayer));  
  GetPlayerName(playerid, sendername, sizeof(sendername));  
  PlayerInfo[para1][pLeader] = level;  
  PlayerInfo[para1][pMember] = level;
  PlayerInfo[para1][pRang] = 10;
  PlayerInfo[playerid][pJob] = 0;
  SetPlayerSkin(para1, PlayerInfo[para1][pSkin]);  
  SetPlayerToTeamColor(para1);   
  format(string, sizeof(string), "Вы назначили %s руководить организацией \"%s\"", giveplayer, orgName[level]);  
  SCM(playerid, 0xFFCD00AA, string);  
  format(string, sizeof(string), "%s назначил Вас лидером организации \"%s\"",sendername , orgName[level]);  
  SCM(playerid, 0xFFCD00AA, string);  
  format(string, sizeof(string), "[Внимание] %s[%i] назначил %s[%d] лидером организации \"%s\" ", sendername, playerid, giveplayer, para1, orgName[level]);  
  SendAdminMessage(0xFF0000AA, string);  
}

Оптимизировал, привел код в более-менее нормальный вид. Исправил пару очевидных ошибок. Если привести остальные команды к такому виду, мод станет чуточку лучше)

Чёт "свой" скин не даётся(
Len1n Дата: Вторник, 28.07.2015, 12:00 | Сообщение # 4
Боец
Сообщений: 89
Статус: Offline
mazyakaDM, в комманде не было установки скинов, я даже и не думал что-то своё делать, ибо не знаю их ID. sad

Добавлено (28.07.2015, 12:00)
---------------------------------------------
Я думаю ты в состоянии создать свежий список скинов)


Связь со мной:
Skype: po61-rap
E-Mail: [email protected]

if(time>=1500 && rep<500) {
cout « "200 репы накручено!";
rep+=200;
}
mazyakaDM Дата: Вторник, 28.07.2015, 12:40 | Сообщение # 5
Новичок
Сообщений: 5
Статус: Offline
Цитата Len1n ()
mazyakaDM, в комманде не было установки скинов, я даже и не думал что-то своё делать, ибо не знаю их ID.
Добавлено (28.07.2015, 12:00)
---------------------------------------------
Я думаю ты в состоянии создать свежий список скинов)

+)
Спасибо большое тебе.
Artem_Buero Дата: Пятница, 30.10.2015, 09:12 | Сообщение # 6
Сообщений: 4223
Статус: Offline


МОЙ ВК - https://vk.com/gospodin_buero
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума