Página 1 de 1

Speed Shake Configurável

Enviado: 08 Jul 2018, 14:17
por FilipeS
Este mod adiciona um Cam Shake para veículos estilo NFS, GTA V entre outros jogos de corrida, tudo isso configurado por ini, onde você pode escolher qual velocidade a câmera irá tremer e até intensidade..

Vídeo: Não tenho net pra isso .-.

Source: 
SpoilerAbrir

Código: Selecionar tudo

SCRIPT_START
{
NOP

LVAR_INT scplayer mCar iUserSet bUserSet2
LVAR_FLOAT fSpeed fUserSet1
GET_PLAYER_CHAR 0 scplayer

READ_INT_FROM_INI_FILE "cleo/SpeedShake.ini" "SSconfig" "shakeIntensity" iUserSet
READ_FLOAT_FROM_INI_FILE "cleo/SpeedShake.ini" "SSconfig" "targetSpeed" fUserSet1

IF NOT READ_INT_FROM_INI_FILE "cleo/SpeedShake.ini" "SSconfig" "shakeIntensity" iUserSet
OR NOT READ_FLOAT_FROM_INI_FILE "cleo/SpeedShake.ini" "SSconfig" "targetSpeed" fUserSet1
    PRINT_STRING_NOW "Nao foi possivel ler o ini" 10000
    TERMINATE_THIS_CUSTOM_SCRIPT
ENDIF

WHILE TRUE
    WAIT 0
    
    IF IS_CHAR_SITTING_IN_ANY_CAR scplayer
        STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer mCar
        WHILE IS_CHAR_SITTING_IN_CAR scplayer mCar
            GET_CAR_SPEED mCar fSpeed
            WAIT 0
            IF fSpeed >= fUserSet1
                SHAKE_CAM iUserSet
            ENDIF
        ENDWHILE
    ENDIF
ENDWHILE
}
SCRIPT_END

 

Speed Shake Configurável

Enviado: 08 Jul 2018, 15:31
por Um_Geek
Esta lendo o arquivo ini 2 vezes, uma para pegar o valor e outra para checar se existe? Porque não coloca para criar o ini se ele não existir? mas bom usar outro nome mais complexo, pois pode existir outro ini com o nome SS de outro mod.

SpoilerAbrir

Código: Selecionar tudo

SCRIPT_START
{
    NOP

    LVAR_INT scplayer mCar iUserSet bUserSet2
    LVAR_FLOAT fSpeed fUserSet1

    IF NOT READ_INT_FROM_INI_FILE "cleo/SS.ini" "SSconfig" "Disable" scplayer
        scplayer = 0
        WRITE_INT_TO_INI_FILE scplayer "cleo/SS.ini" "SSconfig" "Disable"
    ENDIF
    IF (scplayer = 0)
        IF NOT READ_INT_FROM_INI_FILE "cleo/SS.ini" "SSconfig" "shakeIntensity" iUserSet
            iUserSet = ???
            WRITE_INT_TO_INI_FILE iUserSet "cleo/SS.ini" "SSconfig" "shakeIntensity"
        ENDIF
        IF NOT READ_FLOAT_FROM_INI_FILE "cleo/SS.ini" "SSconfig" "targetSpeed" fUserSet1
            fUserSet1 = ???
            WRITE_FLOAT_TO_INI_FILE fUserSet1 "cleo/SS.ini" "SSconfig" "targetSpeed"
        ENDIF
        IF NOT READ_INT_FROM_INI_FILE "cleo/SS.ini" "SSconfig" "showVehSpeed" bUserSet2
            bUserSet2 = ???
            WRITE_INT_TO_INI_FILE bUserSet2  "cleo/SS.ini" "SSconfig" "showVehSpeed"
        ENDIF
    ELSE
        TERMINATE_THIS_CUSTOM_SCRIPT
    ENDIF
    
    [...]

}
SCRIPT_END 

Speed Shake Configurável

Enviado: 08 Jul 2018, 15:58
por FilipeS
Um_Geek escreveu: Esta lendo o arquivo ini 2 vezes, uma para pegar o valor e outra para checar se existe? Porque não coloca para criar o ini se ele não existir? mas bom usar outro nome mais complexo, pois pode existir outro ini com o nome SS de outro mod.

SpoilerAbrir

Código: Selecionar tudo

SCRIPT_START
{
    NOP

    LVAR_INT scplayer mCar iUserSet bUserSet2
    LVAR_FLOAT fSpeed fUserSet1

    IF NOT READ_INT_FROM_INI_FILE "cleo/SS.ini" "SSconfig" "Disable" scplayer
        scplayer = 0
        WRITE_INT_TO_INI_FILE scplayer "cleo/SS.ini" "SSconfig" "Disable"
    ENDIF
    IF (scplayer = 0)
        IF NOT READ_INT_FROM_INI_FILE "cleo/SS.ini" "SSconfig" "shakeIntensity" iUserSet
            iUserSet = ???
            WRITE_INT_TO_INI_FILE iUserSet "cleo/SS.ini" "SSconfig" "shakeIntensity"
        ENDIF
        IF NOT READ_FLOAT_FROM_INI_FILE "cleo/SS.ini" "SSconfig" "targetSpeed" fUserSet1
            fUserSet1 = ???
            WRITE_FLOAT_TO_INI_FILE fUserSet1 "cleo/SS.ini" "SSconfig" "targetSpeed"
        ENDIF
        IF NOT READ_INT_FROM_INI_FILE "cleo/SS.ini" "SSconfig" "showVehSpeed" bUserSet2
            bUserSet2 = ???
            WRITE_INT_TO_INI_FILE bUserSet2  "cleo/SS.ini" "SSconfig" "showVehSpeed"
        ENDIF
    ELSE
        TERMINATE_THIS_CUSTOM_SCRIPT
    ENDIF

    [...]

}
SCRIPT_END
 
Vlw pela dica, mas buguei aqui e não consegui fazer, revisei o código um pouco e vi que a string indicando a velocidade desativava o cam shake '-'.. Então foi removida

Speed Shake Configurável

Enviado: 08 Jul 2018, 19:42
por Junior_Djjr
Um_Geek escreveu:

Código: Selecionar tudo

        scplayer = 0
        WRITE_INT_TO_INI_FILE scplayer "cleo/SS.ini" "SSconfig" "Disable"
E por que você tá fazendo assim em vez de assim?

Código: Selecionar tudo

WRITE_INT_TO_INI_FILE 0 "cleo/SS.ini" "SSconfig" "Disable"
:pokerface: 

Speed Shake Configurável

Enviado: 08 Jul 2018, 20:36
por Um_Geek
Junior_Djjr escreveu:
08 Jul 2018, 19:42
E por que você tá fazendo assim em vez de assim?
Todas as variáveis começão em 0, mas é uma demo do que fazer nos ???. De qualquer forma ele não entendeu, eu acho.

Speed Shake Configurável

Enviado: 09 Jul 2018, 02:09
por Junior_Djjr
Um_Geek escreveu:
Junior_Djjr escreveu:
08 Jul 2018, 19:42
E por que você tá fazendo assim em vez de assim?
Todas as variáveis começão em 0, mas é uma demo do que fazer nos ???. De qualquer forma ele não entendeu, eu acho. 
Ah, acho que entendi o que você quis fazer. É que devido a não ter lido, você setou a variável né, daí aproveitou ela para escrevê-la no .ini.
É que setar a variável e usar no comando em vez de usar o número direto no comando é um erro comum em iniciantes, daí achei estranho :peepo5:

Fica aí o aviso para iniciantes entenderem, fazer assim dá no mesmo:

Código: Selecionar tudo

scplayer = 0
WRITE_INT_TO_INI_FILE 0 "cleo/SS.ini" "SSconfig" "Disable"
Mas o jeito anterior é mais interessante pois você digita o valor da variável somente uma vez em vez de duas, enfim.