haris
Новичок
Здравствуйте форумчане, хочу спросить вас 2 таких вопроса:
1. Как сделать так, что бы [3DText] не сохранялся по ID. Если администратор не выйдет с админ дежурства и выйдет с сервера, другой игрок с таким же ID получит [3DText] над головой "Администрация"
2. Как сделать так, что бы репортеры могли отправлять\редактировать поданные им объявления (/adgo | /editad).
Вот сама команда /ad:
Заранее спасибо Вам.
1. Как сделать так, что бы [3DText] не сохранялся по ID. Если администратор не выйдет с админ дежурства и выйдет с сервера, другой игрок с таким же ID получит [3DText] над головой "Администрация"
2. Как сделать так, что бы репортеры могли отправлять\редактировать поданные им объявления (/adgo | /editad).
Вот сама команда /ad:
PHP:
if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMute] > 0)
{
format(string, sizeof(string), "Вы заткнуты! Оставшееся время заглушки %d(ñåê)",PlayerInfo[playerid][pMuteTime] );
SendClientMessage(playerid, COLOR_YELLOW, string);//Выдаем сообщение
return 1;
}
if(PlayerInfo[playerid][pLevel] < 3 && PlayerInfo[playerid][pAdmin] == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, "DangerGame: Команда доступна с 3 уровня.");
return 1;
}
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "DangerGame: Вы не авторизованы.");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "DangerGame: (/ad)vertise [advert text]");
return 1;
}
if ((!adds) && (PlayerInfo[playerid][pAdmin] < 9))
{
format(string, sizeof(string), "Повторите попытку позже. Объявление можно подавать 1 раз в %d секунд.", (addtimer/10000));
SendClientMessage(playerid, COLOR_GRAD2, string);
return 1;
}
new payout = idx * 25;
if(PlayerInfo[playerid][pMoney] < payout)
{
format(string, sizeof(string), "* Вы использовали %d символов. У вас недостаточно денег.($%d), .", offset, payout);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
PlayerInfo[playerid][pMoney] -= payout;
SBizzInfo[7][sbTill] += payout;
format(string, sizeof(string), "{FFFFFF}Объявление:{1AFF00} %s,{00FFE1} Прислал: %s, Телефон: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
OOCNews(TEAM_GROVE_COLOR,string);
format(string, sizeof(string), "Рекламу отправил: %s (ID:%d)",sendername,playerid);
ABroadCast(COLOR_LIGHTRED,string,1);
format(string, sizeof(string), "Цена сообщения: $%d. Знаков: %d.", payout, idx);
SendClientMessage(playerid, COLOR_GRAD1, string);
if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
}
return 1;
}
Последнее редактирование:
