Compartilhe
Mensagens Nível 6
Mensagens Nível 6
Mensagens : 4076
Reputação : 467
Desde : 14/06/2015
Ver perfil do usuário
  • Reputação da mensagem: 100% (1 votos)

GTA SA - Como Criar Uma Conversão Total Parte 1 (.scm)

em Ter 25 Out 2016, 07:21
*Tradução deste tutorial.

Vamos começar com SCM (Obviamente você já deve ter conhecimento prévio sobre codding, pra isso leia os outros tutoriais do fórum, e não exite em fazer perguntas e pedir ajuda).



O stripped SCM  está localizado em (SANNY BUILDER 3 DIR.)/data/sa/stripped.txt (faça um backup dele antes)

E você pode facilmente fazer a sua TC com este simples .txt

O nosso código até agora:

Código:
DEFINE MISSIONS 0
//DEFINE MISSION {ID} 0 AT {LABEL} @

DEFINE EXTERNAL_SCRIPTS -1// Use -1 in order not to compile AAA script
//DEFINE SCRIPT {NAME} AT {LABEL} @

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 0

//------------MAIN------------------------
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

// put your create_thread commands here



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


// put your mods (threads) here - coloque seus mods  (threads) aqui


//-------------Mission 0---------------
// put your missions here - coloque suas missões aqui



//-------------External script 0---------------
// put your external scripts here - coloque seu scripts externos aqui

Vá em frente e pressione F7, para compilar e copiar.
Ele também substitui o seu .scm atual

(NOTA: NÃO descompile o .scm TODA HORA, ABRA O .TXT, NÃO O .scm)
(O mesmo vale para os scripts CLEO)

Todo este código faz é spawnar o CJ na Grove Street.

Para aprender a criar missões leia isso (infelizmente acho que não posso traduzir, é muita coisa).

você não quer a voz do CJ no jogo ? você pode editar as falas dele com o Alci's SAAT GUI FrontEnd, teoricamente seria só extrair as falas do cj, editar os áudios (guarde os nomes dos arquivos para se situar caso for uma dublagem) e depois reimportar, talvez não precise reimportar, modloader provavelmente irá carregar os novos sons.

Aqui outra forma de fazer, essa é por script:
Isso irá silenciar o cj totalmente.
Código:
create_thread @SHUTUP
 
:SHUTUP
wait 0
if and
player.Defined($PLAYER_CHAR)
not actor.Dead($PLAYER_ACTOR)
else_jump @SHUTUP
wait 0
0489: set_actor $PLAYER_ACTOR muted 1
wait $DEFAULT_WAIT_TIME
end_thread

Temos nosso script principal pronto, vamos fazer com que ele incie em new game.

Agora você tem 2 fades no SCM.

Código:
fade 0
 
and a - e
 
fade 1
 
fade 0 = in
 
fade 1 = out

Você não precisa de um opcode, nem time ou ms.

(Pode escrever assim:
Código:
fade 0 0
fade 1 1000
)

Certifique-se de que só um fade tem 0 0

Não adicione um FADE OUT !!!!

Pegue a sua cutscene (filminho de introdução) e o cole em seu SCM.

O defina na Missions Section (Seção Missões)

Código:
DEFINE MISSION 1 AT @<yourthreadname>

Não defini-la como 0.
0 é reservado para a sua missão inicial
Ele define todos os pop cycles e zonas, e parked gar generators.
Ele também define quaisquer variáveis ​​globais para 0 ou qualquer valor que você desejar.

Por exemplo:

Código:
:INTL
wait 0
$MISSION_PASSED = 0
$CJX = 13.012

etc.

Assim, no segmento principal, adicione isso:

Código:
start_mission 0 (INITL)
wait 10
start_mission 1 (INTRO)
end_thread

Certifique-se que sua cutscene fade in.....

Você quer um novo mapa ???
E você quer novos peds ???
Novos personagens ????
Nova história ??
Tudo novo !! ??
Bem, você está com sorte porque eu estarei cobrindo tudo isso através nos próximos meses.

Fique ligado!!!
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21905
Reputação : 678
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: GTA SA - Como Criar Uma Conversão Total Parte 1 (.scm)

em Ter 25 Out 2016, 08:05
Eu vi o tutorial mas não conferi, saí, pensei "nossa, aposto que está compartilhado o código desatualizado, vou lá avisar que tem que usar o 'Sanny Builder/data/sa/stripped.txt'", daí vi aqui e está pedindo pra usar ele mesmo pokerface

Eu só queria dar um detalhe simples (e meio óbvio) para iniciantes que aprenderam que "não pode usar vars globais": Variáveis globais são para main.scm, e este é tutorial de main.scm... Ou seja, você pode muito bem utilizá-las aqui. Útil para armazenar informações importantes e de longo prazo (elas são salvas no save game e você pode utilizá-las quando quiser para saber a história e progresso do jogo etc)

______________________________

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum