Гайд [Урок] №4 Создание радномого спавна

Тема в разделе "PAWN", создана пользователем LONG, 11 ноя 2014.

Статус темы:
Закрыта.
  1. LONG

    LONG Пользователь

    Регистрация:
    29.10.2014
    Сообщения:
    20
    Симпатии:
    11
    Репутация:
    5
    1. Открываем "pawno.exe"​
    2. Жмём на кнопку:​
    [​IMG]
    В открывшемся окне выбираем файл из папки "gamemode"​
    Если у вас появился код который мы писали в прошлом уроке то всё верно.​
    3. Скачиваем инклуд: тык
    Кидаем его в папку с сервером в папку "include"​
    4. Заходим в pawno​
    И в начале мода где #include <a_samp>​
    Пишем:​
    #include "../include/spawns"
    Должно получится так:​
    #include <a_samp>
    #include "../include/spawns"
    5. Ищем public OnPlayerSpawn(playerid)​
    И пишем туда:​
        new r = random(sizeof(Spawns));
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, Spawns[r][0],Spawns[r][1],Spawns[r][2]);
        SetPlayerFacingAngle(playerid, Spawns[r][3]);
    Должно получится так:
    public OnPlayerSpawn(playerid)
    {
        new r = random(sizeof(Spawns));
        SetPlayerVirtualWorld(playerid, 0);
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, Spawns[r][0],Spawns[r][1],Spawns[r][2]);
        SetPlayerFacingAngle(playerid, Spawns[r][3]);
        return 1;
    }
    Вот и всё теперь компилируем и закрываем pawno, заходим на сервер и радуемся.
     
    migzi нравится это.
  2. Darge

    Darge Пользователь

    Регистрация:
    02.05.2015
    Сообщения:
    7
    Симпатии:
    0
    Репутация:
    0
    Зачем нас использовать переменную, когда можно обойтись и без нее.
    SetPlayerPos(playerid, Spawns[random(sizeof(Spawns))][0],Spawns[random(sizeof(Spawns))][1],Spawns[random(sizeof(Spawns))][2]);
    SetPlayerFacingAngle(playerid, Spawns[random(sizeof(Spawns))][3]);
    Вот кому хочется лишние 4 байта тратить попросту :D
     
  3. Morj

    Morj Активный пользователь

    Регистрация:
    19.01.2015
    Сообщения:
    44
    Симпатии:
    2
    Репутация:
    0
    А не проще так?

    В OnPlayerSpawn:
        switch(random(3))
        {
            case 0:
            {
                SetPlayerPos(playerid, x,y,z);
                SetPlayerFacingAngle(playerid, %f);
                SetPlayerInterior(playerid, %d);
                SetPlayerVirtualWorld(playerid, 0);
            }
            case 1:
            {
                SetPlayerPos(playerid, x,y,z);
                SetPlayerFacingAngle(playerid, %f);
                SetPlayerInterior(playerid, %d);
                SetPlayerVirtualWorld(playerid, 0);
            }
            case 2:
            {
                SetPlayerPos(playerid, x,y,z);
                SetPlayerFacingAngle(playerid, %f);
                SetPlayerInterior(playerid, %d);
                SetPlayerVirtualWorld(playerid, 0);
            }
        }
     
  4. 81x08

    81x08 Пользователь

    Регистрация:
    20.03.2016
    Сообщения:
    12
    Симпатии:
    0
    Репутация:
    0
    Вот кому хочется тратить время на обработку sizeof :)
    Лучше объявить переменную для размера и использовать её 3 раза, чем 3 раза вызывать функцию.
     
Статус темы:
Закрыта.