PAWNO это программа компилируящая pwn (изменяемый файл будующего скрипта) в amx (сам скрипт) и для изменения первого. Открыв какойнибудь скрипт мы видим множество надписей и цыферок. Разберем что же они означают. Откроем new.pwn. Начнем разбирать самое простое.
Code
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;
}
{
print("GameModeInit()");
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); return 1;
}
{ и } это скобочки открытия/закрытия. Тоесть "{" Это начало дейстия, а "}" конец действия.
Code
printf("GameModeInit()")
это сообщение на сам сервер
Code
SetGameModeText("Blank Script")
это установка название нашего режима.
Code
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Это добавление спавна ака скина. первый 0 это ID скина, следующие 4 числа это координаты, остальные 6 нулей это оружие и их патроны.
Code
return 1;
- это конец кода
Code
public OnGameModeInit()
это паблик в котором содержится все вышеперечисленное, их мы пока трогать не будем.
Каждый паблик выполняет свою задачу, можно создавать свои паблики и сувать туда определенные действия и сделать чтобы они выполнялись в нужный момент. Это сложновато, поэтому небудем пока об этом. Можно задавать определенные действия например при конекте, спавне.
Теперь найдем
Code
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 это цвет текста
{
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 это цвет текста
Далее ищем вверху синий треугольник и жмем на него. Должна произойти компиляция и появится текст:
если надпись отличается то есть какието ошибки, в этой надписи будет указано в каких именно строчках есть таковые. Ну про это тоже позже. Дальше, заходим в папку с сервером и открываем server.CFG и меняем там строчку(и) gamemode0(или другие числа) на gamemode0(если другие числа то строчку можно удалить она нам не понадобится) new 1 и врубаем samp-server.exe.
Дальше идем в папку сан андреаса и открываемsamp_debug.exeи там жмем connect lokalhost и мы заходим на сервер и проверяем скрипт. Если все сделано верно то после смерти (можно написать /kill) мы увиим надпись в чате "Вы умерли" (бес скобок) жолтого цвета то все сделано верно, еслиже нет то внимательно проверьте скрипт.