Тогда покажи, как вообще в AdvertInfo и в PVar AdvertID записываются данные.
Вид для печати
Мне тогда тебе проще new pwn закинуть, нежели так куски кода скидывать, их очень много
- - - Добавлено - - -
в лс скинул
Я понял в чем проблема - у тебя в adPhone не записывается номер телефона.
Вот, замени свой case 822, 831 и 832 на это:
case 822: { if(response) { if(player[playerid][pmoney] < adv[cost_news_ls]) { SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}У Вас недостаточно денег!"); return true; } if(TOTALADVERT[0] > 19) { 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] ++; AdvertInfo[TOTALADVERT[0]][0][adPhone] = player[playerid][pnumber]; SCM(playerid, COLOR_WHITE, "Ваше обьявление будет опубликовано после проверки"); } }
case 831: { if(response) { if(player[playerid][pmoney] < adv[cost_news_sf]) { SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}У Вас недостаточно денег!"); return true; } if(TOTALADVERT[1] > 19) { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Список объявлений полон!"); return true; } player[playerid][pmoney] -= adv[cost_news_sf]; SavePlayer(playerid, "Money", player[playerid][pmoney], "d"); balance[bnews_sf] += adv[cost_news_sf]; TOTALADVERT[1] ++; AdvertInfo[TOTALADVERT[0]][0][adPhone] = player[playerid][pnumber]; SCM(playerid, COLOR_WHITE, "Ваше обьявление будет опубликовано после проверки"); } } case 832: { if(response) { if(player[playerid][pmoney] < adv[cost_news_lv]) { SCM(playerid, COLOR_RED, !"[ОШИБКА]: {B4B4B4}У Вас недостаточно денег!"); return true; } if(TOTALADVERT[2] > 19) { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Список объявлений полон!"); return true; } player[playerid][pmoney] -= adv[cost_news_lv]; SavePlayer(playerid, "Money", player[playerid][pmoney], "d"); balance[bnews_lv] += adv[cost_news_lv]; TOTALADVERT[2] ++; AdvertInfo[TOTALADVERT[0]][0][adPhone] = player[playerid][pnumber]; SCM(playerid, COLOR_WHITE, "Ваше обьявление будет опубликовано после проверки"); } }
Замена case 820, 825 и 829:
case 820: { if(response) { switch(listitem) { case 0: { { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Опубликовывать объявления можно раз в 15 секунд!"); 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]; , i, AdvertInfo[i][0][adName] ); } if(TOTALADVERT[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]; , ); SCMTA(0x00D900C8, string_50); static const fmt_str_51[] = " Объявление опубликовал сотрудник LS News %s"; new string_51[sizeof(fmt_str_51)+MAX_PLAYER_NAME-1]; , GN(playerid) ); SCMTA(0x7787D8FF, string_51); { player[i][pnumber] = AdvertInfo[i][0][adPhone]; } TOTALADVERT[0]--; 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]; , i, AdvertInfo[i][0][adName] ); } if(TOTALADVERT[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]; , ); SPD(playerid, 821, DSI, "Редактор объявлений", string_50, "Принять", "Назад"); } case 2: { { } TOTALADVERT[0]--; SCM(playerid, COLOR_GREEN, "Объявление удалено"); 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]; , i, AdvertInfo[i][0][adName] ); } if(TOTALADVERT[0] == 0) { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!"); callcmd::news(playerid); return true; } SPD(playerid, 819, DSL, "Объявления", string_100, "Выбрать", "Назад"); } } } else { 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]; , i, AdvertInfo[i][0][adName] ); } if(TOTALADVERT[0] == 0) { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!"); callcmd::news(playerid); return true; } SPD(playerid, 819, DSL, "Объявления", string_100, "Выбрать", "Назад"); } }
case 825: { if(response) { switch(listitem) { case 0: { { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Опубликовывать объявления можно раз в 15 секунд!"); 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]; , i, AdvertInfo[i][1][adName] ); } if(TOTALADVERT[1] == 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]; , ); SCMTA(0x00D900C8, string_50); static const fmt_str_51[] = " Объявление опубликовал сотрудник SF News %s"; new string_51[sizeof(fmt_str_51)+MAX_PLAYER_NAME-1]; , GN(playerid) ); SCMTA(0xA0FF9BFF, string_51); { } TOTALADVERT[1]--; 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]; , i, AdvertInfo[i][1][adName] ); } if(TOTALADVERT[1] == 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]; , ); SPD(playerid, 826, DSI, "Редактор объявлений", string_50, "Принять", "Назад"); } case 2: { { } TOTALADVERT[1]--; SCM(playerid, COLOR_GREEN, "Объявление удалено"); 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]; , i, AdvertInfo[i][1][adName] ); } if(TOTALADVERT[1] == 0) { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!"); callcmd::news(playerid); return true; } SPD(playerid, 824, DSL, "Объявления", string_100, "Выбрать", "Назад"); } } } else { 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]; , i, AdvertInfo[i][1][adName] ); } if(TOTALADVERT[1] == 0) { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!"); callcmd::news(playerid); return true; } SPD(playerid, 824, DSL, "Объявления", string_100, "Выбрать", "Назад"); } }
case 829: { if(response) { switch(listitem) { case 0: { { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Опубликовывать объявления можно раз в 15 секунд!"); 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]; , i, AdvertInfo[i][2][adName] ); } if(TOTALADVERT[2] == 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]; , ); SCMTA(0x00D900C8, string_50); static const fmt_str_51[] = " Объявление опубликовал сотрудник LV News %s"; new string_51[sizeof(fmt_str_51)+MAX_PLAYER_NAME-1]; , GN(playerid) ); SCMTA(0xFFA5A9FF, string_51); { } TOTALADVERT[2]--; 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]; , i, AdvertInfo[i][2][adName] ); } if(TOTALADVERT[2] == 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]; , ); SPD(playerid, 830, DSI, "Редактор объявлений", string_50, "Принять", "Назад"); } case 2: { { } TOTALADVERT[2]--; SCM(playerid, COLOR_GREEN, "Объявление удалено"); 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]; , i, AdvertInfo[i][2][adName] ); } if(TOTALADVERT[2] == 0) { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!"); callcmd::news(playerid); return true; } SPD(playerid, 828, DSL, "Объявления", string_100, "Выбрать", "Назад"); } } } else { 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]; , i, AdvertInfo[i][2][adName] ); } if(TOTALADVERT[2] == 0) { SCM(playerid, COLOR_RED, "[ОШИБКА]: {B4B4B4}Новых объявлений нет!"); callcmd::news(playerid); return true; } SPD(playerid, 828, DSL, "Объявления", string_100, "Выбрать", "Назад"); } }
И читабельность твоего кода на дне. Я уже молчу про количество создаваемых массивов, когда другие не используются...
И эти case 666 отвратительно выглядят, заменил бы константами в энуме.