[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Вопрос-Ответ [АРХИВ]
Дата: 18.04.2011, Понедельник, 17:52:49 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 13
Репутация: -22+
Quote (Steep_Chele)
Вырежи с любого ГФ.

Смысли? Знал бы я в каком месте там вырезать давно бы вырезал, скажите где он там.
Дата: 20.04.2011, Среда, 10:31:38 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 116
Репутация: 0+
Впрямом, сначало вырежи команду /mute(Если у тебя ещё нету её) Потом ставь во все чаты проверки, что бы когда игрок был в муте он не смог писать
Дата: 21.04.2011, Четверг, 18:46:41 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 13
Репутация: -22+
Quote (MrZero)
Впрямом, сначало вырежи команду /mute(Если у тебя ещё нету её) Потом ставь во все чаты проверки, что бы когда игрок был в муте он не смог писать

Как? куда поставить то?

Добавлено (21.04.2011, 18:46:41)
---------------------------------------------
Как сделать что бы когда игрок вводин неверную команду, писало "Не правильная команда" Ну типо этого.

Дата: 21.04.2011, Четверг, 21:04:25 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
Mike_Richards вот тебе команда /mute

в enum pInfo добавим следующее

Code
pMuted,
pMuteTime,

потом вроде на до добавить вpublic SetPlayerUnjail()

Code
  if(PlayerInfo[i][pMuted] > 0)
       {
     if(PlayerInfo[i][pMuteTime] > 0)
     {
      PlayerInfo[i][pMuteTime]--;
     }
     if(PlayerInfo[i][pMuteTime] <= 0)
     {
         PlayerInfo[i][pMuted] = 0;
         SendClientMessage(i, COLOR_GRAD1,"   Ваш бан чата снят старайтесь больше не нарушать.");
         new sendernames[MAX_PLAYER_NAME];
         GetPlayerName(i, sendernames, sizeof(sendernames));
         if(gPlayerLogged[i] == 1)
      {
          format(string, sizeof(string), "Название вашего Сервера : %s снята молчанка.",sendernames);
       BroadCast(COLOR_WHITE,string);
       PlayerInfo[i][pMuted] = 0;
      }
     }
    }

потом вpublic OnPlayerRegister(playerid, password[]) добавим
Code
    format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);

дальше в public GF_OnPlayerUpdate(playerid) добавим
Code
format(var, 32, "Muted=%d\n",PlayerInfo[playerid][pMuted]);fwrite(hFile, var);

потом в public OnPlayerLogin(playerid,password[]) добавим

Code
if( strcmp( key , "Muted" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuted] = strval( val ); }

дальше ищем if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0) и добовляем следующее

Code
    if(PlayerInfo[playerid][pMuted] == 1)
    {
     SendClientMessage(playerid, TEAM_CYAN_COLOR, "   Вы не можете говорить, вас заткнули !");
     return 1;
    }

дальше ищем if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0) и добовлям

Code
if(PlayerInfo[playerid][pMuted] == 1)
    {
     SendClientMessage(playerid, TEAM_CYAN_COLOR, "У вас бан чата");
     return 1;
    }

ищим if(strcmp(cmd, "/departments", true) == 0 || strcmp(cmd, "/d", true) == 0) и добовлям следующее

Code
if(PlayerInfo[playerid][pMuted] == 1)
    {
     SendClientMessage(playerid, TEAM_CYAN_COLOR, " Вы не можете говорить, вас заткнули !");
     return 1;
    }

потом если есть pm то ищим следующееif(strcmp(cmd, "/pm", true) == 0 || strcmp(cmd, "/w", true) == 0) и добовляем
Code
  if(PlayerInfo[playerid][pMuted] == 1)
     {
      SendClientMessage(playerid, COLOR_RED, " Вы не можете говорить, у вас молчанка !");
      return 1;
     }

и вот сама команда добовляй туда где команды находятся CRAZY

Code
if(strcmp(cmd, "/mute", true) == 0)
  {
   if(IsPlayerConnected(playerid))
   {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
     SendClientMessage(playerid, COLOR_GRAD2, "*Используйте: /mute [id игрока/часть ника] [время(минуты)] [причина]");
     return 1;
    }
    new playa;
    new money;
    playa = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    money = strval(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 10)
    {
     if(IsPlayerConnected(playa))
     {
      if(playa != INVALID_PLAYER_ID)
      {
       GetPlayerName(playa, giveplayer, sizeof(giveplayer));
       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, "*Используйте: /mute [id игрока/часть ника] [время(минуты)] [причина]");
        return 1;
       }
       printf("Администрация: %s заткнул %s",sendername, giveplayer);
       format(string, sizeof(string), "Название вашего Сервера : %s получил молчанку на %d минут от админа %s, причина: %s",giveplayer, money ,sendername, (result));
       BroadCast(COLOR_LIGHTRED,string);
       PlayerInfo[playa][pMuteTime] = money*60;
       PlayerInfo[playa][pMuted] = 1;
      }
     }
    }
    else
    {
     SendClientMessage(playerid, COLOR_GRAD1, " Вы не можете использовать эту команду!");
    }
   }
   printf("Использвалась команда %s",cmd);
   return 1;
  }

Вот и все вырезал с перво попавшего мода вроде все правельно можешь пробывать ставить CRAZY
Дата: 23.04.2011, Суббота, 18:18:15 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 144
Репутация: 6+
как запретить оружие в помещениях в самп 0.3б? эта функция не помогает AllowInteriorWeapons(0);

Добавлено (23.04.2011, 18:18:15)
---------------------------------------------
её в public OnGameModeInit() вставлять надо?

Дата: 23.04.2011, Суббота, 18:33:01 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
вот тут читай про эту функцию
http://wiki.sa-mp.com/wiki/AllowInteriorWeapons_RU
Дата: 23.04.2011, Суббота, 18:57:59 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 144
Репутация: 6+
ну вот я так и делаю. всё равно стрелять можно в аммо и в других помещениях. не работает почему то

Добавлено (23.04.2011, 18:57:59)
---------------------------------------------
ой сори. всё увидел
Эта функция удалена и больше не работает в текущей версии SA-MP!

Дата: 23.04.2011, Суббота, 18:59:59 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
пробй так
за место AllowInteriorWeapons(0); в стафь это SetPlayerArmedWeapon(playerid,0);
пробуй
Дата: 23.04.2011, Суббота, 19:05:37 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 144
Репутация: 6+
если вставлять сюда же то выдаёт ошибку error 017: undefined symbol "playerid"
Дата: 23.04.2011, Суббота, 20:19:13 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
попробуй так SetPlayerArmedWeapon(0);
хотя в роде токо на 0.3а видел такое на других версиях не видел
Дата: 23.04.2011, Суббота, 20:26:38 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 144
Репутация: 6+
идёт warning 202: number of arguments does not match definition и всё так же ничего не изменилось
Дата: 24.04.2011, Воскресенье, 14:37:18 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 11
Репутация: 0+
помогите, пожалуйста!
беда... После регистрации персонаж должен спавниться около аэропорта, а он вместо этого летит с неба и падает-падает-падает...
Дата: 24.04.2011, Воскресенье, 14:54:57 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
поменяй место спавна новечка после регистрации
Дата: 24.04.2011, Воскресенье, 23:28:46 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 13
Репутация: -22+
Как настроить время на сервере?
Дата: 25.04.2011, Понедельник, 15:05:45 | Сообщение # $NUMBER
Группа: Гл. Модераторы
Сообщений: 220
Репутация: 253+
FFFUUU
ищи строку
timeconvert(Time, &Minutes, &Seconds, &MSeconds)

и добафь туда или за мени на это

Code
timeconvert(Time, &Minutes, &Seconds, &MSeconds)
{
  new Float:fTime = floatdiv(Time, 60000);
     Minutes = floatround(fTime, floatround_tozero);
     Seconds = floatround(floatmul(fTime - Minutes, 60), floatround_tozero);
     MSeconds = floatround(floatmul(floatmul(fTime - Minutes, 60) - Seconds, 1000), floatround_tozero);
}

Добавлено (25.04.2011, 15:05:45)
---------------------------------------------

Quote (Mike_Richards)
Как сделать что бы когда игрок вводин неверную команду, писало "Не правильная команда" Ну типо этого.

Вpublic OnPlayerCommandText(playerid, cmdtext[])
в самый конец добафь
Code
SendClientMessage(playerid,COLOR_WHITE,"SERVER: Неизвестная команда");

и при вводе команды которой нет в моде будет выдовать сообщениее SERVER: Неизвестная команда
Поиск: