Начинаем первый урок. Скриптинг SA-MP происходит в PAWNO. PAWNO это программа компилирующая pwn (изменяемый файл будущего скрипта) в amx (сам скрипт) и для изменения первого. Открыв какой нибудь скрипт мы видим множество надписей и цифр. Разберем что же они означают. Откроем new.pwn. Начнем разбирать самое простое. public OnGameModeInit()
{
print("GameModeInit()");
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1;
}
{ и } это скобочки открытия/закрытия.
printf("GameModeInit()"); это сообщение на сам сервер.
SetGameModeText("Blank Script"); это установка название нашего режима.
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); Это добавление спавна aka скина. Первый 0 это ID скина, следующие 4 числа это координаты, остальные 6 нулей это оружие и их патроны.
return 1; это конец.
public OnGameModeInit() это паблик в котором содержится все вышеперечисленное, их мы пока трогать не будем.
Каждый паблик выполняет свою задачу, можно создавать свои паблики и сувать туда определенные действия и сделать чтобы они выполнялись в нужный момент. Это сложновато, поэтому небудем пока об этом. Можно задавать определенные действия например при конекте, спавне. Найдем
public OnPlayerDeath(playerid, killerid, reason)
{
printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);
return 1;
}
и переделаем на
public OnPlayerDeath(playerid, killerid, reason)
{
SendClientMessage(playerid, 0xFFFF00AA, "Вы погибли");
printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);
return 1;
}
SendClientMessage(playerid, 0xFFFF00AA, "Вы погибли"); сработает как сообщение в чат "Вы погибли" (без кавычек) 0xFFFF00AA это цвет текста.
Далее ищем вверху синий треугольник и жмем на него. Должна произойти компиляция и появится текст:
Pawn compiler 3.0.3367 Copyright © 1997-2005, ITB CompuPhase
если надпись отличается то есть какие то ошибки, в этой надписи будет указано в каких именно строчках есть таковые. Ну про это тоже позже. Дальше, заходим в папку с сервером и открываем server.CFG и меняем там строчку(и) gamemode0(или другие числа) на gamemode0(если другие числа то строчку можно удалить она нам не понадобится) new 1 и врубаем samp-server.exe.
Дальше идем в папку San Andreas и открываем samp_debug.exe и там жмем connect lokalhost и мы заходим на сервер и проверяем скрипт. Если все сделано верно то после смерти (можно написать /kill) мы увидим надпись в чате "Вы умерли" (без скобок) жёлтого цвета то все сделано верно, если же нет то внимательно проверьте скрипт.