- Регистрация
- 11 Мар 2013
- Сообщения
- 111
- Лучшие ответы
- 0
- Репутация
- 22
Написание FS
Всем привет, я вернулся и мой знакомый спрасил у меня Как сделтать FS(filterscript).
Ну вот я решил ответить на этот вопрос, если не помог, то уж извините, особо умные на***, пожалуйста.
Не выставился префикс, поставте пожалуйста
//-------------------------------------------Begin---------------------------------------------------------------\\
1) Оставим только основное.
#include <a_samp>
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#endif
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#endif
Теперь разберём всё что мы оставили.
#include <a_samp> - это объявление основных функций мода.
#if defined FILTERSCRIPT - Это макрос о FILTERSCRIPT
public OnFilterScriptInit-Это то, что происходит при включение FS.
public OnFilterScriptExit()-Это то, что происходит при выключении FS.
print-Это такая штука, чтобы в чёрном окошечке, какой-то текст появлялся.
#endif - Конец FS
2.Продолжим создание.
Перед
PHP:
public OnFilterScriptInit()
PHP:
#define FILTERSCRIPT
Мы напишим простую команду "/me". Для RP серверов пригодится.
Для этого создайте перед
PHP:
public OnFilterScriptExit(
public OnPlayerCommandText(playerid, cmdtext[])
{
return 1;
}
{
return 1;
}
if(strcmp(cmd, "/me", true) == 0)
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы не вошли!");
if(PlayerInfo[playerid][pMuted] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "В данный момент Вы не можете использовать это");
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_GREY, "Используйте: /me [действие]");
format(string, sizeof(string), "%s %s", sendername, result);
ProxDetector(30.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF);
SetPlayerChatBubble(playerid,result,0xDD90FFFF,30.0,10000);
}
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы не вошли!");
if(PlayerInfo[playerid][pMuted] == 1) return SendClientMessage(playerid, COLOR_LIGHTRED, "В данный момент Вы не можете использовать это");
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_GREY, "Используйте: /me [действие]");
format(string, sizeof(string), "%s %s", sendername, result);
ProxDetector(30.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF);
SetPlayerChatBubble(playerid,result,0xDD90FFFF,30.0,10000);
}
И в самый конец, после всех пабликов, вставте
PHP:
#endif
Последнее редактирование: