Pesquisa resultou em 1 ocorrência

por Samuvtr
03 Ago 2019, 12:40
Fórum: GTA3script (CLEO)
Tópico: 17. Exercício #2
Respostas: 8
Exibições: 1165
Gênero:

Re: 17. Exercício #2

Acho que ficou legal, ta funcionando direitinho, e sinto que eu podia ter economizado mais linhas... Mas tem de tudo ai , Armas aleatórias, (a partir da pistola até a AK-47) e um Print falando que CJ matou todos os ballas.

Obs: Foi tudo na raça , não cheguei a ler dicas, então eu sei que ta ruim, mas dá um desconto ae. 😎

SpoilerAbrir

Código: Selecionar tudo

SCRIPT_START
{
LVAR_INT ballas[19] cj a model
LVAR_FLOAT x y
GET_PLAYER_CHAR 0 cj
WHILE NOT a = 19
    WAIT 0
    IF LOCATE_CHAR_ANY_MEANS_3D cj 2490.0 -1670.0 13.0 (100.0 100.0 100.0) FALSE
        REQUEST_MODEL 102
        REQUEST_MODEL 103
        REQUEST_MODEL 104
        REQUEST_MODEL 346
        REQUEST_MODEL 347
        REQUEST_MODEL 348
        REQUEST_MODEL 349
        REQUEST_MODEL 350
        REQUEST_MODEL 351
        REQUEST_MODEL 352
        REQUEST_MODEL 353
        REQUEST_MODEL 355
        LOAD_ALL_MODELS_NOW
        REPEAT 19 a
            WAIT 0
            GENERATE_RANDOM_FLOAT_IN_RANGE 2480.0 2500.0 x
            GENERATE_RANDOM_FLOAT_IN_RANGE -1660.0 -1680.0 y
            GENERATE_RANDOM_INT_IN_RANGE 102 105 model
            GOSUB ballas
        ENDREPEAT
        a = 0 // mudei para ajudar na contagem de kills dos 20 ballas
        WHILE a < 19
            WAIT 0
            GOSUB check_kills
        ENDWHILE
        MARK_MODEL_AS_NO_LONGER_NEEDED 102
        MARK_MODEL_AS_NO_LONGER_NEEDED 103
        MARK_MODEL_AS_NO_LONGER_NEEDED 104
        MARK_MODEL_AS_NO_LONGER_NEEDED 346
        MARK_MODEL_AS_NO_LONGER_NEEDED 347
        MARK_MODEL_AS_NO_LONGER_NEEDED 348
        MARK_MODEL_AS_NO_LONGER_NEEDED 349
        MARK_MODEL_AS_NO_LONGER_NEEDED 350
        MARK_MODEL_AS_NO_LONGER_NEEDED 351
        MARK_MODEL_AS_NO_LONGER_NEEDED 352
        MARK_MODEL_AS_NO_LONGER_NEEDED 353
        MARK_MODEL_AS_NO_LONGER_NEEDED 355
        PRINT_STRING_NOW "Todos os ballas morreram" 3000
        BREAK
    ENDIF
ENDWHILE
GOTO end
ballas:
WAIT 0
CREATE_CHAR PEDTYPE_GANG1 model x y -100.0 ballas[a]
SET_CHAR_HEALTH ballas[a] 1000
SET_CHAR_WEAPON_SKILL ballas[a] 1
SET_CHAR_SHOOT_RATE ballas[a] 80
SET_CHAR_ACCURACY ballas[a] 50
GENERATE_RANDOM_INT_IN_RANGE 346 356 model
WHILE model = 354 // O modelo 354 não é uma arma que eu queria na lista dos 346 aso 355, então eu excluo ele da lista.
    WAIT 0
    GENERATE_RANDOM_INT_IN_RANGE 346 356 model
ENDWHILE
SWITCH model
    CASE 346
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_PISTOL 500
        BREAK
    CASE 347
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_PISTOL_SILENCED 500
            BREAK
    CASE 348
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_DESERT_EAGLE 500
        BREAK
    CASE 349
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_SHOTGUN 500
        BREAK
    CASE 350
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_SAWNOFF_SHOTGUN 500
        BREAK
    CASE 351
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_SPAS12_SHOTGUN 500
        BREAK
    CASE 352
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_MICRO_UZI 500
        BREAK
    CASE 353
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_MP5 500
        BREAK
    CASE 355
        GIVE_WEAPON_TO_CHAR ballas[a] WEAPONTYPE_AK47 500
        BREAK
ENDSWITCH
TASK_KILL_CHAR_ON_FOOT ballas[a] cj
RETURN
check_kills:
    WAIT 0
    SWITCH a
        CASE 0
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 1
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 2
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 3
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 4
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 5
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 6
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 7
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 8
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 9
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 10
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 11
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 12
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 13
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 14
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 15
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 16
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 17
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 18
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
        CASE 19
            IF IS_CHAR_DEAD ballas[a]
                a += 1
            ENDIF
            BREAK
    ENDSWITCH
    RETURN
end:
}
SCRIPT_END

Voltar para “17. Exercício #2”