В теме 22 сообщения

В команде /me на одной строчке 5 ошибок. Помогите как их исправить. Заранее спасибо.



Строка: format(string, sizeof(string), "%s %s", PlayerInfo[playerid][pName], params[0]);

Ошибки:



C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : error 017: undefined symbol "PlayerInfo"
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : warning 215: expression has no effect
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : error 001: expected token: ";", but found "]"
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : error 029: invalid expression, assumed zero
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : fatal error 107: too many error messages on one line

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, yan2348 сказал:

В команде /me на одной строчке 5 ошибок. Помогите как их исправить. Заранее спасибо.

 

  закрыть спойлер

 


Строка: format(string, sizeof(string), "%s %s", PlayerInfo[playerid][pName], params[0]);
 

 

Ошибки:

 

  закрыть спойлер

 

 


C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : error 017: undefined symbol "PlayerInfo"
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : warning 215: expression has no effect
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : error 001: expected token: ";", but found "]"
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : error 029: invalid expression, assumed zero
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(450) : fatal error 107: too many error messages on one line

 

 

PlayerInfo поменяй на player_info

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, PEPITOSIK сказал:

PlayerInfo поменяй на player_info

Стало 3 ошибки:



error 017: undefined symbol "player_info"
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, yan2348 сказал:

Стало 3 ошибки:

 

  закрыть спойлер

 

 


error 017: undefined symbol "player_info"
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
 

 

 

Покажи весь код команды

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, PEPITOSIK сказал:

Покажи весь код команды

 

Код:

 

CMD:me(playerid, params[])
{
if(sscanf(params, "s[118]", params[0])) return SCM(playerid, COLOR_GREY, !"Используйте /me [текст]");
new string[144];
format(string, sizeof(string), "%s %s", player_info[playerid][pName], params[0]);
ProxDetector(20.0, playerid, string, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF);
SetPlayerChatBubble(playerid, params[0], 0xDE92FFFF, 20, 7500);
return 1;
}

 

Отредактировано пользователем yan2348

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, yan2348 сказал:

Код:

  закрыть спойлер

CMD:me(playerid, params[])
{
if(sscanf(params, "s[118]", params[0])) return SCM(playerid, COLOR_GREY, !"Используйте /me [текст]");
new string[144];
format(string, sizeof(string), "%s %s", player_info[playerid][pName], params[0]);
ProxDetector(20.0, playerid, string, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF);
SetPlayerChatBubble(playerid, params[0], 0xDE92FFFF, 20, 7500);
return 1;
}

 

а для чего восклецательный знак здесь  !"Используйте /me [текст]" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я убрал этот восклицательный знак, только ничего не поменялось(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 минут назад, PEPITOSIK сказал:

а для чего восклецательный знак здесь  !"Используйте /me [текст]" ?

Восклицательный, для упаковки строки (подробнее тут).
Ошибок больше не вижу. Покажи еще раз код и ошибки, укажи строку.

 

@yan2348 Нет, не обязательно было его убирать. Он не играет никакой роли в твоей проблеме.
Ты тоже прочитай про упаковку строк, ссылку выше кинул.

Отредактировано пользователем 20th century

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, 20th century сказал:

Восклицательный, для упаковки строки (подробнее тут).
Ошибок больше не вижу. Покажи еще раз код и ошибки, укажи строку.

 

@yan2348 Нет, не обязательно было его убирать. Он не играет никакой роли в твоей проблеме.
Ты тоже прочитай про упаковку строк, ссылку выше кинул.

просто у меня без него прекрасно работает :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, 20th century сказал:

Восклицательный, для упаковки строки (подробнее тут).
Ошибок больше не вижу. Покажи еще раз код и ошибки, укажи строку.

@yan2348 Нет, не обязательно было его убирать. Он не играет никакой роли в твоей проблеме.
Ты тоже прочитай про упаковку строк, ссылку выше кинул.

Вот сам код:



CMD:me(playerid, params[])
{
if(sscanf(params, "s[118]", params[0])) return SCM(playerid, COLOR_GREY, !"Используйте /me [текст]");
new string[144];
format(string, sizeof(string), "%s %s", PlayerInfo[playerid][pName], params[0]);
ProxDetector(20.0, playerid, string, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF);
SetPlayerChatBubble(playerid, params[0], 0xDE92FFFF, 20, 7500);
return 1;
}


Строчка и ошибки


format(string, sizeof(string), "%s %s", PlayerInfo[playerid][pName], params[0]);


Ошибки:

 


C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : error 017: undefined symbol "PlayerInfo"
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : warning 215: expression has no effect
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : error 001: expected token: ";", but found "]"
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : error 029: invalid expression, assumed zero
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : fatal error 107: too many error messages on one line


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, PEPITOSIK сказал:

просто у меня без него прекрасно работает :D

Не сомневаюсь, что работает. Упаковка строк используется редко в наше время, только при острой необходимости.

 

 

1 минуту назад, yan2348 сказал:

Вот сам код:

  закрыть спойлер

 

 


CMD:me(playerid, params[])
{
if(sscanf(params, "s[118]", params[0])) return SCM(playerid, COLOR_GREY, !"Используйте /me [текст]");
new string[144];
format(string, sizeof(string), "%s %s", PlayerInfo[playerid][pName], params[0]);
ProxDetector(20.0, playerid, string, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF, 0xDE92FFFF);
SetPlayerChatBubble(playerid, params[0], 0xDE92FFFF, 20, 7500);
return 1;
}

 


Строчка и ошибки

  закрыть спойлер


format(string, sizeof(string), "%s %s", PlayerInfo[playerid][pName], params[0]);


Ошибки:

  закрыть спойлер

 


C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : error 017: undefined symbol "PlayerInfo"
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : warning 215: expression has no effect
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : error 001: expected token: ";", but found "]"
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : error 029: invalid expression, assumed zero
C:\Users\Àäìèí\Desktop\server sup\gamemodes\new.pwn(449) : fatal error 107: too many error messages on one line


 

 

Покажи любую другую команду, либо покажи энумератор, где ты перечисляешь переменные для игрока. PlayerInfo ты должен заменить на своё название.

Отредактировано пользователем 20th century

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты


enum pInfo
{
 pName[MAX_PLAYER_NAME],
 pLevel,
 pPass[31],à
 pSex,
 pSkin,
}

Отредактировано пользователем yan2348

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, yan2348 сказал:

 

  закрыть спойлер

 

Под твоим спойлером ничего нет, или только у меня не отображается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, 20th century сказал:

Под твоим спойлером ничего нет, или только у меня не отображается?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После окончания перечисления enum у тебя должна быть строка с созданием переменной. Покажи её.

new PlayerInfo[MAX_PLAYERS][pInfo]; // это пример.

 

Отредактировано пользователем 20th century

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, 20th century сказал:

После окончания перечисления enum у тебя должна быть строка с созданием переменной:


new PlayerInfo[...][...]; // это пример, псевдокод.

 

Она может и есть, но там возможно не  PlayerInfo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, PEPITOSIK сказал:

Она может и есть, но там возможно не  PlayerInfo

Прочитай мой комментарий в коде и перестань умничать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, 20th century сказал:

Прочитай мой комментарий в коде и перестань умничать.

Да окай

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, что я делаю что-то не так. У меня есть переменная после enum, и когда я решил её поменять появились ошибки. А если я удаляю команду на /me, все ошибки пропадают. Даже не понимаю, что делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я же попросил тебя скинуть строку с созданием новой переменной после enum. 
Покажи мне её, либо скинь ЛЮБУЮ другую команду, которая уже имеется в моде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я просто закрою тему, лучше удалю даже. Не хочется видеть, как из-за моего не знания люди бомбят. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Проблемы с компиляцией"

Перемещена в: "Прочее > Архив"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Прочее > Архив", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Chopick
      От Chopick
      Всем здравствуйте! Делаю систему домов/бизнесов по туториалу knox know с плагином GoodArea. Есть проблема, если заходишь в интерьер бизнеса, то когда выходишь спавнит почему-то на пикап дома.

      Вот енумы:
       
      #define MAX_HOUSES 1000 #define MAX_BIZS 1000 enum house {         hID,         STREAMER_TAG_PICKUP:hPICKUP,         STREAMER_TAG_AREA:hAREA,         hOWNER[MAX_PLAYER_NAME],         STREAMER_TAG_3D_TEXT_LABEL:hTEXT[256],         STREAMER_TAG_MAP_ICON:hICON,         hPRICE,         hCLASS,         hINTERIOR,         Float:hX,         Float:hY,         Float:hZ,         Float:hA,         hCONDITION // Закрыт/Открыт } new House[MAX_HOUSES][house]; new Houses; new HouseGroup; enum biz {         bID,         STREAMER_TAG_PICKUP:bPICKUP,         STREAMER_TAG_AREA:bAREA,         bOWNER[MAX_PLAYER_NAME],         STREAMER_TAG_3D_TEXT_LABEL:bTEXT[256],         STREAMER_TAG_MAP_ICON:bICON,         bNAME[25],         bPRICE,         bTYPE,         bINTERIOR,         Float:bX,         Float:bY,         Float:bZ,         Float:bA } new Biz[MAX_BIZS][biz]; new Bizs; new BizGroup; enum interior_info {         intID,         intNAME[41],         intINTERIOR,         Float:intX,         Float:intY,         Float:intZ,         Float:intA,         STREAMER_TAG_AREA:intAREA } new Interior[MAX_INTERIORS][interior_info]; new Interiors; new InteriorGroup; Вот что у меня в OnGameModeInit:
      HouseGroup = CreateGroupGoodAreas(GoodArea:HouseEnter); InteriorGroup = CreateGroupGoodAreas(GoodArea:InteriorExit); BizGroup = CreateGroupGoodAreas(GoodArea:BizArea);  
      Вот стоки:
      GAResponse:HouseEnter(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 if(key & KEY_WALK)                 {                 if(House[index][hCONDITION] > 0 && House[index][hOWNER] == player_info[playerid][NAME] || House[index][hCONDITION] == 0)                 {                                         GoToInterior(playerid, House[index][hINTERIOR]);                                         SetPlayerVirtualWorld(playerid, index);                                 }                                 else if(House[index][hCONDITION] > 0 && House[index][hOWNER] != player_info[playerid][NAME]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Этот дом закрыт на ключ!");                         }                 }                 case GA_RESPONSE_ENTER:                 {                     if(House[index][hOWNER] == 0)                     {                         CreateNoOwnerHouseTD(playerid);                         for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++)                         {                             PlayerTextDrawShow(playerid, NoOwnerTextDraw_PTD[playerid][i]);                                 }                                 new price[8];                                 format(price, sizeof(price), "%d$", House[index][hPRICE]);                                 PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][2], price);                                 new id[9];                                 format(id, sizeof(id), "%d", House[index][hID]);                                 PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][0], id);                                 switch(House[index][hCLASS])                                 {                                     case 1: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "A");                                     case 2: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "B");                                     case 3: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "C");                                 }                                 for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++)                         {                             TextDrawShowForPlayer(playerid, NoOwnerTextDraw_TD[i]);                                 }                         }                 }                 case GA_RESPONSE_LEAVE:                 {                 for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++)                 {                     PlayerTextDrawHide(playerid, NoOwnerTextDraw_PTD[playerid][i]);                         }                         for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++)                 {                     TextDrawHideForPlayer(playerid, NoOwnerTextDraw_TD[i]);                         }                 }         }         return 1; } GAResponse:BizArea(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 if(key & KEY_WALK)                 {                     GoToInteriorBiz(playerid, Biz[index][bINTERIOR]);                                 SetPlayerVirtualWorld(playerid, index);                 }                 }         }         return 1; } GAResponse:InteriorExit(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 new world = GetPlayerVirtualWorld(playerid);                 if(key & KEY_WALK)                 {                     if(world < MAX_HOUSES)                     {                         SetPlayerInterior(playerid, 0);                             SetPlayerVirtualWorld(playerid, 0);                             SetPlayerPos(playerid, House[world][hX], House[world][hY], House[world][hZ]);                             SetPlayerFacingAngle(playerid, House[world][hA]);                                 }                                 else if(world < MAX_HOUSES + MAX_BIZS)                     {                         world -= MAX_HOUSES;                                         printf("%d index world", world);                         SetPlayerInterior(playerid, 0);                             SetPlayerVirtualWorld(playerid, 0);                             SetPlayerPos(playerid, Biz[world][bX], Biz[world][bY], Biz[world][bZ]);                             SetPlayerFacingAngle(playerid, Biz[world][bA]);                                 }                         }                         if(key & KEY_CTRL_BACK)                         {                             if(player_info[playerid][HOUSE] != House[world][hID]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Вы не владелец данного дома!");                             new dialog[256];                                 format(dialog, sizeof(dialog),                                         "{ffd900}[1]{ffffff}Информация о доме\n\                                         {ffd900}[2]{ffffff}%s дом",                                 (House[world][hCONDITION] == 1) ? ("{00ff00}Открыть") : ("{ff0000}Закрыть"));                             SPD(playerid, DLG_HMENU, DIALOG_STYLE_LIST, "{ffd900}Меню дома", dialog, "Выбрать", "Закрыть");                             return 1;                         }                 }         }         return 1; } stock GoToInterior(playerid, interior) {     for(new i = 0; i < Interiors; i++)         {             if(Interior[i][intID] != interior) continue;             SetPlayerInterior(playerid, Interior[i][intINTERIOR]);             SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]);             SetPlayerFacingAngle(playerid, Interior[i][intA]);             SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0);             new str[128];             format(str, sizeof(str),                         "Нажмите \"ALT\" для выхода\n\                         Нажмите \"H\", чтобы открыть меню дома");             Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1);             return 1;         }         return 0; } stock GoToInteriorBiz(playerid, interior) {     for(new i = 0; i < Interiors; i++)         {             if(Interior[i][intID] != interior) continue;             SetPlayerInterior(playerid, Interior[i][intINTERIOR]);             SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]);             SetPlayerFacingAngle(playerid, Interior[i][intA]);             SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0);             new str[128];             format(str, sizeof(str),                         "Нажмите \"ALT\" для выхода");             Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1);             return 1;         }         return 0; }  
       
      Что мне делать, подскажите пожалуйста?