Moovis
Новичок
Доброго времени суток, пользователи Pawno-info.
Возникла такая проблема с функцией "Advertise". Вообщем такая ситуация: "Человек А подал объявление, человек Б прописывает /edit, ему выдает окно для редактирования\отправки объявления ( что-то типо Advance - не реклама), и в строке "Отправитель" вместо ника Человек А, пишется ник Человек Б. Так же и при публикации объявления. Думаю что понятно объяснил.
Коды:
/advertise
PHP:
if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(ADVERTISE == 1) return SendClientMessage(playerid,-1, "Кто-то уже подал объявление");
new sendername[ MAX_PLAYER_NAME ];
if(PlayerInfo[playerid][pLevel] < 3) return SendClientMessage(playerid, COLOR_GRAD, "{FF0000}[Недоступно]{ffffff} Команда доступна с 3-го уровня.");
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)) return SendClientMessage(playerid, COLOR_WHITE, "{00C0FF}Используйте{FFFFFF} : (/ad)vertise [сообщение]");
new string[145];
if(PlayerInfo[playerid][pCash] < 10) return SendClientMessage(playerid, COLOR_WHITE, "{FF0000}[Недоступно]{ffffff} У вас недостаточно денег для подачи рекламы.");
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessage(playerid, COLOR_WHITE, "Ваше объявление было отправлено в СМИ для утверждения");
format(string, sizeof(string), "{f4c430}[Для утверждения] Автор: %s[%d]. Текст: %s",sendername, playerid,(result));
SendFamilyMessage(15, -1, string);
PlayerInfo[playerid][pCash] -= 10,ADVERTISE = 1;
strmid(ADV[playerid], result, 0, strlen(result), 255);
}
return true;
}
PHP:
if(strcmp(cmd, "/edit", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pMember] == 16 || PlayerInfo[playerid][pMember] == 17)
{
new giveplayer[ MAX_PLAYER_NAME ],giveplayerid,sendername[ MAX_PLAYER_NAME ],string[ 256 ];
if(IsPlayerConnected(giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
if(ADVERTISE == 0) return SendClientMessage(playerid,-1,"Никто не подавал объявление");
OBV[playerid] = giveplayerid;
format(string, sizeof(string), "{ffffff}Отправитель: %s\nТекст:{fde910} %s\n\n{ffffff}Введите новый текст для этого объявления или оставьте поле пустым если редактирование не нужно\n\
Вы также можете отклонить объявление с причиной нажав кнопку \"Отклонить\"",giveplayer,ADV[giveplayerid]);
ShowPlayerDialog(playerid,advert,DIALOG_STYLE_INPUT,"{00ff00}Публикация объявления",string,"Готово","Отклонить");
}
}
else
{
return true;
}
}
PHP:
case advert:
{
new sendername[ MAX_PLAYER_NAME ];
GetPlayerName(OBV[playerid], sendername, sizeof(sendername));
if(response)
{
new texts[160];
new name[ MAX_PLAYER_NAME ];
if(strlen(inputtext) == 0)
{
format(texts, sizeof(texts), "{66ff00}Обьявление: %s. Прислал(а): %s[%d]. Номер: %d",ADV[playerid], GN(OBV[playerid]),OBV[playerid],PlayerInfo[OBV[playerid]][pNumber]),SendClientMessageToAll(-1,texts);
format(texts, sizeof(texts), "{34c924} Объявление проверил работник Радоцентра: %s.", GN(playerid)),SendClientMessageToAll(-1,texts);
ADV[ OBV[playerid] ] = 0,OBV[playerid] = 501,ADVERTISE = 0;
}
else
{
GetPlayerName(playerid, name, sizeof(name));
format(texts, sizeof(texts), "{66ff00}Обьявление: %s. Прислал(а): %s[%d]. Номер: %d", (inputtext), sendername,OBV[playerid],PlayerInfo[OBV[playerid]][pNumber]),SendClientMessageToAll(-1,texts);
format(texts, sizeof(texts), "{34c924} Объявление отредактировал работник Радоцентра: %s.", GN(playerid)),SendClientMessageToAll(-1,texts);
ADV[ OBV[playerid] ] = 0,OBV[playerid] = 501,ADVERTISE = 0;
}
return true;
}
else
{
format(string, sizeof(string), "{FF6600}Вы отклонили объявление",sendername, playerid, (inputtext)),SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "{FF6600}%s[%d] отклонил объявление. Причина: %s",sendername, playerid, (inputtext)),SendClientMessage(OBV[playerid], COLOR_YELLOW, string);
ADV[ OBV[playerid] ] = 0,OBV[playerid] = 501,ADVERTISE = 0;
}
}
Ну а с меня конечно же +
