PDA

Просмотр полной версии : [Вопрос] Синтаксическая ошибка



kala4iks
15.09.2015, 16:27
C:\Users\1\Desktop\Íîâàÿ ïàïêà\gamemodes\NO.pwn(18677) : error 001: expected token: "]", but found "-identifier-"
C:\Users\1\Desktop\Íîâàÿ ïàïêà\gamemodes\NO.pwn(18677) : warning 215: expression has no effect
C:\Users\1\Desktop\Íîâàÿ ïàïêà\gamemodes\NO.pwn(18677) : error 001: expected token: ";", but found "]"
C:\Users\1\Desktop\Íîâàÿ ïàïêà\gamemodes\NO.pwn(18677) : error 029: invalid expression, assumed zero
C:\Users\1\Desktop\Íîâàÿ ïàïêà\gamemodes\NO.pwn(18677) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


http://rghost.ru/6Xv9SgrF7/image.png (http://rghost.ru/6Xv9SgrF7.view)

Desulaid
15.09.2015, 16:38
Использовать f как обозначения форматирования - ФИ. Лучше уж


#define Format(%0,%1,%2) \
(format(%0,sizeof(%0),%1,%2))

Может надо использовать vip как массив?

vip[playerid]

Или не? Я к сожалению не так знаком с вашим кодом (попробуй в нем разобраться :D), приду, постараюсь помочь ;)

kala4iks
15.09.2015, 16:47
Использовать f как обозначения форматирования - ФИ. Лучше уж


#define Format(%0,%1,%2) \
(format(%0,sizeof(%0),%1,%2))

Может надо использовать vip как массив?

vip[playerid]

Или не? Я к сожалению не так знаком с вашим кодом (попробуй в нем разобраться :D), приду, постараюсь помочь ;)


stock ShowStats(playerid,targetid)
{
if(IsPlayerConnected(playerid))
{
new otext[20];
new str[90], showstats[880], strings[880];
switch(Player[targetid][pSpawn])
{
case 0:otext = "Респаун новичков";
case 3:otext = "Фракция";
case 4:otext = "Дом";
}
new ttext[34];
switch(Player[targetid][pMember])
{
case 1: ttext = "Los Santos Police Dept.";
case 2: ttext = "FBI";
case 3: ttext = "National Guard (Авианосец)";
case 4: ttext = "San Andreas Medical Dept";
case 5: ttext = "La Cosa Nostra";
case 6: ttext = "Yakuza";
case 7: ttext = "Хитманы";
case 8: ttext = "Репортёры";
case 9: ttext = "Taxi Company";
case 10: ttext = "San Fierro Rifa";
case 11: ttext = "Los Santos Vagos";
case 12: ttext = "Grove Sreet Family";
case 13: ttext = "East Side Ballas";
case 14: ttext = "El Coronos";
case 15: ttext = "Russian Mafia";
case 16: ttext = "Street Racer";
case 17: ttext = "Bounty Hunter";
case 18: ttext = "Triada";
case 19: ttext = "Мэрия";
case 20: ttext = "National Guard(Зона 51)";
case 21: ttext = "Лицензеры";
case 22: ttext = "Растаманы";
case 23: ttext = "National Guard (Доки)";
case 24: ttext = "Репортёры ЛС";
default: ttext = "Горожанин";
}
new rtext[40];
if(Player[targetid][pMember] > 0 || Player[targetid][pLeader] > 0)
{
if(Player[targetid][pLeader] > 0){ rtext = "Лидер"; }
else if(Player[targetid][pZam] > 0){ rtext = "Заместитель"; }
switch (Player[targetid][pMember] || Player[targetid][pLeader])
{
case 1:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Курсант";
case 2: rtext = "Офицер";
case 3: rtext = "Сержант";
case 4: rtext = "Детектив";
case 5: rtext = "Капитан";
case 6: rtext = "Шериф";
}
}
case 2:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Стажёр";
case 2: rtext = "Младший агент";
case 3: rtext = "Агент";
case 4: rtext = "Глава отдела";
case 5: rtext = "Зам. директора";
case 6: rtext = "Директор ФБР";
}
}
case 3:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Рядовой";
case 2: rtext = "Летинант";
case 3: rtext = "Капитан";
case 4: rtext = "Полковник";
case 5: rtext = "Генерал";
case 6: rtext = "Генералиссимус(Авианосец)";
}
}
case 4:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Интерн";
case 2: rtext = "Стоматолог";
case 3: rtext = "Терапевт";
case 4: rtext = "Хирург";
case 5: rtext = "Зав отделения";
case 6: rtext = "Глав врач";
}
}
case 5:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Experto";
case 2: rtext = "Capo";
case 3: rtext = "Strada Boss";
case 4: rtext = "Consigliere";
case 5: rtext = "Vice Padrino";
case 6: rtext = "Leggenda";
}
}
case 6:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Неолинг";
case 2: rtext = "Вакасю";
case 3: rtext = "Оядзи";
case 4: rtext = "Сайко-Комон";
case 5: rtext = "Оябун-Кобун";
case 6: rtext = "Кумитё";
}
}
case 7:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Ученик";
case 2: rtext = "Опытный";
case 3: rtext = "Ассасин";
case 4: rtext = "Спикер";
case 5: rtext = "Убийца";
case 6: rtext = "Директор";
}
}
case 8:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Стажёр";
case 2: rtext = "Режиссер";
case 3: rtext = "Журналист";
case 4: rtext = "Ведущий";
case 5: rtext = "Продюсер";
case 6: rtext = "Директор SAN";
}
}
case 9:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Новичёк";
case 2: rtext = "Бомбила";
case 3: rtext = "Таксист";
case 4: rtext = "Опытный Таксист";
case 5: rtext = "Зам.Управляющего";
case 6: rtext = "Управляющий";
}
}
case 10:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "New Blood";
case 2: rtext = "Homie";
case 3: rtext = "Woodrow";
case 4: rtext = "Blood Nigga";
case 5: rtext = "Purple Native";
case 6: rtext = "Legendary";
}
}
case 11:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Young Nigga";
case 2: rtext = "Gangsta";
case 3: rtext = "Old Gangsta";
case 4: rtext = "Killa";
case 5: rtext = "Big Brothers";
case 6: rtext = "Daddy";
}
}
case 12:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "New Blood";
case 2: rtext = "Homie";
case 3: rtext = "Woodrow";
case 4: rtext = "Blood Nigga";
case 5: rtext = "Purple Native";
case 6: rtext = "Legendary";
}
}
case 13:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Young Nigga";
case 2: rtext = "Gangster";
case 3: rtext = "Old Gangster";
case 4: rtext = "Killa";
case 5: rtext = "Big Brother";
case 6: rtext = "Daddy";
}
}
case 14:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Proven";
case 2: rtext = "Shooter";
case 3: rtext = "Advisor";
case 4: rtext = "Gangster";
case 5: rtext = "Deputy Boss";
case 6: rtext = "Boss";
}
}
case 15:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Молодой";
case 2: rtext = "Провереный";
case 3: rtext = "Бывалый";
case 4: rtext = "Смотрящий";
case 5: rtext = "Блатной";
case 6: rtext = "Батя";
}
}
case 16:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Механник";
case 2: rtext = "Начинающий";
case 3: rtext = "Опытный";
case 4: rtext = "Гонщик";
case 5: rtext = "Чемпион";
case 6: rtext = "Король улиц";
}
}
case 17:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Убийца";
case 2: rtext = "Охотник";
case 3: rtext = "Мясник";
case 4: rtext = "Палач";
case 5: rtext = "Главный убийца";
case 6: rtext = "Директор";
}
}
case 18:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Фраер";
case 2: rtext = "Хирург";
case 3: rtext = "Марафетчик";
case 4: rtext = "Авторитет";
case 5: rtext = "Вор";
case 6: rtext = "Вор в законе";
}
}
case 19:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Уборщик";
case 2: rtext = "Охранник";
case 3: rtext = "Бухгалтер";
case 4: rtext = "Бизнесмен";
case 5: rtext = "Депутат";
case 6: rtext = "Мэр";
case 7: rtext = "Мэр";
}
}
case 20:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Рядовой";
case 2: rtext = "Летинант";
case 3: rtext = "Капитан";
case 4: rtext = "Полковник";
case 5: rtext = "Генерал";
case 6: rtext = "Генералиссимус(Зона 51)";
}
}
case 21:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Стажер";
case 2: rtext = "Инструктор";
case 3: rtext = "Менеджер";
case 4: rtext = "Старший Менеджер";
case 5: rtext = "Зам. Директора";
case 6: rtext = "Директор";
}
}
}
}
else { rtext = "Нет"; }
new jtext[25];
switch(Player[targetid][pJob])
{
case 1:jtext = "Дальнобойщик";
case 2:jtext = "Продавец наркотиков";
case 3:jtext = "Автоугонщик";
case 4:jtext = "Механик";
case 5:jtext = "Страховщик";
case 6:jtext = "Автобусник";
case 7:jtext = "Грузчик";
case 8:jtext = "Продавец оружия";
case 9:jtext = "Телохранитель";
case 10:jtext = "Детектив";
case 11:jtext = "Карманник";
case 12:jtext = "Грабитель";
default: jtext = "Нет";
}
new vip[13];
switch(Player[targetid][pVip])
{
case 0: vip = "Нет";
case 1: vip = "{00FF00}1";
case 2: vip = "{00FF00}2";
case 3: vip = "{00FF00}3";
case 4: vip = "{00FF00}4";
case 5: vip = "{00FF00}5";
}
new htext[25];
if(Player[targetid][pPhousekey] == 0)
{
htext = "Нет";
}
else
{
f(htext,"{FFFF00}(ID: %d)",Player[targetid][pPhousekey]);
}
new mutext[264];
if(Player[targetid][pMuteTime] == 0)
{
mutext = "{00FF00}Нет";
}
else f(mutext,"%s\n- Дата:\t %s\n- Выдал(а): %s\n- Причина: %s",ConvertSeconds(Player[targetid][pMuteTime]),date("%dd.%mm.%yyyy %hh:%ii:%ss",Player[targetid][pMuteDate]),Player[targetid][pMuteDal],Player[targetid][pMuteReason]);
new btext[50];
if(Player[targetid][pPbiskey] == 0)
{
btext = "Нет";
}
else f(btext,"{bbbbbb}%s",BiznesInfo[Player[targetid][pPbiskey]-1][bMessage]);
new ctext[95];
if(Player[targetid][pCarkey1] == 0)
{
ctext = "Нет";
}
else
{
f(ctext,"{bbbbbb}Модель :%s",VehiclesName[GetVehicleModel(Player[targetid][pCarkey1]+SIMPLECARS)-400]);
}
f(str_send[playerid],"~~~~~~~~~~~~~~~~~~~~~~~ Основная информация ~~~~~~~~~~~~~~~~~~~~~~~\n\nVIP:\t\t\t\t\t%s\nПредупреждения:\t\t\t%d из 3\nБан чата:\t\t\t\t%s\nВремя заключения:\n",vip,Player[targetid][pWarns],mutext);
f(str_send[playerid],"~~~~~~~~~~~~~~~~~~~~ Дополнительная информация ~~~~~~~~~~~~~~~~~~~\n\nМесто респауна:\t\t\t%s\nРабота:\t\t\t\t%s\nФракция:\t\t\t\t%s\nРанг:\t\t\t\t\t%s\nВыговоры:\t\t\t\t%d из 3",str_send[playerid],
otext,jtext,ttext,rtext,Player[targetid][pTWarns]);
f(str_send[playerid],"\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Имущество ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nДом:\t\t\t\t\t%s\nТранспорт: \t\t\t\t%s\nБизнес: \t\t\t\t%s",str_send[playerid],htext,btext,ctext);
f(str,"{33CCFF}Статистика: %s",Player[targetid][pName]);
ShowPlayerDialog(playerid,2282,DIALOG_STYLE_MSGBOX,str,str_send[playerid],"ОК","");
str_send[playerid][0]=0;
return true;
}
return 1;
}

Пробовал по разному думал может код большой но не помогло.

#Vito
15.09.2015, 16:56
f(str_send[playerid],"%s\n~~~~~~~~~~~~~~~~~~~~ Дополнительная информация ~~~~~~~~~~~~~~~~~~~\n\nМесто респауна:\t\t\t%s\nРабота:\t\t\t\t%s\nФракция:\t\t\t\t%s\nРанг:\t\t\t\t\t%s\nВыговоры:\t\t\t\t%d из 3",str_send[playerid],
otext,jtext,ttext,rtext,Player[targetid][pTWarns]);
Так попробуй

kala4iks
15.09.2015, 18:21
f(str_send[playerid],"%s\n~~~~~~~~~~~~~~~~~~~~ Дополнительная информация ~~~~~~~~~~~~~~~~~~~\n\nМесто респауна:\t\t\t%s\nРабота:\t\t\t\t%s\nФракция:\t\t\t\t%s\nРанг:\t\t\t\t\t%s\nВыговоры:\t\t\t\t%d из 3",str_send[playerid],
otext,jtext,ttext,rtext,Player[targetid][pTWarns]);
Так попробуй

Не все равно таже ошибка в том же месте. Я вот даже немного переделал.


stock ShowStats(playerid,targetid)
{
if(IsPlayerConnected(playerid))
{
new otext[20];
new str[90], showstats[880], strings[880];
switch(Player[targetid][pSpawn])
{
case 0:otext = "Респаун новичков";
case 3:otext = "Фракция";
case 4:otext = "Дом";
}
new ttext[34];
switch(Player[targetid][pMember])
{
case 1: ttext = "Los Santos Police Dept.";
case 2: ttext = "FBI";
case 3: ttext = "National Guard (Авианосец)";
case 4: ttext = "San Andreas Medical Dept";
case 5: ttext = "La Cosa Nostra";
case 6: ttext = "Yakuza";
case 7: ttext = "Хитманы";
case 8: ttext = "Репортёры";
case 9: ttext = "Taxi Company";
case 10: ttext = "San Fierro Rifa";
case 11: ttext = "Los Santos Vagos";
case 12: ttext = "Grove Sreet Family";
case 13: ttext = "East Side Ballas";
case 14: ttext = "El Coronos";
case 15: ttext = "Russian Mafia";
case 16: ttext = "Street Racer";
case 17: ttext = "Bounty Hunter";
case 18: ttext = "Triada";
case 19: ttext = "Мэрия";
case 20: ttext = "National Guard(Зона 51)";
case 21: ttext = "Лицензеры";
case 22: ttext = "Растаманы";
case 23: ttext = "National Guard (Доки)";
case 24: ttext = "Репортёры ЛС";
default: ttext = "Горожанин";
}
new rtext[40];
if(Player[targetid][pMember] > 0 || Player[targetid][pLeader] > 0)
{
if(Player[targetid][pLeader] > 0){ rtext = "Лидер"; }
else if(Player[targetid][pZam] > 0){ rtext = "Заместитель"; }
switch (Player[targetid][pMember] || Player[targetid][pLeader])
{
case 1:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Курсант";
case 2: rtext = "Офицер";
case 3: rtext = "Сержант";
case 4: rtext = "Детектив";
case 5: rtext = "Капитан";
case 6: rtext = "Шериф";
}
}
case 2:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Стажёр";
case 2: rtext = "Младший агент";
case 3: rtext = "Агент";
case 4: rtext = "Глава отдела";
case 5: rtext = "Зам. директора";
case 6: rtext = "Директор ФБР";
}
}
case 3:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Рядовой";
case 2: rtext = "Летинант";
case 3: rtext = "Капитан";
case 4: rtext = "Полковник";
case 5: rtext = "Генерал";
case 6: rtext = "Генералиссимус(Авианосец)";
}
}
case 4:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Интерн";
case 2: rtext = "Стоматолог";
case 3: rtext = "Терапевт";
case 4: rtext = "Хирург";
case 5: rtext = "Зав отделения";
case 6: rtext = "Глав врач";
}
}
case 5:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Experto";
case 2: rtext = "Capo";
case 3: rtext = "Strada Boss";
case 4: rtext = "Consigliere";
case 5: rtext = "Vice Padrino";
case 6: rtext = "Leggenda";
}
}
case 6:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Неолинг";
case 2: rtext = "Вакасю";
case 3: rtext = "Оядзи";
case 4: rtext = "Сайко-Комон";
case 5: rtext = "Оябун-Кобун";
case 6: rtext = "Кумитё";
}
}
case 7:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Ученик";
case 2: rtext = "Опытный";
case 3: rtext = "Ассасин";
case 4: rtext = "Спикер";
case 5: rtext = "Убийца";
case 6: rtext = "Директор";
}
}
case 8:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Стажёр";
case 2: rtext = "Режиссер";
case 3: rtext = "Журналист";
case 4: rtext = "Ведущий";
case 5: rtext = "Продюсер";
case 6: rtext = "Директор SAN";
}
}
case 9:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Новичёк";
case 2: rtext = "Бомбила";
case 3: rtext = "Таксист";
case 4: rtext = "Опытный Таксист";
case 5: rtext = "Зам.Управляющего";
case 6: rtext = "Управляющий";
}
}
case 10:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "New Blood";
case 2: rtext = "Homie";
case 3: rtext = "Woodrow";
case 4: rtext = "Blood Nigga";
case 5: rtext = "Purple Native";
case 6: rtext = "Legendary";
}
}
case 11:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Young Nigga";
case 2: rtext = "Gangsta";
case 3: rtext = "Old Gangsta";
case 4: rtext = "Killa";
case 5: rtext = "Big Brothers";
case 6: rtext = "Daddy";
}
}
case 12:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "New Blood";
case 2: rtext = "Homie";
case 3: rtext = "Woodrow";
case 4: rtext = "Blood Nigga";
case 5: rtext = "Purple Native";
case 6: rtext = "Legendary";
}
}
case 13:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Young Nigga";
case 2: rtext = "Gangster";
case 3: rtext = "Old Gangster";
case 4: rtext = "Killa";
case 5: rtext = "Big Brother";
case 6: rtext = "Daddy";
}
}
case 14:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Proven";
case 2: rtext = "Shooter";
case 3: rtext = "Advisor";
case 4: rtext = "Gangster";
case 5: rtext = "Deputy Boss";
case 6: rtext = "Boss";
}
}
case 15:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Молодой";
case 2: rtext = "Провереный";
case 3: rtext = "Бывалый";
case 4: rtext = "Смотрящий";
case 5: rtext = "Блатной";
case 6: rtext = "Батя";
}
}
case 16:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Механник";
case 2: rtext = "Начинающий";
case 3: rtext = "Опытный";
case 4: rtext = "Гонщик";
case 5: rtext = "Чемпион";
case 6: rtext = "Король улиц";
}
}
case 17:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Убийца";
case 2: rtext = "Охотник";
case 3: rtext = "Мясник";
case 4: rtext = "Палач";
case 5: rtext = "Главный убийца";
case 6: rtext = "Директор";
}
}
case 18:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Фраер";
case 2: rtext = "Хирург";
case 3: rtext = "Марафетчик";
case 4: rtext = "Авторитет";
case 5: rtext = "Вор";
case 6: rtext = "Вор в законе";
}
}
case 19:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Уборщик";
case 2: rtext = "Охранник";
case 3: rtext = "Бухгалтер";
case 4: rtext = "Бизнесмен";
case 5: rtext = "Депутат";
case 6: rtext = "Мэр";
case 7: rtext = "Мэр";
}
}
case 20:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Рядовой";
case 2: rtext = "Летинант";
case 3: rtext = "Капитан";
case 4: rtext = "Полковник";
case 5: rtext = "Генерал";
case 6: rtext = "Генералиссимус(Зона 51)";
}
}
case 21:
{
switch (Player[targetid][pRank])
{
case 1: rtext = "Стажер";
case 2: rtext = "Инструктор";
case 3: rtext = "Менеджер";
case 4: rtext = "Старший Менеджер";
case 5: rtext = "Зам. Директора";
case 6: rtext = "Директор";
}
}
}
}
else { rtext = "Нет"; }
new jtext[25];
switch(Player[targetid][pJob])
{
case 1:jtext = "Дальнобойщик";
case 2:jtext = "Продавец наркотиков";
case 3:jtext = "Автоугонщик";
case 4:jtext = "Механик";
case 5:jtext = "Страховщик";
case 6:jtext = "Автобусник";
case 7:jtext = "Грузчик";
case 8:jtext = "Продавец оружия";
case 9:jtext = "Телохранитель";
case 10:jtext = "Детектив";
case 11:jtext = "Карманник";
case 12:jtext = "Грабитель";
default: jtext = "Нет";
}
new vip[13];
switch(Player[targetid][pVip])
{
case 0: vip = "Нет";
case 1: vip = "{00FF00}1";
case 2: vip = "{00FF00}2";
case 3: vip = "{00FF00}3";
case 4: vip = "{00FF00}4";
case 5: vip = "{00FF00}5";
}
new htext[25];
if(Player[targetid][pPhousekey] == 0)
{
htext = "Нет";
}
else
{
f(htext,"{FFFF00}(ID: %d)",Player[targetid][pPhousekey]);
}
new mutext[264];
if(Player[targetid][pMuteTime] == 0)
{
mutext = "{00FF00}Нет";
}
else f(mutext,"%s\n- Дата:\t %s\n- Выдал(а): %s\n- Причина: %s",ConvertSeconds(Player[targetid][pMuteTime]),date("%dd.%mm.%yyyy %hh:%ii:%ss",Player[targetid][pMuteDate]),Player[targetid][pMuteDal],Player[targetid][pMuteReason]);
new btext[50];
if(Player[targetid][pPbiskey] == 0)
{
btext = "Нет";
}
else f(btext,"{bbbbbb}%s",BiznesInfo[Player[targetid][pPbiskey]-1][bMessage]);
new ctext[95];
if(Player[targetid][pCarkey1] == 0)
{
ctext = "Нет";
}
else
{
f(ctext,"{bbbbbb}Модель :%s",VehiclesName[GetVehicleModel(Player[targetid][pCarkey1]+SIMPLECARS)-400]);
}
f(str_send[playerid],"~~~~~~~~~~~~~~~~~~~~~~~ Основная информация ~~~~~~~~~~~~~~~~~~~~~~~\n\nVIP:\t\t\t\t\t%s\nПредупреждения:\t\t\t%d из 3\nБан чата:\t\t\t\t%s\nВремя заключения:\n",
vip,Player[targetid][pWarns],mutext);
f(str_send[playerid],"%s~~~~~~~~~~~~~~~~~~~~ Дополнительная информация ~~~~~~~~~~~~~~~~~~~\n\nМесто респауна:\t\t\t%s\nРабота:\t\t\t\t%s\nФракция:\t\t\t\t%s\nРанг:\t\t\t\t\t%s\nВыговоры:\t\t\t\t%d из 3\n",str_send[playerid],
otext,jtext,ttext,rtext,Player[targetid][pTWarns]);
f(str_send[playerid],"%s~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Имущество ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nДом:\t\t\t\t\t%s\nТранспорт: \t\t\t\t%s\nБизнес: \t\t\t\t%s",str_send[playerid],
htext,btext,ctext);
f(str,"{33CCFF}Статистика: %s",Player[targetid][pName]);
ShowPlayerDialog(playerid,2282,DIALOG_STYLE_MSGBOX,str,str_send[playerid],"ОК","");
str_send[playerid][0]=0;
return true;
}
return 1;
}

kala4iks
17.09.2015, 11:06
Выручайте.

#Vito
17.09.2015, 13:59
Попробуй стандартным форматом.

format(str_send[playerid], sizeof(str_send[playerid]),"~~~~~~~~~~~~~~~~~~~~~~~ Основная информация ~~~~~~~~~~~~~~~~~~~~~~~\n\nVIP:\t\t\t\t\t%s\nПредупреждения:\t\t\t%d из 3\nБан чата:\t\t\t\t%s\nВремя заключения:\n",
vip,Player[targetid][pWarns],mutext);
format(str_send[playerid], sizeof(str_send[playerid]),"%s~~~~~~~~~~~~~~~~~~~~ Дополнительная информация ~~~~~~~~~~~~~~~~~~~\n\nМесто респауна:\t\t\t%s\nРабота:\t\t\t\t%s\nФракция:\t\t\t\t%s\nРанг:\t\t\t\t\t%s\nВыговоры:\t\t\t\t%d из 3\n",str_send[playerid],
otext,jtext,ttext,rtext,Player[targetid][pTWarns]);
format(str_send[playerid], sizeof(str_send[playerid]),"%s~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Имущество ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nДом:\t\t\t\t\t%s\nТранспорт: \t\t\t\t%s\nБизнес: \t\t\t\t%s",str_send[playerid],
htext,btext,ctext);

kala4iks
17.09.2015, 16:12
Попробуй стандартным форматом.

format(str_send[playerid], sizeof(str_send[playerid]),"~~~~~~~~~~~~~~~~~~~~~~~ Основная информация ~~~~~~~~~~~~~~~~~~~~~~~\n\nVIP:\t\t\t\t\t%s\nПредупреждения:\t\t\t%d из 3\nБан чата:\t\t\t\t%s\nВремя заключения:\n",
vip,Player[targetid][pWarns],mutext);
format(str_send[playerid], sizeof(str_send[playerid]),"%s~~~~~~~~~~~~~~~~~~~~ Дополнительная информация ~~~~~~~~~~~~~~~~~~~\n\nМесто респауна:\t\t\t%s\nРабота:\t\t\t\t%s\nФракция:\t\t\t\t%s\nРанг:\t\t\t\t\t%s\nВыговоры:\t\t\t\t%d из 3\n",str_send[playerid],
otext,jtext,ttext,rtext,Player[targetid][pTWarns]);
format(str_send[playerid], sizeof(str_send[playerid]),"%s~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Имущество ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nДом:\t\t\t\t\t%s\nТранспорт: \t\t\t\t%s\nБизнес: \t\t\t\t%s",str_send[playerid],
htext,btext,ctext);

Неа хоть так хоть так все равно я уже пробовал.

kala4iks
17.09.2015, 16:52
Я ток что там сам пошарился и посмотрел что у меня не так было.

Это

#define f(%1, format(%1,sizeof(%1),

Я изменил на это и все норм стало.


#define f(%1, format(%1,1024,


Ток вот теперь другая проблема статистику вообще не показывает.

И поменял статистику


stock ShowStats(playerid, targetid)
{
new otext[5][17] = {"Респаун новичков", "Ошибка", "Ошибка", "Фракция", "Дом"};
new MemberRanks[25][8][32] = {
{ {"Горожанин"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"} },
{ {"Los Santos Police Dept."}, {"Курсант"}, {"Офицер"}, {"Сержант"}, {"Детектив"}, {"Капитан"}, {"Шериф"}, {"Отсутствует"} },
{ {"FBI"}, {"Стажёр"}, {"Младший агент"}, {"Агент"}, {"Глава отдела"}, {"Зам. директора"}, {"Директор ФБР"}, {"Отсутствует"} },
{ {"National Guard (Авианосец)"}, {"Рядовой"}, {"Летинант"}, {"Капитан"}, {"Полковник"}, {"Генерал"}, {"Генералиссимус (Авианосец)"}, {"Отсутствует"} },
{ {"San Andreas Medical Dept."}, {"Интерн"}, {"Стоматолог"}, {"Терапевт"}, {"Хирург"}, {"Зав. отделением"}, {"Глав. врач"}, {"Отсутствует"} },
{ {"La Cosa Nostra"}, {"Experto"}, {"Capo"}, {"Strada Boss"}, {"Consigliere"}, {"Vice Padrino"}, {"Leggenda"}, {"Отсутствует"} },
{ {"Yakuza"}, {"Неолинг"}, {"Вакасю"}, {"Оядзи"}, {"Сайко-Комон"}, {"Оябун-Кобун"}, {"Кумитё"}, {"Отсутствует"} },
{ {"Хитманы"}, {"Ученик"}, {"Опытный"}, {"Ассасин"}, {"Спикер"}, {"Убийца"}, {"Директор"}, {"Отсутствует"} },
{ {"Репортёры"}, {"Стажёр"}, {"Режиссёр"}, {"Журналист"}, {"Ведущий"}, {"Продюсер"}, {"Директор SAN"}, {"Отсутствует"} },
{ {"Taxi Company"}, {"Новичёк"}, {"Бомбила"}, {"Таксист"}, {"Опытный Таксист"}, {"Зам. управляющего"}, {"Управляющий"}, {"Отсутствует"} },
{ {"San Fierro Rifa"}, {"New Blood"}, {"Homie"}, {"Woodrow"}, {"Blood Nigga"}, {"Purple Native"}, {"Legendary"}, {"Отсутствует"} },
{ {"Los Santos Vagos"}, {"Young Nigga"}, {"Gangsta"}, {"Old Gangsta"}, {"Killa"}, {"Big Brothers"}, {"Daddy"}, {"Отсутствует"} },
{ {"Grove Sreet Family"}, {"New Blood"}, {"Homie"}, {"Woodrow"}, {"Blood Nigga"}, {"Purple Native"}, {"Legendary"}, {"Отсутствует"} },
{ {"East Side Ballas"}, {"Young Nigga"}, {"Gangsta"}, {"Old Gangsta"}, {"Killa"}, {"Big Brothers"}, {"Daddy"}, {"Отсутствует"} },
{ {"El Coronos"}, {"Proven"}, {"Shooter"}, {"Advisor"}, {"Gangster"}, {"Deputy Boss"}, {"Boss"}, {"Отсутствует"} },
{ {"Russian Mafia"}, {"Молодой"}, {"Провереный"}, {"Бывалый"}, {"Смотрящий"}, {"Блатной"}, {"Батя"}, {"Отсутствует"} },
{ {"Street Racer"}, {"Механник"}, {"Начинающий"}, {"Опытный"}, {"Гонщик"}, {"Чемпион"}, {"Король улиц"}, {"Отсутствует"} },
{ {"Bounty Hunter"}, {"Убийца"}, {"Охотник"}, {"Мясник"}, {"Палач"}, {"Главный убийца"}, {"Директор"}, {"Отсутствует"} },
{ {"Triada"}, {"Фраер"}, {"Хирург"}, {"Марафетчик"}, {"Авторитет"}, {"Вор"}, {"Вор в законе"}, {"Отсутствует"} },
{ {"Мэрия"}, {"Уборщик"}, {"Охранник"}, {"Бухгалтер"}, {"Бизнесмен"}, {"Депутат"}, {"Мэр"}, {"Мэр"} },
{ {"National Guard (Зона 51)"}, {"Рядовой"}, {"Лейтенант"}, {"Капитан"}, {"Полковник"}, {"Генерал"}, {"Генералиссимус (Зона 51)"}, {"Отсутствует"} },
{ {"Лицензеры"}, {"Стажер"}, {"Инструктор"}, {"Менеджер"}, {"Старший Менеджер"}, {"Зам. директора"}, {"Директор"}, {"Отсутствует"} },
{ {"Растаманы"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"} },
{ {"National Guard (Доки)"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"} },
{ {"Репортёры ЛС"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"}, {"Отсутствует"} }
};
new rtext[32];
if(Player[targetid][pLeader] > 0) rtext = "Лидер";
else if(Player[targetid][pZam] > 0) rtext = "Заместитель";
else rtext = MemberRanks[Player[targetid][pMember]][Player[targetid][pRank]];
new jtext[13][25] = {"Нет", "Дальнобойщик", "Продавец наркотиков", "Автоугонщик", "Механик", "Страховщик", "Автобусник", "Грузчик", "Продавец оружия", "Телохранитель", "Детектив", "Карманник", "Грабитель"};
new vip[6][10] = {"Нет", "{00FF00}1", "{00FF00}2", "{00FF00}3", "{00FF00}4", "{00FF00}5"};
new htext[20];
if(Player[targetid][pPhousekey] == 0) htext = "Нет";
else f(htext, "{FFFF00}(ID: %d)", Player[targetid][pPhousekey]);
new mutext[264];
if(Player[targetid][pMuteTime] == 0) mutext = "{00FF00}Нет";
else f(mutext, "%s\n- Дата:\t %s\n- Выдал(а): %s\n- Причина: %s", ConvertSeconds(Player[targetid][pMuteTime]), date("%dd.%mm.%yyyy %hh:%ii:%ss", Player[targetid][pMuteDate]), Player[targetid][pMuteDal], Player[targetid][pMuteReason]);
new btext[40];
if(Player[targetid][pPbiskey] == 0) btext = "Нет";
else f(btext, "{bbbbbb}%s", BiznesInfo[Player[targetid][pPbiskey] - 1][bMessage]);
new ctext[48];
if(Player[targetid][pCarkey1] == 0) ctext = "Нет";
else f(ctext, "{bbbbbb}Модель: %s", VehiclesName[GetVehicleModel(Player[targetid][pCarkey1] + SIMPLECARS) - 400]);
f(str_send[playerid], "~~~~~~~~~~~~~~~~~~~~~~~ Основная информация ~~~~~~~~~~~~~~~~~~~~~~~\n\nVIP:\t\t\t\t\t%s\nПредупреждения:\t\t\t%d из 3\nБан чата:\t\t\t\t%s\nВремя заключения:\n", vip[Player[targetid][pVip]], Player[targetid][pWarns], mutext);
f(str_send[playerid], "%s~~~~~~~~~~~~~~~~~~~~ Дополнительная информация ~~~~~~~~~~~~~~~~~~~\n\nМесто респауна:\t\t\t%s\nРабота:\t\t\t\t%s\nФракция:\t\t\t\t%s\nРанг:\t\t\t\t\t%s\nВыговоры:\t\t\t\t%d из 3\n", str_send[playerid], otext[Player[targetid][pSpawn]], jtext[Player[targetid][pJob]], MemberRanks[Player[targetid][pMember]][0], rtext, Player[targetid][pTWarns]);
f(str_send[playerid], "%s~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Имущество ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nДом:\t\t\t\t\t%s\nТранспорт: \t\t\t\t%s\nБизнес: \t\t\t\t%s", str_send[playerid], htext, btext, ctext);
new str[21 + MAX_PLAYER_NAME];
f(str, "{33CCFF}Статистика: %s", Player[targetid][pName]);
ShowPlayerDialog(playerid, 2282, DIALOG_STYLE_MSGBOX, str, str_send[playerid], "ОК", "");
str_send[playerid][0] = EOS;
return 1;
}

Daniel_Cortez
18.09.2015, 15:12
Я ток что там сам пошарился и посмотрел что у меня не так было.

Это

#define f(%1, format(%1,sizeof(%1),

Я изменил на это и все норм стало.


#define f(%1, format(%1,1024,


new name[MAX_PLAYER_NAME];
new buffer[16];
f(buffer, "%s", name);

С таким кодом сервер не крашнет под Windows, но на хостинге с Linux он долго не продержится.
По сути, бомба замедленного действия.

А всё из-за того, что в макросе f вы вместо sizeof(%1) поставили 1024.
Теперь вместо

format(buffer, sizeof(buffer), "%s", name);
получится

format(buffer, 1024, "%s", name);
В массиве buffer всего 16 ячеек, но функции format сообщается, якобы их там 1024.
Как результат, если в name больше 15 символов (16, если учитывать EOS), произойдёт выход за пределы массива buffer.
В Windows эта ошибка никак не проявляется, но в Linux можно словить краш (segmentation fault). С чем я вас и поздравляю.



Ток вот теперь другая проблема статистику вообще не показывает.
Подключайте crashdetect и смотрите, что он там выведет.

kala4iks
21.09.2015, 15:39
new name[MAX_PLAYER_NAME];
new buffer[16];
f(buffer, "%s", name);

С таким кодом сервер не крашнет под Windows, но на хостинге с Linux он долго не продержится.
По сути, бомба замедленного действия.

А всё из-за того, что в макросе f вы вместо sizeof(%1) поставили 1024.
Теперь вместо

format(buffer, sizeof(buffer), "%s", name);
получится

format(buffer, 1024, "%s", name);
В массиве buffer всего 16 ячеек, но функции format сообщается, якобы их там 1024.
Как результат, если в name больше 15 символов (16, если учитывать EOS), произойдёт выход за пределы массива buffer.
В Windows эта ошибка никак не проявляется, но в Linux можно словить краш (segmentation fault). С чем я вас и поздравляю.



Подключайте crashdetect и смотрите, что он там выведет.

Все спасибо большое за совет я переделал статистику и убрал эти MAX_STRING'I.