- DouglasB2310Mensagens Nível 5
- Mensagens : 500
Reputação : 12
Desde : 12/01/2016
Localização : 127.0.0.1:1338
Link : to the Past
Procurei aqui no fórum e achei, mas não consegui alinhar a textura ao centro da tela. Como é que funciona?

- Spoiler:
- Código:
// Marca o .txd atual para ser usado (não é exatamente "carregar")
LOAD_TEXTURE_DICTIONARY MYTXD
// Carrega a textura "mysprite" e guarda no ID "1"
LOAD_SPRITE 1 MYSPRITE
// Carrega a textura "sprite2" e guarda no ID "2"
LOAD_SPRITE 2 SPRITE2
loop:
WAIT 0
// Ativar para drawnar
USE_TEXT_COMMANDS 1
// Desenha a MYSPRITE na tela
DRAW_SPRITE 1 (x y z) (size) (red green blue alpha)
// Desenha a SPRITE2 na tela
DRAW_SPRITE 1 (x y z) (size) (red green blue alpha)
// Já drawnamos tudo, pode desligar agora.
USE_TEXT_COMMANDS 0
GOTO loop
- ConvidadoConvidado
Eu não tenho experiência com o GTA3script — eu até o tenho, mas não uso. Pode ser que eu esteja errado, mas... está faltando algo nesse código, não!?
Dirigindo-me ao assunto... a RenderWare (ou o GTA? Já não tenho certeza, hoje) usa uma escala fixa, que é 640.0 (horizontal) por 448.0 (vertical); e, é nessa resolução que deve-se orientar o desenho 2D. Sendo assim, o centro do ecrã, é 320.0 por 224.0 para desenho de texturas, visto que são centralizadas à posição de desenho. Já no caso de desenho de texo, você há de centralizá-lo, para que o valor supracitado seja efetivo.
Dirigindo-me ao assunto... a RenderWare (ou o GTA? Já não tenho certeza, hoje) usa uma escala fixa, que é 640.0 (horizontal) por 448.0 (vertical); e, é nessa resolução que deve-se orientar o desenho 2D. Sendo assim, o centro do ecrã, é 320.0 por 224.0 para desenho de texturas, visto que são centralizadas à posição de desenho. Já no caso de desenho de texo, você há de centralizá-lo, para que o valor supracitado seja efetivo.
- DouglasB2310Mensagens Nível 5
- Mensagens : 500
Reputação : 12
Desde : 12/01/2016
Localização : 127.0.0.1:1338
Link : to the Past
Escala fixa de 640 por 448? Obrigado, vou testar aqui.

- ConvidadoConvidado
Quase tudo do GTA é errado ou feito de gambiarra uma forma diferente . É incrível, como o game não é brasileiro.
- DouglasB2310Mensagens Nível 5
- Mensagens : 500
Reputação : 12
Desde : 12/01/2016
Localização : 127.0.0.1:1338
Link : to the Past
E o tamanho, como funciona? Será que vai funcionar bem em todas as resoluções e aspect-ratios?
Tentei fazer um teste e não consegui.
Será que não carregou o TXD? Ou não consegui usar o DRAW_SPRITE?
https://brmodstudio.forumeiros.com/t6249-como-usar-texturas-no-gta3script
Tentei fazer um teste e não consegui.

Será que não carregou o TXD? Ou não consegui usar o DRAW_SPRITE?
https://brmodstudio.forumeiros.com/t6249-como-usar-texturas-no-gta3script
- Spoiler:
- Código:
SCRIPT_START
{
NOP
LOAD_TEXTURE_DICTIONARY MEUTXD
LOAD_SPRITE 1, "TESTE"
main_loop:
USE_TEXT_COMMANDS 1
DRAW_SPRITE 1 (320.0, 224.0, 0.0), (1.0), (255, 255, 255), (255)
USE_TEXT_COMMANDS 0
WAIT 0
GOTO main_loop
}
SCRIPT_END
Como pode ver no mod de pokemon que eu estava mexendo criei uma certa pratica nesta área então dai uma procurada aqui e achei um dos primeiros códigos no qual usei para praticar. não vai funcionar sem o txd que eu criei é claro, mas serve como modelo, no caso este cria uma barra de vida para um npc quando mira nele no canto da tela.
- codigo:
- Código:
script_start
{
nop
LVAR_INT scplayer, target, targ_hp, i
LVAR_FLOAT targ_hp_float
GET_PLAYER_CHAR 0 scplayer
loop:
WAIT 0
IF GET_CHAR_PLAYER_IS_TARGETING 0 target
LOAD_TEXTURE_DICTIONARY LFBAR
USE_TEXT_COMMANDS 1
LOAD_SPRITE 1 "lifebar"
LOAD_SPRITE 2 "dan0"
LOAD_SPRITE 3 "dan2"
WHILE GET_CHAR_PLAYER_IS_TARGETING 0 target
AND targ_hp <= 100
AND NOT IS_CHAR_DEAD scplayer
GET_CHAR_HEALTH target targ_hp
targ_hp_float =# targ_hp
targ_hp_float *= 2.6
WAIT 0
DRAW_SPRITE 3 40.0 10.0 200.0 15.0 255 255 255 255
DRAW_SPRITE 2 14.0 10.0 targ_hp_float 15.0 255 255 255 255
DRAW_SPRITE 1 40.0 10.0 200.0 15.0 255 255 255 255
ENDWHILE
USE_TEXT_COMMANDS 0
WAIT 1
REMOVE_TEXTURE_DICTIONARY
ENDIF
GOTO loop
}
script_end
- ConvidadoConvidado
Eu não me lembro sobre como funciona a escala.@DouglasB2310 escreveu:E o tamanho, como funciona? Será que vai funcionar bem em todas as resoluções e aspect-ratios?
Tentei fazer um teste e não consegui.![]()
Será que não carregou o TXD? Ou não consegui usar o DRAW_SPRITE?
https://brmodstudio.forumeiros.com/t6249-como-usar-texturas-no-gta3script
- Spoiler:
- Código:
SCRIPT_START
{
NOP
LOAD_TEXTURE_DICTIONARY MEUTXD
LOAD_SPRITE 1, "TESTE"
main_loop:
USE_TEXT_COMMANDS 1
DRAW_SPRITE 1 (320.0, 224.0, 0.0), (1.0), (255, 255, 255), (255)
USE_TEXT_COMMANDS 0
WAIT 0
GOTO main_loop
}
SCRIPT_END
Fazer operações de desenho 2D, no GTA, é uma tristeza. São muito limitadas em vários aspectos. Eu já até estava trabalhando num framework para usar os recursos do DirectDraw no GTA via CLEO, mas... está parado — como tudo que eu faço.
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum
|
|