Здравствуйте. Помогите, пожалуйста. Пишу систему объявлений для своего сервера, но при его подаче вместо всего объявления пишет только первую букву. То же самое, если открыть окно редактирования: вместо всего объявления только первая буква. Вот код:
enum AdInfo { adPhone, adText[256], adName[MAX_PLAYER_NAME] }; new AdvertInfo[50][AdInfo];
CMD:ad(playerid,params[]) { com flood new string[200]; if(sscanf(params,"s[128]",params[0])) return SCM(playerid,COLOR_WHITE,"Введите: /ad [текст]"); if(ad [playerid]== true) return SCM(playerid,COLOR_GREY,"Вы уже подали объявление!"); new cena = strlen(params[0]) * 10; if(cena > PlayerInfo[playerid][pCash]) return SCM(playerid,COLOR_GREY,"Недостаточно денег! Попробуйте сократить объявление"); GPN AdvertInfo [playerid][adPhone]= PlayerInfo[playerid][pPhoneNumber]; AdvertInfo [playerid][adText]= params[0]; AdvertInfo [playerid][adName]= playername; format(string,sizeof(string),"Новое объявление | %s | Отправил: %s[%d] | Телефон: %d",AdvertInfo[playerid][adText],AdvertInfo[playerid][adName],playerid,PlayerInfo[playerid][pPhoneNumber]); MemberChat(10,COLOR_YELLOW,string); SCM(playerid,COLOR_WHITE,":: Объявление отправлено в СМИ ::"); format(string,sizeof(string),"Цена за объявление: %d$ | Количество символов: %d",cena,strlen(params[0])); SCM(playerid,COLOR_WHITE,string); format(string,sizeof(string),"Ваше объявление: %s",params[0]); SCM(playerid,COLOR_WHITE,string); ad [playerid]= true; return 1; }
CMD:editad(playerid,params[]) { com new string[256]; if(PlayerInfo [playerid][pMember]!= 10) return ESCM if(sscanf(params,"i",params[0])) return SCM(playerid,COLOR_WHITE,"Введите: /editad [id]"); if(ad[params[0]] == false) return SCM(playerid,COLOR_GREY,"Этот игрок не подавал объявление!"); format(string,sizeof(string),"{FFFF00}Объявление: %s | Отправил: %s[%d]",AdvertInfo[params[0]][adText],AdvertInfo[params[0]][adName],params[0]); SPD(playerid,85,DSI,"Редактор объявлений",string,"Отправить",""); adpl [playerid]= params[0]; return 1; }