muito massa você ter gravado um vídeo!!
Pesquisa resultou em 3 ocorrências
Voltar para “Asa Delta (remake)”
- 29 Nov 2018, 08:19
- Fórum: Scripts & Códigos
- Tópico: Asa Delta (remake)
- Respostas: 12
- Exibições: 2342
- Gênero:
Re: Asa Delta (remake)
muito massa você ter gravado um vídeo!!
- 28 Nov 2018, 08:33
- Fórum: Scripts & Códigos
- Tópico: Asa Delta (remake)
- Respostas: 12
- Exibições: 2342
- Gênero:
Re: Asa Delta (remake)
verdade cara, eu vou criar um sistema pra escolher as localizações por .ini
- 27 Nov 2018, 10:22
- Fórum: Scripts & Códigos
- Tópico: Asa Delta (remake)
- Respostas: 12
- Exibições: 2342
- Gênero:
Asa Delta (remake)
Existe um mod antigo com muito potencial Hang Glider Mod resolvi recriar o script desse mod, e acabou ficando realmente bom!
Chegue perto e aperte F para pegar e carregar por aí a asa delta, agora quando você estiver no ar já vai começar a voar!
Atualizado: agora todas as localizações são configuráveis por .ini
Download
Chegue perto e aperte F para pegar e carregar por aí a asa delta, agora quando você estiver no ar já vai começar a voar!
Atualizado: agora todas as localizações são configuráveis por .ini
LocalizaçõesAbrir
SourceAbrir
Código: Selecionar tudo
SCRIPT_START
{
LVAR_INT scplayer asa
LVAR_INT l_LR l_UD iDireito
LVAR_FLOAT x[8] y[8] z[2] angulo altura giro_x giro_y gravidade frente fTimer fps
GET_PLAYER_CHAR 0 scplayer
IF IS_AUSTRALIAN_GAME
CREATE_OBJECT_NO_OFFSET 18631 x[0] y[0] -100.0 asa
ENDIF
IF NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 1" "x" x[1]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 1" "y" y[1]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 2" "x" x[2]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 2" "y" y[2]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 3" "x" x[3]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 3" "y" y[3]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 4" "x" x[4]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 4" "y" y[4]
PRINT_STRING_NOW "instalaœšo da asa delta incorreta" 6000
TERMINATE_THIS_CUSTOM_SCRIPT
ENDIF
IF NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 5" "x" x[5]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 5" "y" y[5]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 6" "x" x[6]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 6" "y" y[6]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 7" "x" x[7]
OR NOT READ_FLOAT_FROM_INI_FILE "cleo\asa_delta.ini" "Localização 7" "y" y[7]
PRINT_STRING_NOW "instalaœšo da asa delta incorreta" 6000
TERMINATE_THIS_CUSTOM_SCRIPT
ENDIF
loop:
WAIT 0
IF LOCATE_CHAR_ANY_MEANS_2D scplayer x[1] y[1] 160.0 160.0 FALSE //el astillho
x[0] = x[1]
y[0] = y[1]
angulo = 1.5
ELSE
IF LOCATE_CHAR_ANY_MEANS_2D scplayer x[2] y[2] 160.0 160.0 FALSE //predio ls
x[0] = x[2]
y[0] = y[2]
angulo = 256.1
ELSE
IF LOCATE_CHAR_ANY_MEANS_2D scplayer x[3] y[3] 160.0 160.0 FALSE //chilliad
x[0] = x[3]
y[0] = y[3]
angulo = 270.9
ELSE
IF LOCATE_CHAR_ANY_MEANS_2D scplayer x[4] y[4] 160.0 160.0 FALSE //avião
x[0] = x[4]
y[0] = y[4]
angulo = 1.5
ELSE
IF LOCATE_CHAR_ANY_MEANS_2D scplayer x[5] y[5] 160.0 160.0 FALSE //RED COUNy
x[0] = x[5]
y[0] = y[5]
angulo = 1.5
ELSE
IF LOCATE_CHAR_ANY_MEANS_2D scplayer x[6] y[6] 160.0 160.0 FALSE //arco del oeste 50.876976
x[0] = x[6]
y[0] = y[6]
angulo = 179.8
ELSE
IF LOCATE_CHAR_ANY_MEANS_2D scplayer x[7] y[7] 160.0 160.0 FALSE
x[0] = x[7]
y[0] = y[7]
angulo = 50.8
ELSE
x[0] = 5000.0
y[0] = 5000.0
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF DOES_OBJECT_EXIST asa
GET_OBJECT_COORDINATES asa x[0] y[0] z[0]
ENDIF
IF LOCATE_CHAR_ANY_MEANS_2D scplayer x[0] y[0] 110.0 110.0 FALSE
IF NOT DOES_OBJECT_EXIST asa
REQUEST_ANIMATION "D4FHANGG1"
REQUEST_MODEL 18631
WHILE NOT HAS_ANIMATION_LOADED "D4FHANGG1"
OR NOT HAS_MODEL_LOADED 18631
WAIT 0
ENDWHILE
CREATE_OBJECT_NO_OFFSET 18631 x[0] y[0] -100.0 asa
SET_OBJECT_HEADING asa angulo
ELSE
IF LOCATE_CHAR_ANY_MEANS_OBJECT_3D scplayer asa 5.0 5.0 3.0 FALSE
AND IS_PLAYER_PLAYING 0
AND NOT IS_CHAR_IN_ANY_CAR scplayer
AND NOT IS_PLAYER_USING_JETPACK 0
IF IS_BUTTON_PRESSED 0 15
WHILE IS_BUTTON_PRESSED 0 15
WAIT 0
ENDWHILE
IF LOCATE_CHAR_ANY_MEANS_OBJECT_3D scplayer asa 5.0 5.0 3.0 FALSE
SET_CURRENT_CHAR_WEAPON scplayer 0
SET_PLAYER_ENTER_CAR_BUTTON 0 0
SET_PLAYER_CYCLE_WEAPON_BUTTON 0 0
SET_PLAYER_FIRE_BUTTON 0 0
SET_PLAYER_DUCK_BUTTON 0 0
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.0 0.0 0.5 x[1] y[1] x[1]
GET_CHAR_HEADING scplayer angulo
DELETE_OBJECT asa
CREATE_OBJECT_NO_OFFSET 18631 x[1] y[1] x[1] asa
SET_OBJECT_COLLISION asa TRUE
TASK_PICK_UP_OBJECT scplayer asa 0.15 0.85 -0.425 7 1 "NULL" "NULL" 1
SET_OBJECT_HEADING asa angulo
WHILE NOT IS_CHAR_DEAD scplayer
WAIT 0
IF IS_BUTTON_PRESSED 0 15
WHILE IS_BUTTON_PRESSED 0 15
WAIT 0
ENDWHILE
GOSUB recriar_asa
GOSUB release1
GOTO loop
ENDIF
IF IS_CHAR_IN_ANY_CAR scplayer
GOSUB release
GOTO loop//
ENDIF
GET_CHAR_HEIGHT_ABOVE_GROUND scplayer z[0]
IF IS_CHAR_IN_AIR scplayer
IF z[0] > 3.0
GET_CHAR_HEADING scplayer angulo
gravidade = -1.7
timerb = 0
GOTO loop_asadelta
ENDIF
ENDIF
ENDWHILE
GOSUB release
GOTO loop
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF NOT LOCATE_CHAR_ANY_MEANS_2D scplayer x[0] y[0] 120.0 120.0 FALSE
REMOVE_ANIMATION "D4FHANGG1"
MARK_MODEL_AS_NO_LONGER_NEEDED 18631
IF DOES_OBJECT_EXIST asa
DELETE_OBJECT asa
ENDIF
ENDIF
GOTO loop
loop_asadelta:
WAIT 0
GET_POSITION_OF_ANALOGUE_STICKS 0 l_LR l_UD iDireito iDireito
IF NOT l_LR = 0
IF l_LR < 0 //esquerda
IF giro_x > -40.0
giro_x -=@ 0.7
frente = 0.0
frente +=@ 0.3
ENDIF
fTimer =# timera
fTimer /= 1000.0
IF fTimer < 1.9
angulo +=@ fTimer
ELSE
angulo +=@ 1.9
ENDIF
ENDIF
IF l_LR > 0
IF giro_x < 40.0
giro_x +=@ 0.7
frente = 0.0
frente +=@ 0.3
ENDIF
fTimer =# timera
fTimer /= 1000.0
IF fTimer < 1.9
angulo -=@ fTimer
ELSE
angulo -=@ 1.9
ENDIF
ENDIF
ELSE
timera = 0
IF giro_x > 0.0
giro_x -=@ 0.6
angulo -=@ 0.1
ENDIF
IF giro_x < 0.0
giro_x +=@ 0.6
angulo +=@ 0.1
ENDIF
IF giro_x > -0.4
AND giro_x < 0.4
giro_x = 0.0
frente = 0.0
frente +=@ 0.35
ENDIF
ENDIF
IF NOT l_UD = 0
IF l_UD < 0//cima
giro_y -=@ 0.5
gravidade = 0.0
gravidade +=@ 0.4
ENDIF
IF l_UD > 0//baixo
IF NOT giro_y > 12.0
giro_y +=@ 0.5
ENDIF
frente = 0.0
frente +=@ 0.2
ENDIF
ELSE
IF giro_y > 0.0
giro_y -=@ 0.125
ENDIF
IF giro_y < 0.0
giro_y +=@ 0.125
ENDIF
ENDIF
IF giro_y >= 0.5
AND giro_y <= -0.5
giro_y = 0.0
gravidade +=@ -3.5
ENDIF
//IF gravidade > -4.6
//AND gravidade < 1.4
// gravidade = 0.0
//ENDIF
GET_CHAR_HEIGHT_ABOVE_GROUND scplayer z[0]
IF z[0] > 80.0
timerb = 0
gravidade = 0.0
gravidade +=@ -4.5
//frente +=@ 0.2
ENDIF
IF timerb > 3000
OR gravidade = 0.0
gravidade = 0.0
gravidade +=@ -2.7
ENDIF
IF giro_y < -0.5
gravidade = 0.0
gravidade +=@ giro_y
ENDIF
fps = 0.0
fps +=@ 1.0
GOSUB corrigir_fps
//PRINT_FORMATTED_NOW "%.2f %.2f %i" 1 z[0] gravidade timerb
SET_CHAR_VELOCITY scplayer 0.0 0.0 gravidade
TASK_PLAY_ANIM_NON_INTERRUPTABLE scplayer "D4FHANGG1" "D4FHANGG1" 10.0 1 0 0 0 -1
SET_CHAR_HEADING scplayer angulo
SET_CHAR_ROTATION scplayer giro_y giro_x angulo
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.0 frente 0.0 x[1] y[1] z[1]
GET_CHAR_COORDINATES scplayer x[0] y[0] z[0]
CLEO_CALL SetCharPosSimple 0 scplayer x[1] y[1]
IF IS_CHAR_IN_WATER scplayer
OR NOT IS_CHAR_HEALTH_GREATER scplayer 1
GOSUB release
GOTO loop
ENDIF
IF IS_BUTTON_PRESSED 0 15
WHILE IS_BUTTON_PRESSED 0 15
WAIT 0
ENDWHILE
GOSUB recriar_asa
GOSUB release1
GOTO loop
ENDIF
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.0 1.5 0.0 x[1] y[1] z[1]
GET_CHAR_COORDINATES scplayer x[0] y[0] z[0]
IF NOT IS_LINE_OF_SIGHT_CLEAR x[0] y[0] z[0] x[1] y[1] z[1] 1 1 0 1 0
GOSUB release
GOTO loop//
ENDIF
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 1.5 1.0 0.0 x[1] y[1] z[1]
GET_CHAR_COORDINATES scplayer x[0] y[0] z[0]
IF NOT IS_LINE_OF_SIGHT_CLEAR x[0] y[0] z[0] x[1] y[1] z[1] 1 1 0 1 0
GOSUB release
GOTO loop//
ENDIF
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer -1.5 1.0 0.0 x[1] y[1] z[1]
GET_CHAR_COORDINATES scplayer x[0] y[0] z[0]
IF NOT IS_LINE_OF_SIGHT_CLEAR x[0] y[0] z[0] x[1] y[1] z[1] 1 1 0 1 0
GOSUB release
GOTO loop//
ENDIF
GET_CHAR_HEIGHT_ABOVE_GROUND scplayer altura
IF altura < 1.6
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.0 2.0 0.0 x[0] y[0] z[0]
GET_GROUND_Z_FOR_3D_COORD x[0] y[0] z[0] z[1]
GET_DISTANCE_BETWEEN_COORDS_3D x[0] y[0] z[0] x[1] y[1] z[1] z[1]
IF z[1] < 4.0
TASK_PLAY_ANIM_NON_INTERRUPTABLE scplayer "FALL_collapse" "ped" 4.0 0 1 1 1 -1
WAIT 1000
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer
GOSUB recriar_asa
GOSUB release1
GOTO loop
ENDIF
ENDIF
GOTO loop_asadelta
release:
CLEAR_CHAR_TASKS_IMMEDIATELY scplayer
REMOVE_ANIMATION "D4FHANGG1"
SET_CHAR_ROTATION scplayer 0.0 0.0 0.0
RESTORE_CAMERA
CAMERA_RESET_NEW_SCRIPTABLES
MARK_MODEL_AS_NO_LONGER_NEEDED 18631
IF DOES_OBJECT_EXIST asa
DELETE_OBJECT asa
ENDIF
release1:
SET_PLAYER_CYCLE_WEAPON_BUTTON 0 1
SET_PLAYER_ENTER_CAR_BUTTON 0 1
SET_PLAYER_CYCLE_WEAPON_BUTTON 0 1
SET_PLAYER_FIRE_BUTTON 0 1
SET_PLAYER_DUCK_BUTTON 0 1
RETURN
recriar_asa:
IF DOES_OBJECT_EXIST asa
GET_OBJECT_HEADING asa angulo
DELETE_OBJECT asa
ENDIF
IF NOT DOES_OBJECT_EXIST asa
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.9 2.9 0.0 x[1] y[1] z[1]
GET_CHAR_COORDINATES scplayer x[0] y[0] z[0]
IF IS_LINE_OF_SIGHT_CLEAR x[0] y[0] z[0] x[1] y[1] z[1] 1 1 0 1 0
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.5 2.5 0.0 x[1] y[1] z[1]
CREATE_OBJECT_NO_OFFSET 18631 x[1] y[1] -100.0 asa
SET_OBJECT_HEADING asa angulo
ELSE
GOSUB release
ENDIF
ENDIF
RETURN
corrigir_fps:
IF fps > 2.9
gravidade /= 3.0
ELSE
IF fps > 2.4
gravidade /= 2.5
ELSE
IF fps > 1.9
gravidade /= 2.0
ELSE
IF fps > 1.5
gravidade /= 1.66
ELSE
IF fps > 1.3
gravidade /= 1.42
ELSE
IF fps > 1.2
gravidade /= 1.25
ELSE
IF fps > 1.0
gravidade /= 1.11
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
RETURN
}
{
LVAR_INT hChar // In
LVAR_FLOAT x y // In
LVAR_INT pPed pMatrix pCoord
SetCharPosSimple:
GET_PED_POINTER hChar pPed
pMatrix = pPed + 0x14
READ_MEMORY pMatrix 4 FALSE (pMatrix)
pCoord = pMatrix + 0x30
WRITE_MEMORY pCoord 4 (x) FALSE
pCoord += 0x4 // y
WRITE_MEMORY pCoord 4 (y) FALSE
CLEO_RETURN 0 ()
}
SCRIPT_END