[Проблема] Команда /gnews (gov) - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: [CM]OlegEhtler, Getbackthere, Phoenixxx_Czar  
[Проблема] Команда /gnews (gov)
ForaN Дата: Суббота, 04.06.2016, 16:10 | Сообщение # 1
Новичок
Сообщений: 21
Статус: Offline
Здравствуйте уважаемые умельцы и скриптеры PAWN.
У меня не большая проблема, недоработка с командой /gnews. Она работает у всех организаций, а не только у гос.
Помогите пожалуйста написать проверку чтобы работала только у госок.
Вот код:
Код
CMD:gnewss(playerid, params[])
{
    if(!pTemp[playerid][pLogined]) return 1;
    if(pData[playerid][pMut]) return SendClientMessage(playerid,CORANGE,"Äîñòóï â ÷àò çàáëîêèðîâàí. Âðåìÿ äî ðàçáëîêèðîâêè: {00CC33}/time");
    if(!pData[playerid][pFraction]) return SendClientMessage(playerid,CWHITE,"Âû íå ñîñòîèòå â {ff0000}îðãàíèçàöèè");
    new fraction = pData[playerid][pFraction];
    if(fraction > 2 && fraction < 8 || fraction >= 15) return SendClientMessage(playerid,CGRAY,"Âàì íå äîñòóïíà ýòà ôóíêöèÿ");
    if(!IsAbleToHire(playerid)) return SendClientMessage(playerid, CBLUE,"Âàì íå äîñòóïíà ýòà ôóíêöèÿ");
    if(GetPVarInt(playerid,"GNEWSS") > gettime()) return SendClientMessage(playerid, CGRAY, "Íàïîìèíàòü î ñîáåñåäîâàíèé ìîæíî ðàç â 5 ìèíóò!");
    if(sscanf(params, "s[128]", params[0])) return SendClientMessage(playerid, CYELLOW, "• [Ïîäñêàçêà]:{"#cWHITE"} /gnewss [ñîîáùåíèå]");
    if(IsIp(params[0]))
    {
  new string[128];
  format(string, sizeof(string), "[ÀÍÒÈÐÅÊËÀÌÀ] %s[%d] /gnews òåêñò: %s [Íàêàçàí ìóòîì íà 60 ìèíóò]", pData[playerid][pNickname], playerid, params[0]);
  AdminChat(COLOR_LIGHTRED,string);
  pData[playerid][pMut] = 60;
     UpdatePlayerData(playerid,"mut", pData[playerid][pMut]);
     return true;
    }
    else
    {
  new mes[128];
  format(mes,sizeof(mes),"[Ãîñ.Íîâîñòè] %s[%d]: %s",pData[playerid][pNickname],playerid,params[0]);
  SendClientMessageToAll(0x4466ccff,mes);
    }
    SetPVarInt(playerid, "GNEWSS", gettime() + 300);
    return true;
}
CMD:gnews(playerid, params[])
{
    if(pData[playerid][pMut]) return SendClientMessage(playerid,CORANGE,"Äîñòóï â ÷àò çàáëîêèðîâàí. Âðåìÿ äî ðàçáëîêèðîâêè: {00CC33}/time");
    if(!pData[playerid][pFraction]) return SendClientMessage(playerid,CWHITE,"Âû íå ñîñòîèòå â {ff0000}îðãàíèçàöèè");
    new fraction = pData[playerid][pFraction];
    if(GetPVarInt(playerid,"GNEWS") > gettime()) return SendClientMessage(playerid, CGRAY, "Ãîñóäàðñòâåííóþ íîâîñòü ìîæíî ïîäàâàòü ðàç â 10 ìèíóò!");
    if(fraction > 2 && fraction < 8 || fraction >= 15) return SendClientMessage(playerid,CGRAY,"Âàì íå äîñòóïíà ýòà ôóíêöèÿ");
    if(!IsAbleToHire(playerid)) return SendClientMessage(playerid, CBLUE,"Âàì íå äîñòóïíà ýòà ôóíêöèÿ");
    new mes[256];
  PlayerGoverments[playerid][0] = "---";
    PlayerGoverments[playerid][1] = "---";
    PlayerGoverments[playerid][2] = "---";
    pTemp[playerid][PlayerGovermentList] = 0;
    strcat(mes, ""W"Ãîñóäàðñòâåííàÿ íîâîñòü:\n\n");
    strcat(mes, "1. ---\n");
    strcat(mes, "2. ---\n");
    strcat(mes, "3. ---\n\n");
    strcat(mes, "\t\t\t{FF0000}ÂÍÈÌÀÍÈÅ!"W"\n"W"Åñëè âû õîòèòå ïîäàòü íîâîñòü ñîñòîÿùóþ èç îäíîé ñòðîêè\nÂîñïîëüçóéòåñü êîìàíäîé {FF4500}/gnewss\n\n{FAE54B}- Ââåäè ïåðâóþ ñòðîêó íîâîñòè:");
    SetPVarInt(playerid, "GNEWS", gettime() + 600);
    ShowPlayerDialog(playerid, dGovNews, DIALOG_STYLE_INPUT, "Èçäàíèå íîâîñòè", mes, "Äàëüøå", "Îòìåíà");
    return 1;
}
=) Дата: Суббота, 04.06.2016, 18:49 | Сообщение # 2
Боец
Сообщений: 271
Статус: Offline
Код
stock gosfrak(playerid)
{
    switch(pData[playerid][pFaction])
    {
        case номер,номер2,номер3 и тд:  return 1;
    }
    return 0;
}

В команды вставляй код: if(!gosfrak[playerid]) return 1;

Где номер, номер 2 и тд выставляй номера фракции.


Сообщение отредактировал =) - Суббота, 04.06.2016, 18:50
[CM]Wildman Дата: Воскресенье, 05.06.2016, 18:26 | Сообщение # 3
Бывалый
Сообщений: 457
Статус: Offline
if(fraction > 2 && fraction < 8 || fraction >= 15) return SendClientMessage(playerid,CGRAY,"Âàì íå äîñòóïíà ýòà ôóíêöèÿ");
у тебя в этой строке проблемы, тут логическая ошибка
Cardenas Дата: Среда, 08.06.2016, 16:47 | Сообщение # 4
Любитель
Сообщений: 41
Статус: Offline
Возьми проверку с [color=red]uninvite/invite и всё.[/color]

asd
Wjik Дата: Среда, 08.06.2016, 22:00 | Сообщение # 5
Любитель
Сообщений: 40
Статус: Offline
Код
if(fraction > 2 || fraction < 8 || fraction >= 15) return SendClientMessage(playerid,CGRAY,"Âàì íå äîñòóïíà ýòà ôóíêöèÿ");


попробуй так


Wj1ch4r4
  • Страница 1 из 1
  • 1
Поиск: