Skip to content

Instantly share code, notes, and snippets.

@nadalao
Created February 5, 2019 19:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nadalao/31342327a5350993e21087bf597aff44 to your computer and use it in GitHub Desktop.
Save nadalao/31342327a5350993e21087bf597aff44 to your computer and use it in GitHub Desktop.
SCRIPT_START
{
NOP
LVAR_INT id_da_lenda quantidade_de_lendas scplayer lenda
LVAR_INT int[3] dia_da_semana[2] horas minutos decision nome_ini
LVAR_FLOAT float[2] posição_x posição_y posição_z
LVAR_TEXT_LABEL número_lenda animação dff_txd
GET_PLAYER_CHAR 0 scplayer
IF id_da_lenda = 0
READ_INT_FROM_INI_FILE "cleo\myths_maker1.ini" "Configurações gerais" "Quantidade de lendas" quantidade_de_lendas
WHILE quantidade_de_lendas > id_da_lenda
WAIT 0
id_da_lenda += 1
STREAM_CUSTOM_SCRIPT "myths_maker.cs" id_da_lenda
ENDWHILE
TERMINATE_THIS_CUSTOM_SCRIPT
ENDIF
GET_LABEL_POINTER string_label (nome_ini)
STRING_FORMAT (nome_ini) "cleo\myths_maker%i.ini" id_da_lenda
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Horas de início" int[0]
CLEO_CALL escrever_int 0 (0) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Horas de término" int[0]
CLEO_CALL escrever_int 0 (1) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Pode ser encontrado de carro?" int[0]
CLEO_CALL escrever_int 0 (2) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Tipo de spawn" int[0]
CLEO_CALL escrever_int 0 (3) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "ID do Special Character" int[1]
CLEO_CALL escrever_int 0 (4) int[1]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Dano" int[0]
CLEO_CALL escrever_int 0 (5) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Clima" int[0]
CLEO_CALL escrever_int 0 (6) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Anda aleatóriamente?" int[0]
CLEO_CALL escrever_int 0 (7) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Desliga o carro?" int[0]
CLEO_CALL escrever_int 0 (8) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Tempo de respawn" int[0]
CLEO_CALL escrever_int 0 (9) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Precisão de ataques" int[0]
CLEO_CALL escrever_int 0 (10) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Frequência de ataques" int[0]
CLEO_CALL escrever_int 0 (11) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Vida" int[0]
CLEO_CALL escrever_int 0 (12) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Dinheiro" int[0]
CLEO_CALL escrever_int 0 (13) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Pode ser decapitado?" int[0]
CLEO_CALL escrever_int 0 (14) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Se afoga na água?" int[0]
CLEO_CALL escrever_int 0 (15) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Id da arma" int[0]
CLEO_CALL escrever_int 0 (16) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "À prova de balas?" int[0]
CLEO_CALL escrever_int 0 (17) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "À prova de fogo?" int[0]
CLEO_CALL escrever_int 0 (18) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "À prova de explosão?" int[0]
CLEO_CALL escrever_int 0 (19) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "À prova de colisão?" int[0]
CLEO_CALL escrever_int 0 (20) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "À prova de socos?" int[0]
CLEO_CALL escrever_int 0 (21) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Deixa rasto de sangue?" int[0]
CLEO_CALL escrever_int 0 (22) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Desativar tráfego?" int[0]
CLEO_CALL escrever_int 0 (23) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Desativar pedestres?" int[0]
CLEO_CALL escrever_int 0 (24) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Chance de encontrar" int[0]
CLEO_CALL escrever_int 0 (25) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Clima para encontrar" int[0]
CLEO_CALL escrever_int 0 (26) int[0]
READ_INT_FROM_INI_FILE $nome_ini "Lenda" "Ataca pedestres?" int[0]
CLEO_CALL escrever_int 0 (27) int[0]
//float
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Raio X" float[0]
CLEO_CALL escrever_float 0 (0) float[0]
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Raio Y" float[0]
CLEO_CALL escrever_float 0 (1) float[0]
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Raio para atacar" float[0]
CLEO_CALL escrever_float 0 (2) float[0]
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Diferença de altura máx" float[0]
CLEO_CALL escrever_float 0 (3) float[0]
//string
READ_STRING_FROM_INI_FILE $nome_ini "Lenda" "Animação" animação
READ_STRING_FROM_INI_FILE $nome_ini "Lenda" "Nome do arquivo" dff_txd
CLEO_CALL ler_float 0 0 float[0] //raio x
CLEO_CALL ler_float 0 1 float[1] //raio y
CLEO_CALL ler_int 0 4 int[0]
início:
GET_CURRENT_DAY_OF_WEEK dia_da_semana[0]
GET_CURRENT_DAY_OF_WEEK dia_da_semana[1]
GOSUB ler_dia
WHILE IS_PC_VERSION
WAIT 0
GET_CURRENT_DAY_OF_WEEK dia_da_semana[0]
IF NOT dia_da_semana[0] = dia_da_semana[1]
GOSUB ler_dia
ENDIF
IF LOCATE_CHAR_ANY_MEANS_2D scplayer posição_x posição_y float[0] float[1] 0
IF GOSUB check
GOTO criar_lenda
ENDIF
ENDIF
ENDWHILE
ler_dia:
SWITCH dia_da_semana[0]
CASE 1
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Domingo X" posição_x
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Domingo Y" posição_y
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Domingo Z" posição_z
BREAK
CASE 2
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Segunda X" posição_x
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Segunda Y" posição_y
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Segunda Z" posição_z
BREAK
CASE 3
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Terça X" posição_x
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Terça Y" posição_y
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Terça Z" posição_z
BREAK
CASE 4
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Quarta X" posição_x
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Quarta Y" posição_y
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Quarta Z" posição_z
BREAK
CASE 5
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Quinta X" posição_x
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Quinta Y" posição_y
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Quinta Z" posição_z
BREAK
CASE 6
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Sexta X" posição_x
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Sexta Y" posição_y
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Sexta Z" posição_z
BREAK
CASE 7
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Sábado X" posição_x
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Sábado Y" posição_y
READ_FLOAT_FROM_INI_FILE $nome_ini "Lenda" "Sábado Z" posição_z
BREAK
ENDSWITCH
dia_da_semana[1] = dia_da_semana[0]
RETURN
check:
IF IS_CHAR_IN_ANY_CAR scplayer
CLEO_CALL ler_int 0 2 int[0] //de carro
IF int[0] = 0
IS_AUSTRALIAN_GAME
RETURN
ENDIF
ENDIF
CLEO_CALL ler_int 0 (26) int[0]
IF int[0] > 0
READ_MEMORY 0xC81320 2 0 int[1]//curweather
IF NOT int[0] = int[1]
IS_AUSTRALIAN_GAME
RETURN
ENDIF
ENDIF
READ_MEMORY 0x96ABA0 1 0 int[0]//onmission
IF int[0] = 0
IF NOT IS_WANTED_LEVEL_GREATER 0 0
CLEO_CALL ler_int 0 (0) int[0] //horas de início
CLEO_CALL ler_int 0 (1) int[1] //horas de término
int[2] = int[0] + int[0] //hora máxima
GET_TIME_OF_DAY horas minutos
IF int[2] > 24
IF horas >= int[0]
OR horas <= int[1]
IS_PC_VERSION
RETURN
ENDIF
ELSE
IF horas >= int[0]
IF horas <= int[1]
IS_PC_VERSION
RETURN
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IS_AUSTRALIAN_GAME
RETURN
criar_lenda:
GENERATE_RANDOM_INT_IN_RANGE 0 100 int[1]
CLEO_CALL ler_int 0 (25) int[0]
IF int[0] < int[1]
GOTO release
ENDIF
CLEO_CALL ler_int 0 (6) int[0]
IF int[0] > 0
FORCE_WEATHER_NOW int[0]
ENDIF
CLEO_CALL ler_int 0 (4) int[1]//id special character
LOAD_SPECIAL_CHARACTER int[1] $dff_txd
WHILE NOT HAS_SPECIAL_CHARACTER_LOADED int[1]
WAIT 0
ENDWHILE
int[1] += 289
CREATE_CHAR PEDTYPE_MISSION1 int[1] 0.0 -3000.0 -100.0 lenda
SET_CHAR_DROWNS_IN_WATER lenda FALSE
SET_ANIM_GROUP_FOR_CHAR lenda $animação
SET_CHAR_VISIBLE lenda 0
SET_WANTED_MULTIPLIER 0.0
CLEO_CALL ler_int 0 (23) int[0]
IF int[0] = 1
SET_CAR_DENSITY_MULTIPLIER 0.0
ENDIF
CLEO_CALL ler_int 0 (24) int[0]
IF int[0] = 1
SET_PED_DENSITY_MULTIPLIER 0.0
ENDIF
CLEO_CALL ler_int 0 (3) int[0]//tipo de spawn
SWITCH int[0]
DEFAULT
SET_CHAR_COORDINATES lenda posição_x posição_y posição_z
BREAK
CASE 1
WHILE NOT HAS_CHAR_SPOTTED_CHAR scplayer lenda
OR IS_CHAR_ON_SCREEN lenda
OR NOT LOCATE_CHAR_ANY_MEANS_CHAR_2D scplayer lenda 60.0 60.0 0
WAIT 0
GENERATE_RANDOM_INT_IN_RANGE 0 12 int[0]
SWITCH int[0]
CASE 0
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 00.0 45.0 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 1
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 22.5 38.9 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 2
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 38.9 22.5 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 3
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 45.0 0.0 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 4
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 38.9 -22.5 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 5
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 22.5 -38.9 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 6
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.0 -45.0 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 7
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer -22.5 -38.9 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 8
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer -38.9 -22.5 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 9
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer -45.0 0.0 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 10
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer -38.9 22.5 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
CASE 11
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer -22.5 38.9 0.0 posição_x posição_y posição_z
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
WAIT 200
BREAK
ENDSWITCH
TASK_LOOK_AT_CHAR lenda scplayer 1000
TASK_TURN_CHAR_TO_FACE_CHAR lenda scplayer
ENDWHILE
BREAK
CASE 2
CLEO_CALL area_grande 0 scplayer lenda posição_x posição_y posição_z
BREAK
ENDSWITCH
SET_CHAR_VISIBLE lenda TRUE
UNLOAD_SPECIAL_CHARACTER lenda
SET_CHAR_USES_UPPERBODY_DAMAGE_ANIMS_ONLY lenda TRUE
CLEO_CALL ler_int 0 (10) int[0]
SET_CHAR_ACCURACY lenda int[0]
CLEO_CALL ler_int 0 (11) int[0]
SET_CHAR_SHOOT_RATE lenda int[0]
CLEO_CALL ler_int 0 (12) int[0]
SET_CHAR_HEALTH lenda int[0]
CLEO_CALL ler_int 0 (14) int[0]
SET_CHAR_SUFFERS_CRITICAL_HITS lenda int[0]
CLEO_CALL ler_int 0 (15) int[0]
SET_CHAR_DROWNS_IN_WATER lenda int[0]
CLEO_CALL ler_int 0 (22) int[0]
SET_CHAR_BLEEDING lenda int[0]
CLEO_CALL ler_proofs 0 lenda
LOAD_CHAR_DECISION_MAKER 0 decision
TASK_SET_CHAR_DECISION_MAKER lenda decision
CLEO_CALL ler_int 0 (16) int[0]//id da arma
SWITCH int[0]
CASE 1 //Brass Knuckles
int[1] = 331
BREAK
CASE 2 //Golf Club
int[1] = 333
BREAK
CASE 3 //Nightstick
int[1] = 334
BREAK
CASE 4 //Knife
int[1] = 335
BREAK
CASE 5 //Baseball Bat
int[1] = 336
BREAK
CASE 6 //Shovel
int[1] = 337
BREAK
CASE 7 //Pool Cue
int[1] = 338
BREAK
CASE 8 //Katana
int[1] = 339
BREAK
CASE 9 //Chainsaw
int[1] = 341
BREAK
CASE 10 //Purple Dildo
int[1] = 321
BREAK
CASE 11 //Dildo
int[1] = 322
BREAK
CASE 12 //Vibrator
int[1] = 323
BREAK
CASE 13 //Silver Vibrator
int[1] = 324
BREAK
CASE 14 //Flowers
int[1] = 325
BREAK
CASE 15 //Cane
int[1] = 326
BREAK
CASE 16 //Grenade
int[1] = 342
BREAK
CASE 17 //Tear Gas
int[1] = 343
BREAK
CASE 18 //Molotov
int[1] = 344
BREAK
CASE 22 //9mm
int[1] = 346
BREAK
CASE 23 //Silenced 9mm
int[1] = 347
BREAK
CASE 24 //Desert Eagle
int[1] = 348
BREAK
CASE 25 //Shotgun
int[1] = 349
BREAK
CASE 26 //Sawnoff Shotgun
int[1] = 350
BREAK
CASE 27 //Combat Shotgun
int[1] = 351
BREAK
CASE 28 //Micro Uzi
int[1] = 352
BREAK
CASE 29 //MP5
int[1] = 353
BREAK
CASE 30 //AK-47
int[1] = 355
BREAK
CASE 31 //M4
int[1] = 356
BREAK
CASE 32 //Tec-9
int[1] = 372
BREAK
CASE 33 //Country Rifle
int[1] = 357
BREAK
CASE 34 //Sniper Rifle
int[1] = 358
BREAK
CASE 35 //RPG
int[1] = 359
BREAK
CASE 37 //Flamethrower
int[1] = 361
BREAK
CASE 38 //Minigun
int[1] = 362
BREAK
CASE 41 //Spraycan
int[1] = 365
BREAK
CASE 42 //Fire Extinguisher
int[1] = 366
BREAK
DEFAULT
int[0] = 4
int[1] = 335
BREAK
ENDSWITCH
IF int[0] > 0
REQUEST_MODEL int[1]
WHILE NOT HAS_MODEL_LOADED int[1]
WAIT 0
ENDWHILE
GIVE_WEAPON_TO_CHAR lenda int[0] 999
SET_CHAR_DROPS_WEAPONS_WHEN_DEAD lenda FALSE
ENDIF
CLEO_CALL ler_int 0 (13) int[0]
SET_CHAR_MONEY lenda int[0]
CLEO_CALL ler_int 0 (7) int[0]
IF int[0] = 1
TASK_WANDER_STANDARD lenda
ENDIF
CLEO_CALL ler_int 0 (27) int[0]
IF int[0] = 1
LOAD_CHAR_DECISION_MAKER 2 decision
int[0] = 2
WHILE int[0] < 31
SET_CHAR_RELATIONSHIP lenda 4 int[0]
int[0] += 1
ENDWHILE
ADD_CHAR_DECISION_MAKER_EVENT_RESPONSE decision 0 1000 0.0 100.0 0.0 0.0 0 1
TASK_SET_CHAR_DECISION_MAKER lenda decision
ENDIF
CLEO_CALL ler_float 0 (0) float[0] //raio x
CLEO_CALL ler_float 0 (2) float[1] //raio ataque
float[0] *= 2.0
CLEO_CALL ler_int 0 (8) int[0]
WHILE NOT LOCATE_CHAR_ANY_MEANS_CHAR_2D scplayer lenda float[1] float[1] 0
WAIT 0
IF int[0] = 1
CLEO_CALL desligar 0 scplayer
ENDIF
IF NOT LOCATE_CHAR_ANY_MEANS_CHAR_2D scplayer lenda float[0] float[0] 0
GOTO release
ENDIF
ENDWHILE
LOAD_CHAR_DECISION_MAKER 2 decision
TASK_KILL_CHAR_ON_FOOT lenda scplayer
SET_CHAR_RELATIONSHIP lenda 4 PEDTYPE_PLAYER1
SET_CHAR_RELATIONSHIP lenda 4 PEDTYPE_PLAYER2
ADD_CHAR_DECISION_MAKER_EVENT_RESPONSE decision 0 1000 0.0 100.0 0.0 0.0 0 1
TASK_SET_CHAR_DECISION_MAKER lenda decision
CLEO_CALL ler_int 0 (5) int[1]//dano
WHILE LOCATE_CHAR_ANY_MEANS_CHAR_2D scplayer lenda float[0] float[0] 0
AND NOT HAS_DEATHARREST_BEEN_EXECUTED
AND NOT IS_CHAR_DEAD lenda
WAIT 0
IF DOES_CHAR_EXIST lenda
IF HAS_CHAR_BEEN_DAMAGED_BY_CHAR scplayer lenda
DAMAGE_CHAR scplayer int[1] 1
CLEAR_CHAR_LAST_DAMAGE_ENTITY scplayer
ENDIF
ENDIF
IF int[0] = 1
CLEO_CALL desligar 0 scplayer
ENDIF
ENDWHILE
CLEO_CALL ler_int 0 (9) int[0]//tempo respawn
release:
IF DOES_CHAR_EXIST lenda
IF IS_CHAR_DEAD lenda
OR HAS_DEATHARREST_BEEN_EXECUTED
MARK_CHAR_AS_NO_LONGER_NEEDED lenda
ELSE
DELETE_CHAR lenda
ENDIF
ENDIF
SET_WANTED_MULTIPLIER 1.0
CLEO_CALL ler_int 0 (23) int[0]
IF int[0] = 1
SET_CAR_DENSITY_MULTIPLIER 1.0
ENDIF
CLEO_CALL ler_int 0 (24) int[0]
IF int[0] = 1
SET_PED_DENSITY_MULTIPLIER 1.0
ENDIF
WHILE DOES_CHAR_EXIST lenda
WAIT 0
ENDWHILE
CLEO_CALL esperar 0 int[0]
GOTO início
}
{
LVAR_INT tempo_respawn hora_máxima horas minutos
esperar:
GET_TIME_OF_DAY horas minutos
hora_máxima = tempo_respawn + horas
IF hora_máxima > 24
hora_máxima -= 24
ENDIF
WHILE NOT horas >= hora_máxima
WAIT 0
GET_TIME_OF_DAY horas minutos
ENDWHILE
CLEO_RETURN 0
}
{
LVAR_INT scplayer CVehicle car pGasPedal mSubClass
desligar:
IF IS_CHAR_IN_ANY_CAR scplayer
IF NOT IS_CHAR_IN_ANY_HELI scplayer
AND NOT IS_CHAR_IN_ANY_PLANE scplayer
STORE_CAR_CHAR_IS_IN_NO_SAVE scplayer car
GET_VEHICLE_POINTER car (CVehicle)
CVehicle += 0x594
READ_MEMORY CVehicle 4 FALSE (mSubClass)
IF mSubClass = 0 // carro
OR mSubClass = 9 // moto
pGasPedal = 0xB73458
pGasPedal += 0x20
WRITE_MEMORY pGasPedal 4 0 FALSE
CLEO_RETURN 0
ENDIF
ENDIF
ENDIF
CLEO_RETURN 0
}
{
LVAR_INT lenda BP FP EP CP MP
ler_proofs:
CLEO_CALL ler_int 0 (17) BP
CLEO_CALL ler_int 0 (18) FP
CLEO_CALL ler_int 0 (19) EP
CLEO_CALL ler_int 0 (20) CP
CLEO_CALL ler_int 0 (21) MP
SET_CHAR_PROOFS lenda BP FP EP CP MP
CLEO_RETURN 0
}
{
LVAR_INT scplayer lenda
LVAR_FLOAT posição_x posição_y posição_z raio_x raio_y x[2] y[2] z[3] diferença_de_altura_máx[2]
area_grande:
CLEO_CALL ler_float 0 (0) raio_x
CLEO_CALL ler_float 0 (1) raio_y
raio_x /= 2.0
x[0] = posição_x
x[0] -= raio_x
x[1] = posição_x
x[1] += raio_x
raio_y /= 2.0
y[0] = posição_y
y[0] -= raio_y
y[1] = posição_y
y[1] += raio_y
CLEO_CALL ler_float 0 (3) diferença_de_altura_máx[0]
diferença_de_altura_máx[1] = diferença_de_altura_máx[0]
diferença_de_altura_máx[1] *= -1.0
WHILE IS_CHAR_ON_SCREEN lenda
OR NOT LOCATE_CHAR_ANY_MEANS_CHAR_2D scplayer lenda 100.0 100.0 0
OR z[2] > diferença_de_altura_máx[0]
OR z[2] < diferença_de_altura_máx[1]
WAIT 200
GENERATE_RANDOM_FLOAT_IN_RANGE x[0] x[1] posição_x
GENERATE_RANDOM_FLOAT_IN_RANGE y[0] y[1] posição_y
SET_CHAR_COORDINATES lenda posição_x posição_y -100.0
GET_CHAR_COORDINATES scplayer posição_x posição_x z[0]
GET_CHAR_COORDINATES lenda posição_x posição_x z[1]
z[2] = z[0] - z[1]
TASK_LOOK_AT_CHAR lenda scplayer 1000
TASK_TURN_CHAR_TO_FACE_CHAR lenda scplayer
ENDWHILE
CLEO_RETURN 0
}
{
LVAR_INT slot // In
LVAR_INT valor // In
LVAR_INT memory offset
escrever_int:
GET_LABEL_POINTER int_label memory
offset = slot * 4
memory += offset
WRITE_MEMORY memory 4 valor FALSE
CLEO_RETURN 0
}
{
LVAR_INT slot // In
LVAR_INT memory offset valor
ler_int:
GET_LABEL_POINTER int_label memory
offset = slot * 4
memory += offset
READ_MEMORY memory 4 FALSE (valor)
CLEO_RETURN 0 (valor)
}
{
LVAR_int slot // In
LVAR_FLOAT valor // In
LVAR_INT memory offset
escrever_float:
GET_LABEL_POINTER float_label memory
offset = slot * 4
memory += offset
WRITE_MEMORY memory 4 valor FALSE
CLEO_RETURN 0
}
{
LVAR_INT slot // In
LVAR_INT memory offset
LVAR_FLOAT valor
ler_float:
GET_LABEL_POINTER float_label memory
offset = slot * 4
memory += offset
READ_MEMORY memory 4 FALSE (valor)
CLEO_RETURN 0 (valor)
}
int_label:
DUMP
00 00 00 00 //00 Horas de início
00 00 00 00 //01 Horas de termino
00 00 00 00 //02 Pode ser encontrado de carro?
00 00 00 00 //03 Tipo de spawn
00 00 00 00 //04 ID do Special Character
00 00 00 00 //05 Dano
00 00 00 00 //06 Clima
00 00 00 00 //07 Anda aleatóriamente?
00 00 00 00 //08 Desliga o carro?
00 00 00 00 //09 Tempo de respawn
00 00 00 00 //10 Precisão de ataques
00 00 00 00 //11 Frequência de ataques
00 00 00 00 //12 Vida
00 00 00 00 //13 Dinheiro
00 00 00 00 //14 Pode ser decapitado?
00 00 00 00 //15 Se afoga na água?
00 00 00 00 //16 Id da arma
00 00 00 00 //17 À prova de balas?
00 00 00 00 //18 À prova de fogo?
00 00 00 00 //19 À prova de explosão?
00 00 00 00 //20 À prova de colisão?
00 00 00 00 //21 À prova de socos?
00 00 00 00 //22 Deixa rasto de sangue?
00 00 00 00 //23 Desativar tráfego
00 00 00 00 //24 Desativar pedestres
00 00 00 00 //25 Chance de encontrar
00 00 00 00 //26 Clima para encontrar
00 00 00 00 //27 Ataca pedestres?
ENDDUMP
float_label:
DUMP
00 00 00 00 //raio x
00 00 00 00 //raio y
00 00 00 00 //Raio para atacar
00 00 00 00 //Diferença de altura máx
ENDDUMP
string_label:
DUMP
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
ENDDUMP
SCRIPT_END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment