Как выбрать скин в самп

Обновлено: 18.05.2024

У меня на сервере samp стоит выбор скина (любого) , но я не хочу чтобы можно выбирать некоторые. Как сделать чтобы при входе был выбор скина (был указанный) или чтобы выбирать среди некоторых?

У меня на сервере samp стоит выбор скина (любого) , но я не хочу чтобы можно выбирать некоторые. Как сделать чтобы при входе НЕ был выбор скина (был указанный) или чтобы выбирать среди некоторых?

У меня свой сервер RPG там можно кого угодно выбрать

НА серверах Rp нельзя выбирать скин только у бомжей прокачайся до 2лвл и будт можно другие

CLEO Skin Changer Для Игроков [ARZ][EVOLVE][DRP][ARP]

Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.

Alt F4
Участник

Скрипт Для Изменения Скинов Игрокам.
Я Думаю Всем Понятно Что Это Такое?
Команда:
SetSkin: /sskin ( ID игрока ) ( Новый ID скина ) ( Постоянный или нет ); /gskin ( ID игрока )
Пример : /sskin 228 228 1
Пример №2 /gskin 228

Тема: Выбор скина стандартным способом


Внимание: если вы новичок, вам скорее всего будет трудновато разобраться, хотя бы потому что вам придется взаимодействовать с уже имеющимися системами в вашем моде, такими как авторизация/регистрация и т.д.. Я вас предупредил.

Я видел очень много систем выбора скинов. В большинстве случаев они основаны на стандартных меню или textdraw. В то же время очень мало людей используют стандартную систему выбора скинов. Естественно, в обоих случаях есть свои плюсы и минусы. Из плюсов можно отметить: не нужно создавать массив со скинами, все реализовано стандартными методами, да и в целом выглядит это гораздо приятней. Но есть и минусы, один из них - нельзя будет предоставить выбор скинов для какой-либо фракции, только для регистрации. В любом случае, использовать эту систему или нет - решать вам. Я был вдохновлен модом Grand Larceny.

И так, преступим.

Для начала вкратце о том, как работает система выбора скинов на многих серверах.

Мы имеем массив, в котором хранится список скинов. Так же есть переменная для перебора элементов массива.

Массив, если его представить визуально - будет выглядеть в виде таблицы.

Соответственно, выглядеть он будет так:

Ключ массива Значение
0 78
1 79
2 137
3 200
4 239

В переменной для перебора массива мы храним ключ.

По умолчанию он равен нулю. Когда игрок нажимает пункт "следующий скин" в меню, переменная skinKey увеличивается на 1. Это называется инкремент.

Соответственно мы можем обратиться к массиву по ключу:


Установим игроку 79 скин. И, если он нажал сохранить - сохраним. Это все в кратце, подробней посмотреть код и узнать как это все работает вы можете, написав в Google "система выбора скина pawn".

Перейдем к нашей системе.


Соответственно, DEFAULT_SPAWN_X это Х координата, Y - Y, Z - Z, а DEFAULT_SPAWN_ANGLE это угол поворота нашего персонажа.

Идем дальше. Если в игре нажать на кнопку F4, после смерти игрок опять перейдет к выбору персонажа. Чтобы этого не случилось, напишем небольшую проверку.

Тут следует оговориться, если у вас уже есть какая-либо переменная, которая проверяет авторизовался игрок или нет - создавать ее не нужно. Так же стоит отметить что в версии SA:MP 0.3.7 константа MAX_PLAYERS по умолчанию равна 1000. Чтобы избежать недоразумений и в последствии и лишней нагрузки на сервер - выполним следующее:

Тем самым мы обновили константу и задали ей значение 50. 50 - это количество слотов на вашем сервере, укажите свое число.

Далее нам необходимо определить, какие скины мы хотим предоставить игроку на выбор. Для этого мы будем использовать так называемые "классы персонажа".

В OnGameModeInit() добавьте:

AddPlayerClass ( 14 , DEFAULT_SPAWN_X , DEFAULT_SPAWN_Y , DEFAULT_SPAWN_Z , DEFAULT_SPAWN_ANGLE ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 );
AddPlayerClass ( 15 , DEFAULT_SPAWN_X , DEFAULT_SPAWN_Y , DEFAULT_SPAWN_Z , DEFAULT_SPAWN_ANGLE ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 );
AddPlayerClass ( 101 , DEFAULT_SPAWN_X , DEFAULT_SPAWN_Y , DEFAULT_SPAWN_Z , DEFAULT_SPAWN_ANGLE ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 );
AddPlayerClass ( 183 , DEFAULT_SPAWN_X , DEFAULT_SPAWN_Y , DEFAULT_SPAWN_Z , DEFAULT_SPAWN_ANGLE ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 );
AddPlayerClass ( 184 , DEFAULT_SPAWN_X , DEFAULT_SPAWN_Y , DEFAULT_SPAWN_Z , DEFAULT_SPAWN_ANGLE ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 ,- 1 );

AddPlayerClass( 14 , DEFAULT_SPAWN_X, DEFAULT_SPAWN_Y, DEFAULT_SPAWN_Z, DEFAULT_SPAWN_ANGLE , -1,-1,-1,-1,-1,-1 );

Теперь перейдем непосредственно к выбору скина. Все мы знаем, что что бы убрать стелочки и кнопку "Spawn" при регистрации и авторизации нам необходимо включить для игрока режим наблюдения. Ниже приведен список действий при различных условиях.

Для регистрации.

Если игрок на сервере первый раз, при входе включаем для него режим наблюдения, соответственно стрелок и кнопки "Spawn" он не видит. Показываем ему окно с регистрацией, записываем его данные в базу данных/файл и отключаем режим наблюдения. Сразу же будет вызван коллбэк public OnPlayerRequestClass(playerid, classid) . Здесь нам необходимо задать позицию персонажа и позицию а так же направление камеры. Так же этот коллбэк вызовется после смерти, если до этого игрок нажал F4. Тут то нам и пригодится проверка, описанная выше.

Позицию персонажа и направление камеры, а так же интерьер я взял из мода Grand Larceny.

Виртуальный мир мы устанавливаем для того, чтобы игроки не видели друг друга при выборе персонажа. У каждого игрока будет свой виртуальный мир. Почему +1? Если зайдет игрок с ID 0, ему присвоится виртуальный мир с ID 0, а это виртуальный мир по умолчанию для всех, его нет смысла использовать. Поэтому мы прибавим 1 к 0 и получим 1, чтобы установить виртуальный мир с ID 1.

Теперь допустим, что игрок выбрал персонажа и нажал кнопку "Spawn". При нажатии этой кнопки вызываются сразу 2 коллбэка.
public OnPlayerRequestSpawn(playerid) и public OnPlayerSpawn(playerid). Отличие в том, что OnPlayerSpawn(playerid) вызовется позже, т.к. он срабатывает тогда, когда игрок уже заспавнился. Ну и естественно, OnPlayerRequestSpawn(playerid) будет вызван только 1 раз, при регистрации, а OnPlayerSpawn(playerid) будет вызываться постоянно, когда игрок будет спавниться, к примеру после смерти. Уберем интерьер и скажем игроку, что все хорошо. А так же укажем, что игрок уже авторизовался.

На этом с регистрацией все. В OnPlayerRequestSpawn(playerid) можете сохранить скин игрока в вашу базу данных. Или сделать это при выходе, но тогда есть шанс получить скин CJ, если все пойдет не по плану и сохранение не пройдет.

Для авторизации.
По старой схеме вводим в слежку, показываем диалог авторизации, сверяем данные, отключаем слежку. Тут главное не дать игроку выбрать персонажа. Поэтому загружаем из данных скин игрока и сразу же спавним его. Естественно, если введенный пароль верный.

На этом все. Если будут какие-либо мысли, прошу в комментарии.

Как заменять ( устанавливать ) скины в GTA: San Andreas (SA:MP)?




Выбираем сам файл "gta3.img" и нажимаем кнопку "Открыть" внизу окна программы, после этого мы получаем доступ ко всем текстурам, которые в нём имеются ( к слову, их там аж 16321! ).



Теперь нам нужно найти новые модели для уже имеющегося транспорта в GTA: San Andreas ( SA:MP ), для этого стоит перейти в наш раздел со скинами, в котором Вы найдёте огромное количество самых разных скинов самых разных фракций и категорий.

Мне, к примеру приглянулся вот этот скин:



Скачиваю файл нажимая на зелёную кнопку и вижу перед собой архив с двумя файлами: swfyst.txd и swfyst.dff.

Файл формата .txd представляет из себя обычное 2D-изображение, в котором просто-напросто нарисована текстура.
Файл формата .dff представляет из себя уже 3D-модель, геометрию и пропорции самого скина.

Название файла зависит от названия модели. В разделе "ID скинов SA:MP" Вы можете посмотреть как выглядит оригинальный скин этой модели, или же найти другой скин который замените. Поэтому если Вы скачали скин "swfyst", то не обязательно заменять именно эту модель, можно найти любую другую ( даже модель бомжихи ) и заменить на неё, для этого достаточно просто переименовать название одной модели в другую. Название моделей смотрите в разделе "ID скинов SA:MP".



Для удобства навигации по разделу "ID скинов SA:MP" используйте сочетание клавиш [Ctrl + F], в которое Вы можете ввести как ID скина ( если он есть в названии ), так и название моделей. И быстро найти то, что ищете.

P.S: Иногда в разделе скинов можно встретить модели с названием "random", разумеется оставлять модель с таким названием смысла никакого нет - модель просто не установится. Таким названием автор скина подразумевает, что Вы сами должны выбрать модель для замены. Очень часто встречается в рофл-скинах.

Ну так вот, файлы из архива нам нужно распаковать в удобное место.

После распаковки возвращаемся к нашей программе "Crazy Img Editor", после выбранного "gta3.img" нажимаем кнопку "Правка", а затем: "Добавить с заменой":



В появившемся окне выбираем скачанные модели формата .txd и .dff.



Нажимаем кнопку "открыть".

Всё! Скин установлен! Проверяем его в игре!

Дабы получить быстрый доступ к скину, я воспользуюсь CLEO-скриптом "Skin Changer", который визуально изменит Ваш скин в игре.



Замена прошла успешно!




Как видите - ничего сложного в процессе замены скинов - нету.

Надеюсь, этот гайд по замене скинов в GTA: San Andreas ( SA:MP ) Вам помог.

Читайте также: