Spawner превозни средства

Вероятно много от вас знаят за GTA: SA-MP и има някои от вас, които се занимават с програмиране на Pawn. И тъй като Pawn е C-подобен език за програмиране, само че не е въведен и 32-битов, реших да поставя публикацията в центъра: "C" и "C ++"

Всеки от вас е играл GTA San Andreas. И съм готов да се обзаложа, че сте избутали колите, независимо дали е сингълплейър или мултиплейър. И тази публикация е за това как да разрешите този проблем, без да използвате таймери и цикли. Първо ще трябва да създадем глобална променлива, която ще отговаря за координатите на колата:

След това се нуждаем от Callback, който се извиква, когато свободно превозно средство се движи, т.е. ако в него няма играч. Изглежда така:

В него трябва да добавим следния код:

Нека обясним всеки ред:

Създаване на променлива с текущата позиция на превозното средство Получаване на координатите и запис в променливата Условие: Ако текущите координати не съвпадат със запазените Задаване на записаните координати за превозното средство

Анализирахме нашето обратно извикване и то ще изглежда така:

Сега се нуждаем от променливата "VehPos", която да съдържа координатите на превозното средство, в противен случай нашият код по-горе е безполезен. Освен това първоначално координатите ще бъдат записани от кода, с който създаваме колата. За да направите това, отидете до края на нашия мод или скрипт и създайте запас със съответните аргументи:

Обяснете всеки ред:

Създаване на променлива за нашата кола Присвояване на стойности на променливи, които отговарят за координатите Връщане на карта

Сега ще създадем всички машини на нашия сървър с функцията:

За да не се появи колата, при излизане от транспорта ни трябва Callback, койтоизвикан, когато играчът напусна колата, код:

Сега, когато играчът напусне превозното средство, новите координати ще бъдат записани в променливата VehPos. Как ще изглежда целият код: