31 posts in this topic

DEST
Maintainer

Сабж. 

Ко всем 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;
}

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

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

 

Share this post


Link to post
Share on other sites
Только что, DEST сказал:

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

public OnPlayerConnect(playerid)
{

1 минуту назад, 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;
}

 

Share this post


Link to post
Share on other sites

@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 , создано

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

Share this post


Link to post
Share on other sites
25 минут назад, DEST сказал:

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
DEST
Maintainer

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

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

Share this post


Link to post
Share on other sites
Nekit_Krut18
𝒷𝓇𝒾𝑔𝒶𝒹𝒶 𝑜𝓃𝑒 𝓁𝑜𝓋𝑒

@DEST Вы даработали?

Share this post


Link to post
Share on other sites
YaroslavMadi
Новичок

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

Share this post


Link to post
Share on other sites
Дима Нисанский
Новичок

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

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

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

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

Share this post


Link to post
Share on other sites
checke7
Mapper
В 25.10.2018 в 21:39, VladiXer Play сказал:

Как его включить в игре?

 

/firstperson

Share this post


Link to post
Share on other sites
Clement Dev
Новичок

Вроде норм, надо посмотреть еще :$

 

Даю тебе огромный +

Share this post


Link to post
Share on other sites
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.
 

Share this post


Link to post
Share on other sites
Nekit_Krut18
𝒷𝓇𝒾𝑔𝒶𝒹𝒶 𝑜𝓃𝑒 𝓁𝑜𝓋𝑒

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

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

Share this post


Link to post
Share on other sites
IgromanGTX
Новичок
51 минуту назад, Nekit_Krut18 сказал:

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

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

+

Share this post


Link to post
Share on other sites
IgromanGTX
Новичок
В 16.06.2020 в 01:14, DEST сказал:

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

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

Edited by IgromanGTX

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • crearot
      By crearot
      Мы ищем талантливого 3D-моделлера в команду.  Гибкий график, опытный коллектив.
      Что мы предлагаем:
      — Конкурентоспособную и стабильную заработную плату;
      — Гибкий график и возможность работать удаленно;
      — Работа в окружении специалистов, готовых способствовать развитию ваших навыков;
      — Перспективы карьерного и профессионального роста.
      От вас требуется:
      — Опыт владением 3ds Max и Blender для моделирования и текстурирования;
      — Работа по референсам;
      — Опыт создания интерьеров и экстерьеров;
      — Наличие портфолио.
      — Работа с текстурами (архивы (сборка, пересборка), добавление текстур, создание архивов под разные видеоускорители(PVR, DXT, ETC))
      — Работа с архивами моделей (.img образы) для добавления моделей и пересборки
      — Моделирование карты, работа по т/з для создания ландшафта на карте и т.д


      Отправьте резюме: → https://forms.gle/Trn4vjMEi58EDybv6
    • Axel myself
      By Axel myself
       
      C:\Users\User\Desktop\Adamand Role Play Original\gamemodes\Adamand037.pwn(25676) : error 017: undefined symbol "Geo_GetCountry2"
      C:\Users\User\Desktop\Adamand Role Play Original\gamemodes\Adamand037.pwn(81191) : error 017: undefined symbol "Geo_GetCountry2"
      Pawn compiler 3.2.3664              Copyright (c) 1997-2017, ITB CompuPhase

      2 Errors.


      Помогите пожалуйста с проблемой, ничего нового не добавлял, сам 50/50 разбираюсь в павно) но посмотрев на глаз особо ничего ошибочного не попалось
      Буду благодарен.