Прошу помочь с написанием скрипта.

Gideon_Graves

Участник
Автор темы
5
1
Я полный нубас что в клео что в луа, накидал вот такой говнокод. Суть скрипта проста - По нажатию комбинации кнопок Заменять скин игрока, но не какой либо айди из существующих а на кастомную модель, добавленную в Custom.img в сампе. Покурив мануалы кое как понял как это реализовать на клео, но есть некоторые косяки с ним, которые не имею понятия как устранить.

Говнокод:
:PMODEL
03A4: name_thread "PMODEL"
wait 1000
023C: load_special_actor 'YELAN' as 1
038B: load_requested_models
wait 1000
0002: jump @PMODEL_1

:PMODEL_1
wait 0
if
0256: player $PLAYER_CHAR defined
004D: jump_if_false @PMODEL_1
if and
0AB0: key_pressed 8
0AB0: key_pressed 48
004D: jump_if_false @PMODEL_1
09C7: change_player $PLAYER_CHAR model_to #SPECIAL01
0002: jump @PMODEL_1

Что хотелось бы реализовать:
- Смену по комбинации кнопок с адекватным кодом. (Есть баг если сменить скин во время прыжка или других анимаций ударов / движения, кроме простоя - Отключается управление, и скрипт убивающий античит сампа не помогает)
- По возможности что-то в виде проверки на смену скина, что бы скрипт автоматически менял скин при смерти, или при его замене (Например при вступлении в огранизацию). Если это возможно реализовать прямо со старта игры (Входа на сервер) то и первый пункт в принципе не нужен.
- В иделе бы если это вообще возможно перенести на Луа, бекоз я держу библиотеку клео тупо ради этого скрипта, для остальных юзаю мунлоадер.

(Я знаю о существовании СкинЧенджера который поддерживает кастомные модели, но завести его на сампе даже через ModdedSAA не удалось, при любой попытке подменить gta.dat самп тупо зависает, следственно подгрузить имгшник нужный для этого скрипта нет возможности, что и вынудило делать такой костыль, да и естетически держать скрипт с огромной менюшкой ради одного скина очень ну такое).

Если кто-то все же вызовется помочь, заранее огромная благодарность!
Приятного дня :)
 

Gideon_Graves

Участник
Автор темы
5
1
Перевел код на луа погуглив гайды, осталось решить проблему с автосменой скина при изменении на любой другой, и смену скина при смерти персонажа (Сбрасывается на стандартный). Проблему отключения управления решил принудительным включением управления при смене скина, хоть анимация и сбивается - персонаж больше не залипает на одном месте.


Новый код:
script_name('Custom Skin')
script_author('G1D30N')
script_description('Changes Player Skin to Custom Model')

function main()
    while true do
        wait(10)
        if isPlayerPlaying(playerHandle) then
            wait(10)
            if isKeyJustPressed(51) then
                loadSpecialCharacter('YELAN', 1)
                while not hasSpecialCharacterLoaded(1) do
                    wait(0)
                end
                local models = require 'lib.game.models'
                setPlayerModel(playerHandle, models.SPECIAL01)
                setPlayerControl(playerHandle, true) -- Отлипание управления персонажа.
                unloadSpecialCharacter(1)
                markCharAsNoLongerNeeded(ped)
            end
        end
    end
end
 
Последнее редактирование: