Aurum

Создание пикапа входа/выхода #2

В теме 17 сообщений

Здравствуйте, уважаемые пользователи форума Pawno-rus.

Видел в уроках тему, заголовок которой гласит следующее: "Создание пикапа". 

Отозвались люди ( в том числе и я ) довольно негативно к данному уроку.

Я решил сделать идентичную тему, но с созданием пикапов входа/выхода.

 

Начнем-же...

 

Открываем наш мод и добавляем новую переменную. ( global )

// Ко всем new ( global ).
new vxod[2]

Возможно, у кого-то возникнет вопрос, зачем создал массив?

Ответ прост. Мы ведь хотим сделать телепорт в интерьер и обратно :o

 

Продолжим.

Ищем следующую строку:

public OnGameModeInit

Вставляем после первой скобки следующее

vxod[0] = CreatePickup(1318, 23, x,y,z,0);
vxod[1] = CreatePickup(1318, 23, x,y,z,0);

Давайте разбираться, что к чему

vxod[0] / vxod[1] - Название пикапа, или присваивание переменной функции CreatePickup.

CreatePickup - Соответственно сама функция создания пикапа.

1318 - Первый параметр функции или id пикапа. Данный id - Белая стрелка вниз.

23 - Тип пикапа. В данном случае - Взятие пикапа без пропадания.

x,y,z - Координаты нахождения пикапа. ( Дабы их узнать, в игре становимся к месту, где ходите поставить пикап и прописываете команду /save. Ваши координаты будут находится тут: Документы\GTA San Andreas User Files\CR-MP\GenerationC\saveposition ).

0 - Последний параметр функции. ID виртуального мира. По умолчанию - 0.

 

Таак-с... Пол дела сделано.

 

Теперь идем в:..

public OnPlayerPickUpPickup

И после первой скобки вставляем следующий код:

if(pickupid == vxod[0])
{
	SetPlayerPos(playerid,x,y,z);
	SetPlayerFacingAngle(playerid,УГОЛ);        // ТЕЛЕПОРТ В ИНТЕРЬЕР
	SetPlayerInterior(playerid,1);
}
if(pickupid == vxod[1])
{
	SetPlayerPos(playerid,x,y,z);
	SetPlayerFacingAngle(playerid,УГОЛ);        // ТЕЛЕПОРТ ВО ДВОР ( УЛИЦА )
	SetPlayerInterior(playerid,0);
}

Разбираемся, друзья.

if... Проверка на то, что игрок встал на пикап.

SetPlayerPos - Установка координат местоположения игрока. (xyz - координаты).

SetPlayerFacingAngle - Угол игрока. ( Найдете в saveposition.txt )

SetPlayerInterior - ID интерьера. Не трогать!!.

 

На этом все.

Автор урока - Aurum ( Я самый ).

Удачной компиляции без ошибок Вам, друзья B|

P/S Надеюсь меня не будут критиковать :/

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

3

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


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

new vxod[2];

0

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

2.9. Весь код необходимо брать под тег "код". Как это делать вы можете посмотреть в разделе: "Дополнительно -> FAQ".

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


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, Maks_Badanov сказал:

new vxod[2];

Простите.. Да.. Спешил

1

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


Ссылка на сообщение
Поделиться на другие сайты
@Aurum 
if(pickupid == vxod[0])
{
	SetPlayerPos(playerid,x,y,z);
	SetPlayerFacingAngle(playerid,УГОЛ);        // ТЕЛЕПОРТ В ИНТЕРЬЕР
	SetPlayerInterior(playerid,1); Нужно изменить на SetPlayerInterior(playerid,0)

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

0

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

2.9. Весь код необходимо брать под тег "код". Как это делать вы можете посмотреть в разделе: "Дополнительно -> FAQ".

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


Ссылка на сообщение
Поделиться на другие сайты
Только что, Maks_Badanov сказал:
@Aurum 
if(pickupid == vxod[0])
{
	SetPlayerPos(playerid,x,y,z);
	SetPlayerFacingAngle(playerid,УГОЛ);        // ТЕЛЕПОРТ В ИНТЕРЬЕР
	SetPlayerInterior(playerid,1); Нужно изменить на SetPlayerInterior(playerid,)

Прошу прощения. Я думал об этом но ступил :/

0

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


Ссылка на сообщение
Поделиться на другие сайты
SetPlayerInterior(playerid,0)*
0

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

2.9. Весь код необходимо брать под тег "код". Как это делать вы можете посмотреть в разделе: "Дополнительно -> FAQ".

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


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

:D проше сразу все пикапы входа через массив делать (если надо могу скинуть сюда код пример) 

0

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


Ссылка на сообщение
Поделиться на другие сайты
@MuhammadPawn Скидывайте :)
0

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


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

@Maks_Badanov думаю завтра скину (если время будет) 

0

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

Устно: Оффтоп Кидайте сразу все что надо, не надо писать лишнее!

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


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

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Готовые решения"

Перемещена в: "Скриптинг PAWN > Уроки"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Скриптинг PAWN > Уроки", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

0

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


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

 

Я Всё сделал как на на форуме но у меня выдаёт такую ошибку недопустимы токен и пытался ставить ко всем new но выбивало ошибку ниже new vxod[2] 

Помогите решить проблему с меня + Обязательно 

Спойлер

bandicam 2019-02-05 13-46-57-211.jpgbandicam 2019-02-05 13-27-41-651.jpg

0

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


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

@Guska Скинь строку 1004

0

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


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

Эта ошибка поевляется там куда ты поставил new vxod[2] после этих знаком в нижней сстроке появляется ошибка а именно после этих new vxod не пойму в чём проблема когда удаляешь new vxod[w2] ощибки нету

 

Спойлер
adminspec_strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}

 

 

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

0

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


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

@Guska А где именно выдает ошибку?

0

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


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

@Guska 

stock adminspec_strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}

 

0

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


Ссылка на сообщение
Поделиться на другие сайты
vxod = CreatePickup(1318, 23, x,y,z,0);
CreatePickup(1318, 23, x,y,z,0);
if(pickupid == vxod)
{
	SetPlayerPos(playerid,x,y,z);
	SetPlayerFacingAngle(playerid,УГОЛ);        // ТЕЛЕПОРТ В ИНТЕРЬЕР
	SetPlayerInterior(playerid,1);
}
if(pickupid == vxod+1)
{
	SetPlayerPos(playerid,x,y,z);
	SetPlayerFacingAngle(playerid,УГОЛ);        // ТЕЛЕПОРТ ВО ДВОР ( УЛИЦА )
	SetPlayerInterior(playerid,0);
}

 

0

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


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

Помогите решить ошибки. плизз

Безымянный.png

0

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


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

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

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

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

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


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

Войти

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


Войти

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

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

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

    • Andrew Faw
      От Andrew Faw
      Помогите.Пытался вырезать с других модов не получилось.Кто нибудь напишите/найдите.Пишите в комментарии.
    • ErikGlorious
      От ErikGlorious
      Искал я систему промокодов, вырезал из других модов, так и не получилось, всё они были не для моего мода, помогите найти/написать скрипт со стандартными функциями (mysql, dc_cmd, zcmd)
    • Shakoladka
      От Shakoladka
      Доброго времени суток!
      Хочу вам по рекомендовать хороший хостинг игровых серверов SAMP и CRMP.
      Данный хостинг не давно открылся, так что аудетория хостинга пока что маленькая.
      На хостинге: Низкий пинг сервера, отзывчивая грамотная администрация.
      Тарифы:
      Пожалуйста, войдите или зарегистрируйтесь, чтобы увидеть spoiler.
       
      Хостинг только начался развиваться, так что, строго будьте добры не судить!
       
      Дата открытия хостинга: 11.10.2017
       
      Сайт: Пожалуйста, войдите или зарегистрируйтесь, чтобы увидеть link.

      Группа ВКонтакте: Пожалуйста, войдите или зарегистрируйтесь, чтобы увидеть link.