Página 1 de 1

[SAxVCxLC] Escobar Airport Security System

Enviado: 26 Dez 2020, 20:54
por Neon
Adiciona seguranças e detectores de metal funcionais no Escobar International Airport, em Vice City
Caso você passe pelo detector com qualquer arma de fogo em mãos, ele irá apitar, você irá ganhar 1 nível de procurado e os seguranças tentaram te prender
No .ini há também opção para checar se você tem qualquer arma de fogo, mesmo que não esteja em mãos, além de poder desativar os seguranças ou os marcadores vermelhos

Imagem
 
Versão para a TC original
[SAxVCxLC] VC Airport Security.7z
(39.02 KiB) Baixado 238 vezes
Versão para o Connected
[SAxVCxLC Connected] VC Airport Security.7z
(45.64 KiB) Baixado 191 vezes
Necessário última versão da CLEO+

SourceAbrir

Código: Selecionar tudo

SCRIPT_START
{
    LVAR_INT scplayer iWeaponType i iShowRing iSpawnSecurities hBeepSound hObject hChar hChar2 iDetectorType
    LVAR_FLOAT fCoordX fCoordY fCoordZ

    GET_PLAYER_CHAR 0 scplayer

    READ_INT_FROM_INI_FILE "CLEO\VC Airport Security.ini" "Settings" "FriendlyDetector" iDetectorType
    READ_INT_FROM_INI_FILE "CLEO\VC Airport Security.ini" "Settings" "Securities" iSpawnSecurities
    READ_INT_FROM_INI_FILE "CLEO\VC Airport Security.ini" "Settings" "ShowRing" iShowRing

    LOAD_3D_AUDIO_STREAM "CLEO\CLEO_SOUNDS\VC_AirportBeep.mp3" hBeepSound
    SET_AUDIO_STREAM_VOLUME hBeepSound 1.0

    REQUEST_MODEL WMYSGRD
    WHILE NOT HAS_MODEL_LOADED WMYSGRD
        WAIT 0
    ENDWHILE

    WHILE TRUE
        WAIT 0

        IF LOCATE_CHAR_ANY_MEANS_3D scplayer (6810.81 -9095.42 8.83) (80.0 80.0 80.0) FALSE

            IF iSpawnSecurities = TRUE
                CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD 6782.75 -9081.62 8.82 hChar
                GIVE_WEAPON_TO_CHAR hChar WEAPONTYPE_NIGHTSTICK 1
                TASK_TURN_CHAR_TO_FACE_COORD hChar 6785.09 -9081.36 8.83

                CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD 6842.68 -9084.59 8.83 hChar2
                GIVE_WEAPON_TO_CHAR hChar2 WEAPONTYPE_NIGHTSTICK 1
                TASK_TURN_CHAR_TO_FACE_COORD hChar2 6842.58 -9082.47 8.82
            ENDIF

            WHILE LOCATE_CHAR_ANY_MEANS_3D scplayer (6811.36 -9075.61 8.83) (80.0 80.0 80.0) FALSE
                WAIT 0

                IF LOCATE_CHAR_ANY_MEANS_3D scplayer (6785.09 -9081.36 8.83) (1.5 1.5 1.5) iShowRing
                    fCoordX = 6785.09
                    fCoordY = -9081.36
                    fCoordZ = 8.83

                    IF iDetectorType = TRUE
                        GET_CURRENT_CHAR_WEAPON scplayer iWeaponType
                        GOSUB IsWeaponAGun
                    ELSE
                        GOSUB CheckEachSlot
                    ENDIF
                ENDIF

                IF LOCATE_CHAR_ANY_MEANS_3D scplayer (6842.58 -9082.47 8.82) (1.5 1.5 1.5) iShowRing
                    fCoordX = 6842.58
                    fCoordY = -9082.47
                    fCoordZ = 8.82

                    IF iDetectorType = TRUE
                        GET_CURRENT_CHAR_WEAPON scplayer iWeaponType
                        GOSUB IsWeaponAGun
                    ELSE
                        GOSUB CheckEachSlot
                    ENDIF
                ENDIF
            ENDWHILE

            IF DOES_CHAR_EXIST hChar
            AND DOES_CHAR_EXIST hChar2
                REMOVE_CHAR_ELEGANTLY hChar
                REMOVE_CHAR_ELEGANTLY hChar2
            ENDIF

        ENDIF
    ENDWHILE

    CheckEachSlot:

        GET_CHAR_WEAPON_IN_SLOT scplayer 3 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 4 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 5 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 6 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 7 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 8 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 9 iWeaponType i i
            GOSUB IsWeaponAGun

    RETURN

    IsWeaponAGun:

        IF IS_WEAPON_FIRE_TYPE iWeaponType WEAPONFIRE_INSTANT_HIT
            CREATE_OBJECT_NO_SAVE 1271 fCoordX fCoordY fCoordZ TRUE TRUE hObject
            SET_OBJECT_COLLISION hObject FALSE
            SET_OBJECT_VISIBLE hObject FALSE

            SET_PLAY_3D_AUDIO_STREAM_AT_OBJECT hBeepSound hObject
            SET_AUDIO_STREAM_STATE hBeepSound 1

            IF DOES_CHAR_EXIST hChar
            AND DOES_CHAR_EXIST hChar2
                TASK_CHAR_ARREST_CHAR hChar scplayer
                TASK_CHAR_ARREST_CHAR hChar2 scplayer
            ENDIF

            WHILE LOCATE_CHAR_ANY_MEANS_3D scplayer (fCoordX fCoordY fCoordZ) (8.0 8.0 8.0) FALSE
                WAIT 0

                ALTER_WANTED_LEVEL 0 1
            ENDWHILE

            DELETE_OBJECT hObject
        ENDIF

    RETURN

}
SCRIPT_END

Re: [SAxVCxLC] Escobar Airport Security System

Enviado: 26 Dez 2020, 22:16
por Weeamer
Ou largar todas as armas na entrada do aeroporto
Esse detector de metais também se encontra no campo de golfe de vice city podiam colocar isso no campo de golf em Las Venturas.

Re: [SAxVCxLC] Escobar Airport Security System

Enviado: 08 Fev 2021, 21:15
por Neon
Atualizado:
  • Adicionado opção para a versão Connected;

Re: [SAxVCxLC] Escobar Airport Security System

Enviado: 09 Fev 2021, 20:29
por Junior_Djjr
Se entrar no detector com 6 estrelas vai abaixar pra 1 estrela por causa do  ALTER_WANTED_LEVEL em vez de ALTER_WANTED_LEVEL_NO_DROP.

Você carregou (e nunca descarregou) o modelo WMYSGRD mesmo sem usá-lo.

Você nunca descarregou o som e não aplicou o volume correto nele ao dar play (GET_AUDIO_SFX_VOLUME). Inclusive por padrão já é 1.0.

Você manda o CHAR atacar e apaga ele somente caso os dois existirem, se somente um deles existe, ele nunca atacar ou será apagado.

Bom também usar CLEO_SOUND em vez de CLEO_SOUNDS, pois é o padrão da CLEO.

Use FIX_CHAR_GROUND_BRIGHTNESS_AND_FADE_IN para o char aparecer melhor na hora do spawn.

Somente apague a pessoa caso ela esteja longe do player (melhor câmera, mas, preguiça), pois você fez ele te perseguir, então se ele sair do local indo atrás de você, num momento ele vai desaparecer na sua frente.

Código: Selecionar tudo

IF NOT LOCATE_CHAR_DISTANCE_TO_CHAR hChar scplayer 60.0
    REMOVE_CHAR_ELEGANTLY hChar
ELSE
    MARK_CHAR_AS_NO_LONGER_NEEDED hChar
ENDIF

Você checou somente se a arma é INSTANT_HIT (tiro instantâneo), não considerou que pode ser um PROJECTILE, daí você ainda pode entrar lá com um lança-míssil nos ombros. Também tem o lança-chamas que é um AREA_EFFECT mas a lata de spray também, então tem que checar especificamente o ID do lança-chamas junto.

Para o SAxVCxLC Connected:

Código: Selecionar tudo

// by neon & Junior_Djjr
// you need: https://forum.mixmods.com.br/f141-gta3script-cleo/t5206-como-criar-scripts-com-cleoplus
SCRIPT_START
{
    LVAR_INT scplayer iWeaponType i iShowRing iSpawnSecurities hBeepSound hObject hChar hChar2 iDetectorType
    LVAR_FLOAT f fCoordX fCoordY fCoordZ

    GET_PLAYER_CHAR 0 scplayer

    READ_INT_FROM_INI_FILE "CLEO\VC Airport Security.ini" "Settings" "FriendlyDetector" iDetectorType
    READ_INT_FROM_INI_FILE "CLEO\VC Airport Security.ini" "Settings" "Securities" iSpawnSecurities
    READ_INT_FROM_INI_FILE "CLEO\VC Airport Security.ini" "Settings" "ShowRing" iShowRing

    WHILE TRUE
        WAIT 0

        IF LOCATE_CHAR_ANY_MEANS_3D scplayer (4560.8101 -3845.4199 8.8300) (80.0 80.0 80.0) FALSE

            IF iSpawnSecurities = TRUE
            
                REQUEST_MODEL WMYSGRD
                WHILE NOT HAS_MODEL_LOADED WMYSGRD
                    WAIT 0
                ENDWHILE

                LOAD_3D_AUDIO_STREAM "CLEO\CLEO_SOUND\VC_AirportBeep.mp3" hBeepSound
                
                CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD 4532.7500 -3831.6201 8.8200 hChar
                FIX_CHAR_GROUND_BRIGHTNESS_AND_FADE_IN hChar TRUE TRUE TRUE
                GIVE_WEAPON_TO_CHAR hChar WEAPONTYPE_NIGHTSTICK 1
                TASK_TURN_CHAR_TO_FACE_COORD hChar 4535.0898 -3831.3604 8.8300

                CREATE_CHAR PEDTYPE_CIVMALE WMYSGRD 4592.6802 -3834.5898 8.8300 hChar2
                FIX_CHAR_GROUND_BRIGHTNESS_AND_FADE_IN hChar2 TRUE TRUE TRUE
                GIVE_WEAPON_TO_CHAR hChar2 WEAPONTYPE_NIGHTSTICK 1
                TASK_TURN_CHAR_TO_FACE_COORD hChar2 4592.5801 -3832.4697 8.8200
            ENDIF

            WHILE LOCATE_CHAR_ANY_MEANS_3D scplayer (4561.3599 -3825.6104 8.8300) (80.0 80.0 80.0) FALSE
                WAIT 0

                fCoordX = 4535.0898
                fCoordY = -3831.3604
                fCoordZ = 8.8300
                GOSUB CheckPos

                fCoordX = 4592.5801
                fCoordY = -3832.4697
                fCoordZ = 8.8200
                GOSUB CheckPos
                
            ENDWHILE
            
            IF DOES_CHAR_EXIST hChar
                IF NOT LOCATE_CHAR_DISTANCE_TO_CHAR hChar scplayer 60.0
                    REMOVE_CHAR_ELEGANTLY hChar
                ELSE
                    MARK_CHAR_AS_NO_LONGER_NEEDED hChar
                ENDIF
            ENDIF
            IF DOES_CHAR_EXIST hChar2
                IF NOT LOCATE_CHAR_DISTANCE_TO_CHAR hChar2 scplayer 60.0
                    REMOVE_CHAR_ELEGANTLY hChar2
                ELSE
                    MARK_CHAR_AS_NO_LONGER_NEEDED hChar2
                ENDIF
            ENDIF
            MARK_MODEL_AS_NO_LONGER_NEEDED WMYSGRD
            REMOVE_AUDIO_STREAM hBeepSound
        ENDIF
    ENDWHILE

    CheckPos:
    IF LOCATE_CHAR_ANY_MEANS_3D scplayer (fCoordX fCoordY fCoordZ) (1.5 1.5 1.5) iShowRing
        IF iDetectorType = TRUE
            GET_CURRENT_CHAR_WEAPON scplayer iWeaponType
            GOSUB IsWeaponAGun
        ELSE
            GOSUB CheckEachSlot
        ENDIF
    ENDIF
    RETURN

    CheckEachSlot:

        GET_CHAR_WEAPON_IN_SLOT scplayer 3 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 4 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 5 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 6 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 7 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 8 iWeaponType i i
            GOSUB IsWeaponAGun
        GET_CHAR_WEAPON_IN_SLOT scplayer 9 iWeaponType i i
            GOSUB IsWeaponAGun

    RETURN

    IsWeaponAGun:

        IF IS_CHAR_WEAPON_VISIBLE_SET scplayer
            IF IS_WEAPON_FIRE_TYPE iWeaponType WEAPONFIRE_INSTANT_HIT
            OR IS_WEAPON_FIRE_TYPE iWeaponType WEAPONFIRE_PROJECTILE
            OR iWeaponType = WEAPONTYPE_FLAMETHROWER
                CREATE_OBJECT_NO_SAVE 1271 fCoordX fCoordY fCoordZ TRUE TRUE hObject
                SET_OBJECT_COLLISION hObject FALSE
                SET_OBJECT_VISIBLE hObject FALSE

                GET_AUDIO_SFX_VOLUME f
                SET_AUDIO_STREAM_VOLUME hBeepSound f
                SET_PLAY_3D_AUDIO_STREAM_AT_OBJECT hBeepSound hObject
                SET_AUDIO_STREAM_LOOPED hBeepSound OFF
                SET_AUDIO_STREAM_STATE hBeepSound 1

                IF DOES_CHAR_EXIST hChar
                    TASK_CHAR_ARREST_CHAR hChar scplayer
                ENDIF
                IF DOES_CHAR_EXIST hChar2
                    TASK_CHAR_ARREST_CHAR hChar2 scplayer
                ENDIF

                WHILE LOCATE_CHAR_ANY_MEANS_3D scplayer (fCoordX fCoordY fCoordZ) (8.0 8.0 8.0) FALSE
                    WAIT 0

                    ALTER_WANTED_LEVEL_NO_DROP 0 1
                ENDWHILE

                DELETE_OBJECT hObject
            ENDIF
        ENDIF

    RETURN

}
SCRIPT_END

Re: [SAxVCxLC] Escobar Airport Security System

Enviado: 09 Fev 2021, 21:27
por Neon
Eu tava jogando o Vice City Stories e notei que no aeroporto dele existe o mesmo sistema do campo de golf e iria refazer, mas já que você editou vou manter assim mesmo, amanhã eu atualizo

Re: [SAxVCxLC] Escobar Airport Security System

Enviado: 10 Fev 2021, 02:11
por Junior_Djjr
Eu incluí oficialmente no download do mod.