В теме 31 сообщение

Сабж. 

Ко всем new: 

new FirstPerson[MAX_PLAYERS], 
    bool:switch_fp[MAX_PLAYERS];

В OnPlayerConnect <ИЛИ> в OnPlayerDisconnect:

switch_fp[playerid] = false;

В конец <ИЛИ> начало мода <ИЛИ> ко всем стокам:
 

stock ChangeView(playerid, oldstate, newstate)
{
    new Float: X[3], Float: Y[3], Float: Z[3];
    if(GetPlayerVehicleID(playerid) > 0)
    {
        GetVehicleModelInfo(GetVehicleModel(GetPlayerVehicleID(playerid)), 1, X[0], Y[0], Z[0]);
        GetVehicleModelInfo(GetVehicleModel(GetPlayerVehicleID(playerid)), 2, X[1], Y[1], Z[1]);
        GetVehicleModelInfo(GetVehicleModel(GetPlayerVehicleID(playerid)), 3, X[2], Y[2], Z[2]);
    }
    if(oldstate == newstate) AttachCameraToObject(playerid, FirstPerson[playerid]);
    switch(newstate)
    {
        case 1: AttachObjectToPlayer(FirstPerson[playerid], playerid, 0.0, 0.13, 0.65, 0, 0, 0), AttachCameraToObject(playerid, FirstPerson[playerid]);
        case 2, 3:
        {
            switch(GetPlayerVehicleSeat(playerid))
            {
                case 0: { X[1] -= (X[0] / 2.43), Y[1] -= 0.1, Z[1] += 0.6; AttachObjectToVehicle(FirstPerson[playerid], GetPlayerVehicleID(playerid), X[1], Y[1], Z[1], 0, 0, 0); }
                case 1: { X[1] += 0.0, Y[1] -= 0.1, Z[1] += 0.55; AttachObjectToVehicle(FirstPerson[playerid], GetPlayerVehicleID(playerid), X[1], Y[1], Z[1], 0, 0, 0); }
                case 2: { X[2] -= (X[0] / 2.43), Y[2] += 0.0, Z[2] += 0.6; AttachObjectToVehicle(FirstPerson[playerid], GetPlayerVehicleID(playerid), X[2], Y[2], Z[2], 0, 0, 0); }
                case 3: { X[2] += 0.0, Y[2] += 0.0, Z[2] += 0.55; AttachObjectToVehicle(FirstPerson[playerid], GetPlayerVehicleID(playerid), X[2], Y[2], Z[2], 0, 0, 0); }
                default:
                {
                    switch(GetPlayerVehicleSeat(playerid))
                    {
                        case 0: AttachObjectToVehicle(FirstPerson[playerid], GetPlayerVehicleID(playerid), X[1], Y[1] + 0.45, Z[1] + 0.6, 0, 0, 0);
                        case 1: AttachObjectToVehicle(FirstPerson[playerid], GetPlayerVehicleID(playerid), X[2], Y[2] + 0.4, Z[2] + 0.5, 0, 0, 0);
                    }
                }
            }
            AttachCameraToObject(playerid, FirstPerson[playerid]);
        }
    }
    return 0;
}

Команда на ZCMD / DC_CMD:

CMD:firstperson(playerid, params[])
{
    if(!IsPlayerConnected(playerid)) return 1;
    switch(switch_fp[playerid])
    {
        case false:
        {
            switch_fp[playerid] = true, SendClientMessage(playerid, -1, "Ты включил вид от первого лица");
            FirstPerson[playerid] = CreateObject(19300, 0, 0, 0, 0, 0, 0);
            ChangeView(playerid, 0, GetPlayerState(playerid));
        }
        case true: switch_fp[playerid] = false, SetCameraBehindPlayer(playerid), SendClientMessage(playerid, -1, "Ты выключил вид от первого лица");
    }
    return 1;
}

Команда на стандартном движке, пихать в OnPlayerCommandText:

if(strcmp(cmd, "/firstperson", true) == 0)
{
    if(!IsPlayerConnected(playerid)) return 1;
    switch(switch_fp[playerid])
    {
        case false:
        {
            switch_fp[playerid] = true, SendClientMessage(playerid, -1, "Ты включил вид от первого лица");
            FirstPerson[playerid] = CreateObject(19300, 0, 0, 0, 0, 0, 0);
            ChangeView(playerid, 0, GetPlayerState(playerid));
        }
        case true: switch_fp[playerid] = false, SetCameraBehindPlayer(playerid), SendClientMessage(playerid, -1, "Ты выключил вид от первого лица");
    }
    return 1;
}

Автор: неизвестен.
Автор доработки и оптимизации: РЕТРО 

Есть вопрос? Задай его в комментарии к этой теме!

 

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


Ссылка на сообщение
Поделиться на другие сайты
  В 10/22/2017 в 16:54, DEST сказал:

@HAPKOMAH где эта строка находится, куда вставил? 

Читать далее...  

public OnPlayerConnect(playerid)
{

  В 10/22/2017 в 16:54, DEST сказал:

@HAPKOMAH где эта строка находится, куда вставил? 

Читать далее...  

Вот весь паблик:

public OnPlayerConnect(playerid)
{
    if(playerid == INVALID_PLAYER_ID || gamemodeloaded != 1) return Kick(playerid);
    SetPlayerDataToDefault(playerid);
    GetPlayerIp(playerid, pInfo[playerid][pIP], 16);
    GetPlayerName(playerid, pInfo[playerid][pName], MAX_PLAYER_NAME);
    DelObjects(playerid);
    //mysql_real_escape_string(pInfo[playerid][pName], pInfo[playerid][pName]);
    if(gSlotUsed[playerid] && GetString(playersIP[playerid], pInfo[playerid][pIP])) return Ban(playerid);
    GetPlayerIp(playerid, playersIP[playerid], 16);
    gSlotUsed[playerid] = true;
 	if(IsLoginInvalid(GetName(playerid)))
	{
	    SendClientMessage(playerid, COLOR_RED, "Âàøå èìÿ ñîäåðæèò çàïðåùåííûå ñèìâîëû èëè öèôðû, èñïîëüçóéòå èìÿ ôîðìàòà Èìÿ_Ôàìèëèÿ íà àíãëèéñêîì");
		return Kick(playerid);
	}
	ResetPlayerWeaponsEx(playerid);
	CreateTextDraws(playerid);
	SetPVarInt(playerid, "PickupID", -1);
	SetPlayerColor(playerid, COLOR_GREY);
	return 1;
}
	switch_fp[playerid] = false;
}

 

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


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

@DEST

 Тьфу..Не заметил.

Такие вот ошибочки

new.pwn(4981) : warning 209: function "Itter_OnPlayerConnect" should return a value
new.pwn(4982) : error 010: invalid function or declaration
new.pwn(4983) : error 010: invalid function or declaration

А вот паблик:

public OnPlayerConnect(playerid)
{
    if(playerid == INVALID_PLAYER_ID || gamemodeloaded != 1) return Kick(playerid);
    SetPlayerDataToDefault(playerid);
    GetPlayerIp(playerid, pInfo[playerid][pIP], 16);
    GetPlayerName(playerid, pInfo[playerid][pName], MAX_PLAYER_NAME);
    DelObjects(playerid);
    //mysql_real_escape_string(pInfo[playerid][pName], pInfo[playerid][pName]);
    if(gSlotUsed[playerid] && GetString(playersIP[playerid], pInfo[playerid][pIP])) return Ban(playerid);
    GetPlayerIp(playerid, playersIP[playerid], 16);
    gSlotUsed[playerid] = true;
 	if(IsLoginInvalid(GetName(playerid)))
	{
	    SendClientMessage(playerid, COLOR_RED, "Âàøå èìÿ ñîäåðæèò çàïðåùåííûå ñèìâîëû èëè öèôðû, èñïîëüçóéòå èìÿ ôîðìàòà Èìÿ_Ôàìèëèÿ íà àíãëèéñêîì");
		return Kick(playerid);
	}
	ResetPlayerWeaponsEx(playerid);
	CreateTextDraws(playerid);
	SetPVarInt(playerid, "PickupID", -1);
	SetPlayerColor(playerid, COLOR_GREY);
	}
	switch_fp[playerid] = false;
 return 1;
}

 

@DEST

Думаю так понятно

O89eFBJr3ZE.jpg

Заметка от DEST , создано

Строки помечайте, на которые ошибки.

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


Ссылка на сообщение
Поделиться на другие сайты
  В 10/22/2017 в 17:11, DEST сказал:

@HAPKOMAH вставьте switch_fp[playerid] = false; после ResetPlayerWeaponsEx(playerid); 

Читать далее...  

Системка замечательная, но есть недоработки.

Можете помочь сделать:

- Что бы при разгоне на авто не отдалялась;

- Сделано что когда игрок стоит на месте, можно камеру повернуть назад, при этом игрок не двигается ( нужно исправить );

Думаю не только мне будет полезно.

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


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

@HAPKOMAH для машины другая система нужна, эта не подойдет. По позже может быть выложу. 

Насчет второго, то это уже специфика прикрепления камеры к объекту, поэтому, боюсь это никак не исправить. 

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


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

C:\Users\ßðîñëàâ\Desktop\everest rp\gamemodes\new.pwn(32739) : error 017: undefined symbol "ChangeView"

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


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

Спасибо, работает, но есть баг, даже два:
1. Когда едешь на машине то камера колбасится, тоесть едешь и камера за сиденье уходит

2. Когда игрок с видом от перового лица забирается или перелезает через что либо то камера остаётся на позиции висенья на припятствии

3. Когда выходишь из инты то вид становится от 3 лица и когда прописываешь команду то такой-же вид, прийдётся спавнить обратно и выходить без 1 лица

А так всё прикольно и интересно, но лучше доработать

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


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

C:\Users\IgromanGTX\OneDrive\Рабочий стол\НОвое\Netfoll RP\NTF\filterscripts\Wiew1.pwn(88) : error 017: undefined symbol "cmd"
C:\Users\IgromanGTX\OneDrive\Рабочий стол\НОвое\Netfoll RP\NTF\filterscripts\Wiew1.pwn(103) : warning 217: loose indentation
Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
 

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


Ссылка на сообщение
Поделиться на другие сайты
Nekit_Krut18
𝒷𝓇𝒾𝑔𝒶𝒹𝒶 𝑜𝓃𝑒 𝓁𝑜𝓋𝑒

@DEST C:\Users\IgromanGTX\OneDrive\Рабочий стол\НОвое\Netfoll RP\NTF\filterscripts\Wiew1.pwn(88) 

Жень, чекай адрес... Он его скриптом сделал.

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


Ссылка на сообщение
Поделиться на другие сайты
IgromanGTX
Новичок
  В 6/16/2020 в 20:41, Nekit_Krut18 сказал:

@DEST C:\Users\IgromanGTX\OneDrive\Рабочий стол\НОвое\Netfoll RP\NTF\filterscripts\Wiew1.pwn(88) 

Жень, чекай адрес... Он его скриптом сделал.

Читать далее...  

+

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


Ссылка на сообщение
Поделиться на другие сайты
IgromanGTX
Новичок
  В 6/15/2020 в 22:14, DEST сказал:

@IgromanGTX у вас какой командный процессор в моде? Скиньте пример какой-нибудь команды из мода

Читать далее...  

Обычный который павно предлагает 

Отредактировано пользователем IgromanGTX

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


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

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

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

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

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


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

Войти

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


Войти

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

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

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

    • whccompany
      От whccompany
      World Hosting Corporations 
                                                                GTA Game Host 
                                               CRMP PC& Mobile Project 
                                           Rostov Role Play | Rostov RP 
      Друзья, нашему проекту срочно требуется маппер для масштабного маппинга, нам требуется сделать:
      1) Городской маппинг (удалить города и создать новые города, сначало необходимо создать город Ростов-на-Дону ; посёлок Коксовый и село Ряженое, создать используя стоковые фотографии из Яндекса и Гугла)
      2) Фракционный маппинг ( Текстуры + Экстерьер + Интерьер )
      3) Маппинг работ ( Текстуры + Экстерьеры + Интерьеры )
      Бюджет до 60 000 рублей
      Возможно заключение трудового контракта 
      Пишите: ВКонтакте

    • gooding
      От gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

    • gooding
      От gooding


      Скачать файл PAR RP | Уникальный мод без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)  
    • Kalinin
      От Kalinin
      1. Набираю команду для создания CRMP сервера.
      2. Вакансии  которые свободны. Связь через TG @kalinin_sql
      Нам нужны;
      1.Кодеры
      2.Маперы
      3.СММ
      Так-же дружная работа. По поводу зарплаты будем обговаривать все лично в беседе ТГ