sábado, 4 de junho de 2011

Condições CLEO by EdUaRdO

Eae galera, hoje venho ensinar uma parte sobre programação bem simples, mas porem bem útil, que é sobre IF, IF AND e IF OR

IF

É usado quando o script precisa fazer somente uma checagem, por exemplo:


{$CLEO .cs}
:androm
03A4: name_thread 'check'

:check
0001: wait 0 ms
if // <========= só o IF
0AB0: key_pressed 0x9 // <========= TAB
004D: jump_if_false @check
03E5: text_box 'CHEAT1' // Cheat Ativado
wait 1000
0002: jump @check


No exemplo acima, quando apertado a tecla TAB, aparesce na tela CHEAT ATIVADO. Nesse exemplo, usei somente o IF, pois o script só precisa confirmar uma condição para continuar lendo, ou seja, quando a tecla TAB é prescionada....vamos a outro exemplo:


{$CLEO .cs}
:androm
03A4: name_thread 'check'

:check
wait 0 ms
if and // <====== usando IF AND
0AB0: key_pressed 0x9 // <====== TAB
0AB0: key_pressed 0x20 // <====== ESPAÇO
004D: jump_if_false @check
03E5: text_box 'CHEAT1' // Cheat Ativado
wait 1000
0002: jump @check


Já nesse exemplo, só aparescerá a mensagem quando a tecla TAB e a tecla ESPAÇO forem prescionadas juntas, pois o IF AND faz com que seja feita uma checagem de todas formas propostas, que se você apertar só a tecla TAB ou só a tecla ESPAÇO, o script não vai funcionar....
agora vamos para o exemplo IF OR:


$CLEO .cs}
:androm
03A4: name_thread 'shamal'

:check
wait 0 ms{
if or // <====== usando IF OR
0AB0: key_pressed 0x9 // <====== TAB
0AB0: key_pressed 0x20 // <====== ESPAÇO
004D: jump_if_false @check
03E5: text_box 'CHEAT1' // Cheat Ativado
wait 1000
0002: jump @check


Já nesse exemplo usando o IF OR, o script vai continuar se qualquer uma das condições forem verdadeiras, ou seja, se você apertar a tecla TAB, vai aparescer a mensagem CHEAT ATIVADO, e se apertar a tecla ESPAÇO irá aparescer tambem....ou seja, não precisa ser as duas juntas.

sábado, 23 de abril de 2011

Stripped Main by EdUaRdO

Galera, depois de muito tempo sem postar nada, postarei um script que deve ser usado no MAIN original, onde nesse você pode fazer toas as suas alterações e missões novas.
Nesse novo MAIN, não tem missões e as cidades estão liberadas, ou seja, pronto para ser modificado.

Segue o script abaixo:


{$VERSION 3.0.0000}
var
$PLAYER_CHAR: Player
end // var
03A4: name_thread 'MAIN'
01F0: set_max_wanted_level_to 6
0111: toggle_wasted_busted_check 0
00C0: set_current_time_hours_to 8 minutes_to 0
04E4: unknown_refresh_game_renderer_at 2488.56 -1666.84
03CB: set_rendering_origin_at 2488.56 -1666.84 13.38
0053: $PLAYER_CHAR = create_player #NULL at 2488.56 -1666.84 13.38
01F5: $PLAYER_ACTOR = create_player_actor $PLAYER_CHAR
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group
0373: set_camera_directly_behind_player
01B6: set_weather 0
0001: wait 0 ms
087B: set_player $PLAYER_CHAR clothes_texture "PLAYER_FACE" model "HEAD" body_part 1
087B: set_player $PLAYER_CHAR clothes_texture "JEANSDENIM" model "JEANS" body_part 2
087B: set_player $PLAYER_CHAR clothes_texture "SNEAKERBINCBLK" model "SNEAKER" body_part 3
087B: set_player $PLAYER_CHAR clothes_texture "VEST" model "VEST" body_part 0
070D: rebuild_player $PLAYER_CHAR
01B4: toggle_player $PLAYER_CHAR can_move 1
016A: fade 1 time 0
04BB: select_interior 0
0629: change_integer_stat 181 to 4
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here
0004: $DEFAULT_WAIT_TIME = 250
03E6: remove_text_box
{ nesse espaço, você poderá por as suas novas threads }

:MAIN_LOOP
0001: wait $DEFAULT_WAIT_TIME ms
00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes
0002: jump @MAIN_LOOP

// comandos de threads e missions você coloca aqui

sexta-feira, 18 de março de 2011

Script Mini Missão by EdUaRdO

Hoje galera vou postar um tutorial de como criar uma simples e pequena missão, onde voce deve matar uma pessoa...
Para testar o script que eu fiz no jogo, apenas vá na marca vermelha na Groove Street.
Script abaixo:

{$VERSION 3.1.0027}
{$CLEO .cs}


//-------------MAIN---------------
03A4: name_thread 'MISSAO_BLOG'

:MISSAO_BLOG_19
0001: wait 0 ms
00D6: if
0256: player $PLAYER_CHAR defined
004D: jump_if_false @MISSAO_BLOG_19
00D6: if
0256: player $PLAYER_ACTOR defined
004D: jump_if_false @MISSAO_BLOG_19
00D6: if
00FF: actor $PLAYER_ACTOR sphere 1 in_sphere 2491.5 -1667.5 13.35 radius 1.0 1.0 1.0 on_foot
004D: jump_if_false @MISSAO_BLOG_19
0247: load_model #SWAT
0247: load_model #AK47

:MISSAO_BLOG_109
0001: wait 0 ms
00D6: if and
0248: model #AK47 available
0248: model #SWAT available
004D: jump_if_false @MISSAO_BLOG_109
016A: fade 0 time 500
0001: wait 1000 ms
04C4: store_coords_to $COORD_X $COORD_Y $COORD_Z from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.0
009A: $OPONENTE = create_actor_pedtype 4 model #SWAT at $COORD_X $COORD_Y $COORD_Z
01B2: give_actor $OPONENTE weapon 30 ammo 60 // Load the weapon model before using this
01B2: give_actor $PLAYER_ACTOR weapon 30 ammo 30000 // Load the weapon model before using this
074D: AS_actor $OPONENTE turns_to_and_look_at_actor $PLAYER_ACTOR timelimit -2
05E2: AS_actor $OPONENTE kill_actor $PLAYER_ACTOR
0001: wait 1000 ms
016A: fade 1 time 500
0002: jump @MISSAO_BLOG_250

:MISSAO_BLOG_250
0001: wait 0 ms
00D6: if
0118: actor $OPONENTE dead
004D: jump_if_false @MISSAO_BLOG_250
0001: wait 500 ms
01E3: show_text_1number_styled GXT 'M_PASSD' number 0 time 5000 style 1 // MISSION PASSED!
0394: play_music 1
0001: wait 2000 ms
016A: fade 0 time 500
0001: wait 1000 ms
009B: destroy_actor $OPONENTE
0001: wait 1000 ms
016A: fade 1 time 500
004E: end_thread



Agora irei explicar cada linha do script: (as mais importantes, é claro)

00FF: actor $PLAYER_ACTOR sphere 1 in_sphere 2491.5 -1667.5 13.35 radius 1.0 1.0 1.0 on_foot = Essa linha define o local da famosa MARQUINHA VERMELHA, onde precisa ir para iniciar a missão.

0247: load_model #SWAT
0247: load_model #AK47 = Modelos a serem usados na missão, no caso, o pedestre SWAT (nivel 6 de policia) e a arma AK47, que será usada pelo pedestre.

016A: fade 0 time 500 = Esse comando serve apenas para complementar a missão, que adiciona um FADE (a tela escuresce e depois volta ao normal com outro upcode), para que não aparesca o spawn do pedestre ou outras coisas que vão ser usadas no cleo.
OBS: valor 0 = escuresce
valor 1 = volta ao normal

04C4: store_coords_to $COORD_X $COORD_Y $COORD_Z from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.0 = Linha que irá criar um coordenada imaginária, a partir do CJ, onde ficara 0.0 para o valor X, 5.0 para o valor Y e 0.0 para valor Z (pra quem não intendeu, essa coordenada é criada a frente do CJ, a mais ou menos 5 metros do jogo)


009A: $OPONENTE = create_actor_pedtype 4 model #SWAT at $COORD_X $COORD_Y $COORD_Z = Linha que cria o pedestre na coordenada que foi criada antes.

01B2: give_actor $OPONENTE weapon 30 ammo 60 // Load the weapon model before using this = Linha que dá ao pedestre a arma AK4, carregada anteriormente.


074D: AS_actor $OPONENTE turns_to_and_look_at_actor $PLAYER_ACTOR timelimit -2 = Upcode usado para não precisar definir o angulo do pedestre, pois esse ele é criado e se vira para o angulo oposto do CJ.


05E2: AS_actor $OPONENTE kill_actor $PLAYER_ACTOR = Comando que faz com que o pedestre tente matar o CJ

0118: actor $OPONENTE dead = Linha que confirma quando o determinado pedestre morre, assim deixa seguir a leitura do script.

01E3: show_text_1number_styled GXT 'M_PASSD' number 0 time 5000 style 1 = Linha que exibe a mensagem MISSÃO COMPLETA, usada no jogo.

0394: play_music 1 = Linha que faz com que toque a famosa musiquinha do jogo , quando você completa a missão.

009B: destroy_actor $OPONENTE = Destroy o pedestre depois que ele é morto.

Visitantes Online