#1 05-03-2011 11:11

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

[III] Skin selector

Написал такой скрипт, может быть, понадобится для тех, кто ещё играет в эту игру)
Поддерживаются версии 1.0 и 1.1.
Управление:
[ Пред. скин
] След. скин
O Станд. скин
P Показать номер поточного скина

{$CLEO .cs}

const
    player_act = $player_actor
    player_str = 1@
    index = 0@
    first_skin = 0
    last_skin = 82
    key_1 = 219
    key_2 = 221
    key_3 = 80
    key_4 = 79    
    flag = 2@
    version = 3@
    setModelIndex = 4@
end

05E5: version = game_version
if
    version == 0
then
    setModelIndex = 0x4C52A0
else if
        version == 1
    then
        setModelIndex = 0x4C5340
    else
        05DC: end_custom_thread
    end
end

:begin
while true
    wait 0
    if
        player.Defined(0)
    then
        if
            05EE: key_pressed key_3
        then    
            03F0: enable_text_draw 1
            01E3: text_1number_styled 'NUMBER' index 70 ms 3
        end
        if
            setModelIndex == 0x4C5340
        then
            if or
                00E1: key_pressed 0 8 
                00E1: key_pressed 0 9
                00E1: key_pressed 0 10 
                00E1: key_pressed 0 11 
                82A0: not actor $player_actor stopped 
                00DF: actor $player_actor driving 
            then
                continue
            end
            if or
                00E1: key_pressed 0 14
                00E1: key_pressed 0 16
                00E1: key_pressed 0 17
            then
                continue
            end
        end   
        if
            05EE: key_pressed key_1
        then
            while 05EE: key_pressed key_1
                if
                    not player.Defined(0)
                then
                    goto @begin
                end
                wait 0
            end
            dec(index)
            if
                index < first_skin 
            then
                index = last_skin
            else if and
                    index >= 26
                    index <= 29
                then
                    index = 25
                end
            end
            flag = true
        else if
                05EE: key_pressed key_2
            then
                while 05EE: key_pressed key_2
                    if
                        not player.Defined(0)
                    then
                        goto @begin
                    end
                    wait 0
                end
                inc(index)
                if
                    index > last_skin 
                then
                    index = first_skin
                else if and
                        index >= 26
                        index <= 29
                    then
                        index = 30
                    end
                end
                flag = true
            else if
                    05EE: key_pressed key_4
                then
                    while 05EE: key_pressed key_4
                        if
                            not player.Defined(0)
                        then
                            goto @begin
                        end
                        wait 0
                    end                    
                    index = 0
                    flag = true
                end                
            end    
        end
        if
            flag == true
        then
            flag = false
            05E6: player_str = actor player_act struct
            if
                not model.Available(index)
            then
                model.Load(index) 
            end
            while not model.Available(index)
                if
                    not player.Defined(0)
                then
                    goto @begin
                end
                wait 0
            end
            if
                setModelIndex == 0x4C5340
            then    
                011C: actor $player_actor clear_objective
            end 
            05E3: call_method setModelIndex struct player_str num_params 1 pop 0 index           
        end
    end
end

На версии 1.1 нельзя сменивать скин при движении/в автомобиле.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

Board footer

Powered by FluxBB