DEST

Как написать / создать свой FilterScript (ФильтрСкрипт).

В теме 7 сообщений

Всем привет. Многие задаются вопросам, а как же создавать фильтрскрипте? На самом деле ничего сложного. Создаем чистый .pwn файл. Если создался не чистый, удаляем все из него. 

Добавляем в начало: 

#include <a_samp>
  
public OnFilterScriptInit()
{
  	//данный участок кода будет вызываться при загрузке скрипта, например выведем в консоль: "Скрипт загружен успешно".
  	print("Скрипт загружен успешно!");
  	return true;
}

public OnFilterScriptExit()
{
  	//данный участок кода будет вызываться при выгрузке скрипта, например выведем в консоль: "Скрипт выгружен успешно".
  	print("Скрипт выгружен успешно!");
  	return true;
}

В принципе, тело нашего скрипта уже готово. Далее вы можете дописывать паблики в которых будете проделывать свои делишки. Например, мы при заходе игроку в OnPlayerConnect выведем приветствие. 

public OnPlayerConnect(playerid)
{
    static const fmt_str[] = "Привет, %s! Добро пожаловать на наш сервер!";
    new str[sizeof(fmt_str)+MAX_PLAYER_NAME], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME];
    format(str, sizeof(str), fmt_str, name);
    SendClientMessage(playerid, -1, str);
    return true;
}

Ну вот, в принципе и все. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ПЖ подкажите как написать скрипт мп

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@PahanKing тут лишь даны ознакомительные материалы о самом процессе создания скрипта. А код скрипта нужно писать уже самому. Поищите на форуме в разделе скрипты, скрипт МП точно есть. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST Я видел скрипты Мероприятий, но хочу сам написать. Спасибо за подсказку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, PahanKing сказал:

@DEST Я видел скрипты Мероприятий, но хочу сам написать. Спасибо за подсказку.

Зачем его писать если он уже есть?

Можно взять его и сделать под себя и вставить в мод.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожалуйста как написать скрипт на фаст коннект.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Desger , скорее всего никак, т.к. это фильтрскрипт для сервера, то есть не для сборки самп. Подробнее, как писать скрипты для сампа вы можете ознакомиться тут - *клацни* (не реклама)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Triple Kinzsize
      arizona ko-rista
      Скачать файл arizona mod ko-rista
      Добавил Triple Kinzsize Добавлено 19.12.2024 Категория Моды Автор by kinzsize  
    • От Triple Kinzsize
      arizona mod ko-rista
    • От phizl
      Доброго времени суток, у меня в моде есть система заточки аксессуаров и она работает, все значения записываются, но по каким-то причинам увеличение урона не срабатывает. У меня есть инклуд weapon-config, до этого в нём не было перехвата функции, я его сделал и по идее дефолтные паблики OnPlayerGiveDamage и OnPlayerTakeDamage щас срабатывают. Буду очень благодарен любой помощи! (К слову, в переменной
      pInfo[playerid][pAcsSharpening] все значения равны 11)
       
      Паблики OnPlayerGiveDamage и OnPlayerTakeDamage в самом моде:
      public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {     new damage;     switch(pInfo[playerid][pAcsSharpening][2])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     switch(pInfo[playerid][pAcsSharpening][3])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     return 1; } public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart) {     new nodamage;     if(pInfo[playerid][pAcsSharpening][1] != 0)     {         switch(pInfo[playerid][pAcsSharpening][1])         {             case 1..3: nodamage = 0;             case 4: nodamage = 2;             case 5: nodamage = 4;             case 6: nodamage = 5;             case 7: nodamage = 6;             case 8: nodamage = 8;             case 9: nodamage = 10;             case 10: nodamage = 12;             case 11,12: nodamage = 15;         }     }     if(pInfo[playerid][pAcsSharpening][4] != 0)     {         switch(pInfo[playerid][pAcsSharpening][4])         {             case 1..3: nodamage = 0;             case 4..11: nodamage = pInfo[playerid][pAcsSharpening][4]-2;             case 12: nodamage = 9;         }     }     new damage;     switch(pInfo[playerid][pAcsSharpening][2])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     switch(pInfo[playerid][pAcsSharpening][3])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     if(pInfo[playerid][pAcsSharpening][1] == 0 && pInfo[playerid][pAcsSharpening][4] == 1 || pInfo[playerid][pAcsSharpening][4] == 0 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100) * nodamage;     if(pInfo[playerid][pAcsSharpening][4] == 1 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100)*nodamage*2;     return 1; }  
      Эти же паблики, но в weapon-config с моим перехватом (расположен внизу каждого паблика), мало ли как-то не так сделал