Compartilhe
avatar
Mensagens Nível 4
Mensagens Nível 4
Mensagens : 426
Reputação : 12
Desde : 12/01/2016
Localização : 127.0.0.1:25565
Ver perfil do usuário

Como criar interfaces?

em Seg 19 Jun 2017, 09:58
Procurei aqui no fórum e achei, mas não consegui alinhar a textura ao centro da tela. Como é que funciona? philosoraptor
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
avatar
Mensagens Nível 4
Mensagens Nível 4
Título : Arthropod ¬¬
Mensagens : 286
Reputação : 10
Desde : 02/06/2017
Localização : Vila Velha; Estado do Espírito Santo; Brazil;
Link : 127.0.0.1:80
Ver perfil do usuário

Re: Como criar interfaces?

em Seg 19 Jun 2017, 19:31
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.

______________________________
PRÉ-VISUALIZAR:
PRÉ-VISUALIZAR:
avatar
Mensagens Nível 4
Mensagens Nível 4
Mensagens : 426
Reputação : 12
Desde : 12/01/2016
Localização : 127.0.0.1:25565
Ver perfil do usuário

Re: Como criar interfaces?

em Seg 19 Jun 2017, 21:50
Escala fixa de 640 por 448? Obrigado, vou testar aqui. :Y:
avatar
Mensagens Nível 4
Mensagens Nível 4
Título : Arthropod ¬¬
Mensagens : 286
Reputação : 10
Desde : 02/06/2017
Localização : Vila Velha; Estado do Espírito Santo; Brazil;
Link : 127.0.0.1:80
Ver perfil do usuário

Re: Como criar interfaces?

em Seg 19 Jun 2017, 22:30
Quase tudo do GTA é errado ou feito de gambiarra uma forma diferente . É incrível, como o game não é brasileiro.

______________________________
PRÉ-VISUALIZAR:
PRÉ-VISUALIZAR:
avatar
Mensagens Nível 4
Mensagens Nível 4
Mensagens : 426
Reputação : 12
Desde : 12/01/2016
Localização : 127.0.0.1:25565
Ver perfil do usuário

Re: Como criar interfaces?

em Ter 20 Jun 2017, 13:02
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. pokerface
Será que não carregou o TXD? Ou não consegui usar o DRAW_SPRITE?
http://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
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 503
Reputação : 102
Desde : 07/03/2017
Localização : BH - MG
Ver perfil do usuário

Re: Como criar interfaces?

em Ter 20 Jun 2017, 19:11
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

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Mensagens Nível 4
Mensagens Nível 4
Título : Arthropod ¬¬
Mensagens : 286
Reputação : 10
Desde : 02/06/2017
Localização : Vila Velha; Estado do Espírito Santo; Brazil;
Link : 127.0.0.1:80
Ver perfil do usuário

Re: Como criar interfaces?

em Ter 20 Jun 2017, 20:40
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. pokerface
Será que não carregou o TXD? Ou não consegui usar o DRAW_SPRITE?
http://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
Eu não me lembro sobre como funciona a escala.
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.

______________________________
PRÉ-VISUALIZAR:
PRÉ-VISUALIZAR:
Conteúdo patrocinado

Re: Como criar interfaces?

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