Pé Grande
Enviado: 07 Jul 2018, 12:29
Estou fazendo um mod grande de novos mitos e lendas, mas acho que esse em especial merece estar em um mod separado.
(considere como um Single sendo lançado antes do álbum de uma banda)
Características:
- Ele não aparece se estiver em alguma missão;
- Ele não dá spawn nas ruas;
- Local aleatório de spawn;
- Ele aparece uma vez por dia*;
- Para maior fidelidade à lenda do pé grande, ele é inicialmente inofensivo;
*Melhor explicando o sistema de spawn que fiz: o script define uma de 3 áreas pra ele aparecer, cada área tem um raio, e ele é criado em um ponto aleatório dentro dessa área. Se você se distanciar muito ou não encontrar ele, ele será criado em um novo lugar, podendo estar em qualquer uma das 3 áreas e em qualquer lugar delas. Se ele some pelo motivo de estar longe, ele será respwanado em outro lugar, se ele morrer ele só aparecerá no dia seguinte.
Source Code:
(considere como um Single sendo lançado antes do álbum de uma banda)
Características:
- Ele não aparece se estiver em alguma missão;
- Ele não dá spawn nas ruas;
- Local aleatório de spawn;
- Ele aparece uma vez por dia*;
- Para maior fidelidade à lenda do pé grande, ele é inicialmente inofensivo;
*Melhor explicando o sistema de spawn que fiz: o script define uma de 3 áreas pra ele aparecer, cada área tem um raio, e ele é criado em um ponto aleatório dentro dessa área. Se você se distanciar muito ou não encontrar ele, ele será criado em um novo lugar, podendo estar em qualquer uma das 3 áreas e em qualquer lugar delas. Se ele some pelo motivo de estar longe, ele será respwanado em outro lugar, se ele morrer ele só aparecerá no dia seguinte.
Source Code:
Código: Selecionar tudo
SCRIPT_START
{
LVAR_INT scplayer bigfoot iDay[2] onMission lugar
LVAR_FLOAT x y
GET_PLAYER_CHAR 0 scplayer
GENERATE_RANDOM_INT_IN_RANGE 0 3 lugar
main_loop:
WAIT 0
READ_MEMORY 0x96ABA0 1 0 onMission
IF onMission = FALSE
GET_CURRENT_DAY_OF_WEEK iDay[0]
IF NOT iDay[0] = iDay[1]
IF lugar = 0
GENERATE_RANDOM_FLOAT_IN_RANGE -800.0 -1050.5 (x)
GENERATE_RANDOM_FLOAT_IN_RANGE -2166.7 -2416.7 (y)
IF LOCATE_CHAR_ANY_MEANS_3D scplayer -924.5 -2291.7 51.0 250.0 250.0 250.0 TRUE
GOTO bigfoot0
ENDIF
ENDIF
IF lugar = 1
GENERATE_RANDOM_FLOAT_IN_RANGE -317.9 -617.9 (x)
GENERATE_RANDOM_FLOAT_IN_RANGE -2330.2 -2630.2 (y)
IF LOCATE_CHAR_ANY_MEANS_3D scplayer -467.9 -2480.2 114.9 250.0 250.0 250.0 TRUE
GOTO bigfoot0
ENDIF
ENDIF
IF lugar = 2
GENERATE_RANDOM_FLOAT_IN_RANGE -535.9 -735.9 (x)
GENERATE_RANDOM_FLOAT_IN_RANGE -1861.8 -2061.8 (y)
IF LOCATE_CHAR_ANY_MEANS_3D scplayer -635.9 -1961.8 37.0 200.0 200.0 200.0 TRUE
GOTO bigfoot0
ENDIF
ENDIF
ELSE
iDay[1] = iDay[0]
ENDIF
ENDIF
GOTO main_loop
////////////////////////////////////////////////
bigfoot0:
LOAD_SPECIAL_CHARACTER 8 bigfooo
WHILE NOT HAS_SPECIAL_CHARACTER_LOADED 8
WAIT 0
ENDWHILE
CREATE_CHAR PEDTYPE_GANG1 SPECIAL08 x y -100.0 bigfoot
UNLOAD_SPECIAL_CHARACTER 8
SET_ANIM_GROUP_FOR_CHAR bigfoot oldman
SET_CHAR_USES_UPPERBODY_DAMAGE_ANIMS_ONLY bigfoot, TRUE
SET_CHAR_PROOFS bigfoot, 0, 1, 0, 1, 0
SET_CHAR_SUFFERS_CRITICAL_HITS bigfoot FALSE
SET_CHAR_HEALTH bigfoot, 2000
SET_CHAR_ACCURACY bigfoot 200
SET_CHAR_SHOOT_RATE bigfoot 80
bigfoot1:
WAIT 0
TASK_WANDER_STANDARD bigfoot
WHILE NOT LOCATE_CHAR_ANY_MEANS_CHAR_3D scplayer bigfoot 20.0 20.0 20.0 FALSE
WAIT 0
IF NOT LOCATE_CHAR_ANY_MEANS_CHAR_3D scplayer bigfoot 250.0 250.0 250.0 FALSE
GOTO release2
ENDIF
IF IS_CHAR_DEAD bigfoot
OR IS_CHAR_DEAD scplayer
GOTO release
ENDIF
ENDWHILE
TASK_FLEE_CHAR bigfoot scplayer 40.0 5000
WAIT 10000
GOTO bigfoot1
////////////////////////////////////////////////
release:
iDay[1] = iDay[0]
release2:
WAIT 2000
GENERATE_RANDOM_INT_IN_RANGE 0 3 lugar
IF DOES_CHAR_EXIST bigfoot
REMOVE_CHAR_ELEGANTLY bigfoot
ENDIF
GOTO main_loop
}
SCRIPT_END