SteveStage
06.06.2020, 16:07
Я понял в чем проблема - у тебя в adPhone не записывается номер телефона.
Вот, замени свой case 822, 831 и 832 на это:
case 822:
{
if(response)
{
PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
if(player[playerid][pmoney] < adv[cost_news_ls])
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}У Вас недостаточно денег!");
return true;
}
if(TOTALADVERT[0] > 19)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Список объявлений полон!");
return true;
}
player[playerid][pmoney] -= adv[cost_news_ls];
SavePlayer(playerid, "Money", player[playerid][pmoney], "d");
balance[bnews_ls] += adv[cost_news_ls];
TOTALADVERT[0] ++;
strmid(AdvertInfo[TOTALADVERT[0]][0][adText], ReportQ[playerid], 0, strlen(ReportQ[playerid]), 90);
strmid(AdvertInfo[TOTALADVERT[0]][0][adName], GN(playerid), 0, strlen(GN(playerid)), MAX_PLAYER_NAME);
AdvertInfo[TOTALADVERT[0]][0][adPhone] = player[playerid][pnumber];
SCM(playerid, COLOR_WHITE, "Ваше обьявление будет опубликовано после проверки");
AdvertTime = gettime() + 15;
}
else PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
}
case 831:
{
if(response)
{
if(player[playerid][pmoney] < adv[cost_news_sf])
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}У Вас недостаточно денег!");
return true;
}
if(TOTALADVERT[1] > 19)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Список объявлений полон!");
return true;
}
PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
player[playerid][pmoney] -= adv[cost_news_sf];
SavePlayer(playerid, "Money", player[playerid][pmoney], "d");
balance[bnews_sf] += adv[cost_news_sf];
TOTALADVERT[1] ++;
strmid(AdvertInfo[TOTALADVERT[1]][1][adText], ReportQ[playerid], 0, strlen(ReportQ[playerid]), 90);
strmid(AdvertInfo[TOTALADVERT[1]][1][adName], GN(playerid), 0, strlen(GN(playerid)), MAX_PLAYER_NAME);
AdvertInfo[TOTALADVERT[0]][0][adPhone] = player[playerid][pnumber];
SCM(playerid, COLOR_WHITE, "Ваше обьявление будет опубликовано после проверки");
AdvertTime = gettime() + 15;
}
else PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
}
case 832:
{
if(response)
{
if(player[playerid][pmoney] < adv[cost_news_lv])
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}У Вас недостаточно денег!");
return true;
}
if(TOTALADVERT[2] > 19)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Список объявлений полон!");
return true;
}
PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
player[playerid][pmoney] -= adv[cost_news_lv];
SavePlayer(playerid, "Money", player[playerid][pmoney], "d");
balance[bnews_lv] += adv[cost_news_lv];
TOTALADVERT[2] ++;
strmid(AdvertInfo[TOTALADVERT[2]][2][adText], ReportQ[playerid], 0, strlen(ReportQ[playerid]), 90);
strmid(AdvertInfo[TOTALADVERT[2]][2][adName], GN(playerid), 0, strlen(GN(playerid)), MAX_PLAYER_NAME);
AdvertInfo[TOTALADVERT[0]][0][adPhone] = player[playerid][pnumber];
SCM(playerid, COLOR_WHITE, "Ваше обьявление будет опубликовано после проверки");
AdvertTime = gettime() + 15;
}
else PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
}
Замена case 820, 825 и 829:
case 820:
{
if(response)
{
PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
switch(listitem)
{
case 0:
{
if(AdvertTime > gettime())
{
DeletePVar(playerid, "AdvertID");
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Опубликовывать объявления можно раз в 15 секунд!");
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[0]; i++)
{
static const fmt_str_50[] = "[%d] Прислал: %s\n";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME-1];
format(string_50, sizeof(string_50), fmt_str_50
,
i,
AdvertInfo[i][0][adName]
);
strcat(string_100, string_50);
}
if(TOTALADVERT[0] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 819, DSL, "Объявления", string_100, "Выбрать", "Назад");
return true;
}
static const fmt_str_50[] = "Объявление: %s. Прислал: %s. Тел: %d";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME+94];
format(string_50, sizeof(string_50), fmt_str_50
,
AdvertInfo[GetPVarInt(playerid, "AdvertID")][0][adText],
AdvertInfo[GetPVarInt(playerid, "AdvertID")][0][adName],
AdvertInfo[GetPVarInt(playerid, "AdvertID")][0][adPhone]
);
SCMTA(0x00D900C8, string_50);
static const fmt_str_51[] = " Объявление опубликовал сотрудник LS News %s";
new string_51[sizeof(fmt_str_51)+MAX_PLAYER_NAME-1];
format(string_51, sizeof(string_51), fmt_str_51
,
GN(playerid)
);
SCMTA(0x7787D8FF, string_51);
for(new i = GetPVarInt(playerid, "AdvertID"); i <= TOTALADVERT[0] - 1; i++)
{
strmid(AdvertInfo[i][0][adText], AdvertInfo[i+1][0][adText],0, strlen(AdvertInfo[i+1][0][adText]), 90);
strmid(AdvertInfo[i][0][adName], AdvertInfo[i+1][0][adName],0, strlen(AdvertInfo[i+1][0][adName]), MAX_PLAYER_NAME);
player[i][pnumber] = AdvertInfo[i][0][adPhone];
}
TOTALADVERT[0]--;
AdvertTime = gettime() + 15;
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[0]; i++)
{
static const fmt_str_52[] = "[%d] Прислал: %s\n";
new string_52[sizeof(fmt_str_52)+MAX_PLAYER_NAME-1];
format(string_52, sizeof(string_52), fmt_str_52
,
i,
AdvertInfo[i][0][adName]
);
strcat(string_100, string_52);
}
if(TOTALADVERT[0] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 819, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
case 1:
{
static const fmt_str_50[] = "Текст: %s. Прислал: %s";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME+90];
format(string_50, sizeof(string_50), fmt_str_50
,
AdvertInfo[GetPVarInt(playerid, "AdvertID")][0][adText],
AdvertInfo[GetPVarInt(playerid, "AdvertID")][0][adName]
);
SPD(playerid, 821, DSI, "Редактор объявлений", string_50, "Принять", "Назад");
}
case 2:
{
for(new i = GetPVarInt(playerid, "AdvertID"); i <= TOTALADVERT[0] - 1; i++)
{
strmid(AdvertInfo[i][0][adText],AdvertInfo[i+1][0][adText],0,strlen(AdvertInfo[i+1][0][adText]), 90);
strmid(AdvertInfo[i][0][adName],AdvertInfo[i+1][0][adName],0,strlen(AdvertInfo[i+1][0][adName]), MAX_PLAYER_NAME);
}
TOTALADVERT[0]--;
SCM(playerid, COLOR_GREEN, "Объявление удалено");
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[0]; i++)
{
static const fmt_str_52[] = "[%d] Прислал: %s\n";
new string_52[sizeof(fmt_str_52)+MAX_PLAYER_NAME-1];
format(string_52, sizeof(string_52), fmt_str_52
,
i,
AdvertInfo[i][0][adName]
);
strcat(string_100, string_52);
}
if(TOTALADVERT[0] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 819, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
}
}
else
{
PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[0]; i++)
{
static const fmt_str_50[] = "[%d] Прислал: %s\n";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME-1];
format(string_50, sizeof(string_50), fmt_str_50
,
i,
AdvertInfo[i][0][adName]
);
strcat(string_100, string_50);
}
if(TOTALADVERT[0] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 819, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
}
case 825:
{
if(response)
{
PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
switch(listitem)
{
case 0:
{
if(AdvertTime > gettime())
{
DeletePVar(playerid, "AdvertID");
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Опубликовывать объявления можно раз в 15 секунд!");
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[1]; i++)
{
static const fmt_str_50[] = "[%d] Прислал: %s\n";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME-1];
format(string_50, sizeof(string_50), fmt_str_50
,
i,
AdvertInfo[i][1][adName]
);
strcat(string_100, string_50);
}
if(TOTALADVERT[1] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 824, DSL, "Объявления", string_100, "Выбрать", "Назад");
return true;
}
static const fmt_str_50[] = "Объявление: %s. Прислал: %s. Тел: %d";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME+94];
format(string_50, sizeof(string_50), fmt_str_50
,
AdvertInfo[GetPVarInt(playerid, "AdvertID")][1][adText],
AdvertInfo[GetPVarInt(playerid, "AdvertID")][1][adName],
AdvertInfo[GetPVarInt(playerid, "AdvertID")][1][adPhone]
);
SCMTA(0x00D900C8, string_50);
static const fmt_str_51[] = " Объявление опубликовал сотрудник SF News %s";
new string_51[sizeof(fmt_str_51)+MAX_PLAYER_NAME-1];
format(string_51, sizeof(string_51), fmt_str_51
,
GN(playerid)
);
SCMTA(0xA0FF9BFF, string_51);
for(new i = GetPVarInt(playerid, "AdvertID"); i <= TOTALADVERT[1] - 1; i++)
{
strmid(AdvertInfo[i][1][adText], AdvertInfo[i+1][1][adText], 0, strlen(AdvertInfo[i+1][1][adText]), 90);
strmid(AdvertInfo[i][1][adName], AdvertInfo[i+1][1][adName], 0, strlen(AdvertInfo[i+1][1][adName]), MAX_PLAYER_NAME);
}
TOTALADVERT[1]--;
AdvertTime = gettime() + 15;
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[1]; i++)
{
static const fmt_str_52[] = "[%d] Прислал: %s\n";
new string_52[sizeof(fmt_str_52)+MAX_PLAYER_NAME-1];
format(string_52, sizeof(string_52), fmt_str_52
,
i,
AdvertInfo[i][1][adName]
);
strcat(string_100, string_52);
}
if(TOTALADVERT[1] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 824, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
case 1:
{
static const fmt_str_50[] = "Текст: %s. Прислал: %s";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME+90];
format(string_50, sizeof(string_50), fmt_str_50
,
AdvertInfo[GetPVarInt(playerid, "AdvertID")][1][adText],
AdvertInfo[GetPVarInt(playerid, "AdvertID")][1][adName]
);
SPD(playerid, 826, DSI, "Редактор объявлений", string_50, "Принять", "Назад");
}
case 2:
{
for(new i = GetPVarInt(playerid, "AdvertID"); i <= TOTALADVERT[1] - 1; i++)
{
strmid(AdvertInfo[i][1][adText],AdvertInfo[i+1][1][adText],0,strlen(AdvertInfo[i+1][1][adText]), 90);
strmid(AdvertInfo[i][1][adName],AdvertInfo[i+1][1][adName],0,strlen(AdvertInfo[i+1][1][adName]), MAX_PLAYER_NAME);
}
TOTALADVERT[1]--;
SCM(playerid, COLOR_GREEN, "Объявление удалено");
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[1]; i++)
{
static const fmt_str_52[] = "[%d] Прислал: %s\n";
new string_52[sizeof(fmt_str_52)+MAX_PLAYER_NAME-1];
format(string_52, sizeof(string_52), fmt_str_52
,
i,
AdvertInfo[i][1][adName]
);
strcat(string_100, string_52);
}
if(TOTALADVERT[1] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 824, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
}
}
else
{
PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[1]; i++)
{
static const fmt_str_50[] = "[%d] Прислал: %s\n";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME-1];
format(string_50, sizeof(string_50), fmt_str_50
,
i,
AdvertInfo[i][1][adName]
);
strcat(string_100, string_50);
}
if(TOTALADVERT[1] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 824, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
}
case 829:
{
if(response)
{
PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
switch(listitem)
{
case 0:
{
if(AdvertTime > gettime())
{
DeletePVar(playerid, "AdvertID");
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Опубликовывать объявления можно раз в 15 секунд!");
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[2]; i++)
{
static const fmt_str_50[] = "[%d] Прислал: %s\n";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME-1];
format(string_50, sizeof(string_50), fmt_str_50
,
i,
AdvertInfo[i][2][adName]
);
strcat(string_100, string_50);
}
if(TOTALADVERT[2] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 828, DSL, "Объявления", string_100, "Выбрать", "Назад");
return true;
}
static const fmt_str_50[] = "Объявление: %s. Прислал: %s. Тел: %d";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME+94];
format(string_50, sizeof(string_50), fmt_str_50
,
AdvertInfo[GetPVarInt(playerid, "AdvertID")][2][adText],
AdvertInfo[GetPVarInt(playerid, "AdvertID")][2][adName],
player[GetPVarInt(playerid, "AdvertID")][2][adPhone]
);
SCMTA(0x00D900C8, string_50);
static const fmt_str_51[] = " Объявление опубликовал сотрудник LV News %s";
new string_51[sizeof(fmt_str_51)+MAX_PLAYER_NAME-1];
format(string_51, sizeof(string_51), fmt_str_51
,
GN(playerid)
);
SCMTA(0xFFA5A9FF, string_51);
for(new i = GetPVarInt(playerid, "AdvertID"); i <= TOTALADVERT[2] - 1; i++)
{
strmid(AdvertInfo[i][2][adText], AdvertInfo[i+1][2][adText], 0, strlen(AdvertInfo[i+1][2][adText]), 90);
strmid(AdvertInfo[i][2][adName], AdvertInfo[i+1][2][adName], 0, strlen(AdvertInfo[i+1][2][adName]), MAX_PLAYER_NAME);
}
TOTALADVERT[2]--;
AdvertTime = gettime() + 15;
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[2]; i++)
{
static const fmt_str_52[] = "[%d] Прислал: %s\n";
new string_52[sizeof(fmt_str_52)+MAX_PLAYER_NAME-1];
format(string_52, sizeof(string_52), fmt_str_52
,
i,
AdvertInfo[i][2][adName]
);
strcat(string_100, string_52);
}
if(TOTALADVERT[2] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 828, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
case 1:
{
static const fmt_str_50[] = "Текст: %s. Прислал: %s";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME+90];
format(string_50, sizeof(string_50), fmt_str_50
,
AdvertInfo[GetPVarInt(playerid, "AdvertID")][2][adText],
AdvertInfo[GetPVarInt(playerid, "AdvertID")][2][adName]
);
SPD(playerid, 830, DSI, "Редактор объявлений", string_50, "Принять", "Назад");
}
case 2:
{
for(new i = GetPVarInt(playerid, "AdvertID"); i <= TOTALADVERT[2] - 1; i++)
{
strmid(AdvertInfo[i][2][adText],AdvertInfo[i+1][2][adText],0,strlen(AdvertInfo[i+1][2][adText]), 90);
strmid(AdvertInfo[i][2][adName],AdvertInfo[i+1][2][adName],0,strlen(AdvertInfo[i+1][2][adName]), MAX_PLAYER_NAME);
}
TOTALADVERT[2]--;
SCM(playerid, COLOR_GREEN, "Объявление удалено");
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[2]; i++)
{
static const fmt_str_52[] = "[%d] Прислал: %s\n";
new string_52[sizeof(fmt_str_52)+MAX_PLAYER_NAME-1];
format(string_52, sizeof(string_52), fmt_str_52
,
i,
AdvertInfo[i][2][adName]
);
strcat(string_100, string_52);
}
if(TOTALADVERT[2] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 828, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
}
}
else
{
PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
DeletePVar(playerid, "AdvertID");
new string_100[1000];
for(new i = 1; i <= TOTALADVERT[2]; i++)
{
static const fmt_str_50[] = "[%d] Прислал: %s\n";
new string_50[sizeof(fmt_str_50)+MAX_PLAYER_NAME-1];
format(string_50, sizeof(string_50), fmt_str_50
,
i,
AdvertInfo[i][2][adName]
);
strcat(string_100, string_50);
}
if(TOTALADVERT[2] == 0)
{
PlayerPlaySound(playerid, 31203, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!");
callcmd::news(playerid);
return true;
}
SPD(playerid, 828, DSL, "Объявления", string_100, "Выбрать", "Назад");
}
}
И читабельность твоего кода на дне. Я уже молчу про количество создаваемых массивов, когда другие не используются...
И эти case 666 отвратительно выглядят, заменил бы константами в энуме.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot