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

Re: 13. GOSUB e CLEO_CALL

em Seg 27 Fev 2017, 16:12
Pega todo o script logo kkkk. Estava refazendo aquele mod que postaram de 15 animações de morte aleatórias:

Script:

Código:
SCRIPT_START
{
    SCRIPT_NAME peddiea

    LVAR_INT scplayer
    LVAR_INT lv_char_targeted
    LVAR_INT lv_random
    
    GOSUB sub_load_anims
    
    GET_PLAYER_CHAR 0 scplayer

    label_1:
        WAIT 0

        IF NOT IS_PLAYER_PLAYING 0
            GOTO label_1
        ENDIF

        //NPC
        GET_CHAR_PLAYER_IS_TARGETING 0 lv_char_targeted
        IF DOES_CHAR_EXIST lv_char_targeted
            IF HAS_CHAR_BEEN_DAMAGED_BY_CHAR scplayer lv_char_targeted
            AND NOT IS_CHAR_IN_ANY_CAR lv_char_targeted
            AND NOT IS_CHAR_HEALTH_GREATER lv_char_targeted 10
                GENERATE_RANDOM_INT_IN_RANGE 0 8 lv_random
                IF NOT lv_random > 2
                    CLEO_CALL function_set_die_anim 0 (lv_char_targeted) ()
                ENDIF
            ENDIF
        ENDIF

        //Player
        IF NOT IS_CHAR_HEALTH_GREATER scplayer 10
        AND NOT IS_CHAR_IN_ANY_CAR scplayer
            GENERATE_RANDOM_INT_IN_RANGE 0 6 lv_random
            IF NOT lv_random > 1
                CLEO_CALL function_set_die_anim 0 (scplayer) ()
            ENDIF
        ENDIF

    GOTO label_1
}

{  
    sub_load_anims:
        REQUEST_ANIMATION "KNIFE"
        REQUEST_ANIMATION "CRACK"  
        REQUEST_ANIMATION "WUZI"
        REQUEST_ANIMATION "FINALE"
        REQUEST_ANIMATION "MD_CHASE"
        REQUEST_ANIMATION "PARACHUTE"
        REQUEST_ANIMATION "RYDER"
        REQUEST_ANIMATION "SWEET"
    RETURN
}

{
    function_set_die_anim:
        LVAR_INT lv_char_anim
        LVAR_INT lv_random1
        LVAR_FLOAT lv_random2
        
        lv_char_anim = 0
        IF lv_char_anim = 1
            CREATE_CHAR 0 10 0.0 0.0 0.0 lv_char_anim
        ENDIF

        //Check anims
        IF HAS_ANIMATION_LOADED "KNIFE"
        AND HAS_ANIMATION_LOADED "CRACK"
        AND HAS_ANIMATION_LOADED "WUZI"
        AND HAS_ANIMATION_LOADED "FINALE"
        AND HAS_ANIMATION_LOADED "MD_CHASE"
        AND HAS_ANIMATION_LOADED "PARACHUTE"
        AND HAS_ANIMATION_LOADED "RYDER"
        AND HAS_ANIMATION_LOADED "SWEET"
            //Choice randim animation    
            GENERATE_RANDOM_INT_IN_RANGE 0 16 lv_random1
            GENERATE_RANDOM_FLOAT_IN_RANGE 1.5 4.0 lv_random2
            SWITCH lv_random1
                CASE 0
                    TASK_DIE_NAMED_ANIM lv_char_anim "KILL_KNIFE_PED_DIE" "KNIFE" lv_random2 1
                    BREAK
                CASE 1
                    TASK_DIE_NAMED_ANIM lv_char_anim "KNIFE_HIT_3" "KNIFE" lv_random2 1
                    BREAK
                CASE 2
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKDETH1" "CRACK" lv_random2 1
                    BREAK                                                                
                CASE 3
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKDETH2" "CRACK" lv_random2 1
                    BREAK
                CASE 4
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKDETH3" "CRACK" lv_random2 1
                    BREAK
                CASE 5
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKDETH4" "CRACK" lv_random2 1
                    BREAK
                CASE 6
                    TASK_DIE_NAMED_ANIM lv_char_anim "CS_Dead_Guy" "WUZI" lv_random2 1
                    BREAK                                                                
                CASE 7
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKIDLE2" "CRACK" lv_random2 1
                    BREAK
                CASE 8
                    TASK_DIE_NAMED_ANIM lv_char_anim "FIN_Land_Die" "FINALE" lv_random2 1
                    BREAK
                CASE 9
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKIDLE4" "CRACK" lv_random2 1
                    BREAK
                CASE 10
                    TASK_DIE_NAMED_ANIM lv_char_anim "MD_BIKE_Lnd_Roll" "MD_CHASE" lv_random2 1
                    BREAK
                CASE 11
                    TASK_DIE_NAMED_ANIM lv_char_anim "MD_HANG_Lnd_Roll" "MD_CHASE" lv_random2 1
                    BREAK
                CASE 12
                    TASK_DIE_NAMED_ANIM lv_char_anim "MD_BIKE_Lnd_Roll_F" "MD_CHASE" lv_random2 1
                    BREAK                                                                
                CASE 13
                    TASK_DIE_NAMED_ANIM lv_char_anim "FALL_skyDive_DIE" "PARACHUTE" lv_random2 1
                    BREAK
                CASE 14
                    TASK_DIE_NAMED_ANIM lv_char_anim "Carhit_Tumble" "MD_CHASE" lv_random2 1
                    BREAK
                CASE 15
                    TASK_DIE_NAMED_ANIM lv_char_anim "Sweet_injuredloop" "SWEET" lv_random2 1
                    BREAK
                DEFAULT
                    BREAK                                                                                                                                                                                            
            ENDSWITCH
        ELSE
            GOSUB sub_load_anims
        ENDIF
    CLEO_RETURN 0 0
}
SCRIPT_END
Há motivo algum pra você fazer isso
Código:
       lv_char_anim = 0
        IF lv_char_anim = 1
            CREATE_CHAR 0 10 0.0 0.0 0.0 lv_char_anim
        ENDIF
Tipo, algum mesmo.
Como explicado, você envia uma variável pra função, e ela vai cair nas primeiras variáveis declaradas, neste caso, o lv_char_anim, e o que você fez?
Código:
lv_char_anim = 0
?? Ué, e agora? O char estava aí, você setou "0", perdeu ele.

______________________________

avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 490
Reputação : 32
Desde : 08/02/2016
Localização : São Paulo
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Seg 27 Fev 2017, 16:35
Está certo o que você falou, tinha perdido o handle do actor no lv_char_anim e iria dar errado o script.
Mas o problema permanece:

Função:
Código:
{
    function_set_die_anim:
        LVAR_INT lv_char_anim
        LVAR_INT lv_random1
        LVAR_FLOAT lv_random2
       
        IF NOT IS_PLAYER_PLAYING 0
            CREATE_CHAR 0 10 0.0 0.0 0.0 lv_char_anim
        ENDIF

        //Check anims
        IF HAS_ANIMATION_LOADED "KNIFE"
        AND HAS_ANIMATION_LOADED "CRACK"
        AND HAS_ANIMATION_LOADED "WUZI"
        AND HAS_ANIMATION_LOADED "FINALE"
        AND HAS_ANIMATION_LOADED "MD_CHASE"
        AND HAS_ANIMATION_LOADED "PARACHUTE"
        AND HAS_ANIMATION_LOADED "RYDER"
        AND HAS_ANIMATION_LOADED "SWEET"
            //Choice randim animation   
            GENERATE_RANDOM_INT_IN_RANGE 0 16 lv_random1
            GENERATE_RANDOM_FLOAT_IN_RANGE 1.5 4.0 lv_random2
            SWITCH lv_random1
                CASE 0
                    TASK_DIE_NAMED_ANIM lv_char_anim "KILL_KNIFE_PED_DIE" "KNIFE" lv_random2 1
                    BREAK
                CASE 1
                    TASK_DIE_NAMED_ANIM lv_char_anim "KNIFE_HIT_3" "KNIFE" lv_random2 1
                    BREAK
                CASE 2
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKDETH1" "CRACK" lv_random2 1
                    BREAK                                                               
                CASE 3
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKDETH2" "CRACK" lv_random2 1
                    BREAK
                CASE 4
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKDETH3" "CRACK" lv_random2 1
                    BREAK
                CASE 5
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKDETH4" "CRACK" lv_random2 1
                    BREAK
                CASE 6
                    TASK_DIE_NAMED_ANIM lv_char_anim "CS_Dead_Guy" "WUZI" lv_random2 1
                    BREAK                                                               
                CASE 7
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKIDLE2" "CRACK" lv_random2 1
                    BREAK
                CASE 8
                    TASK_DIE_NAMED_ANIM lv_char_anim "FIN_Land_Die" "FINALE" lv_random2 1
                    BREAK
                CASE 9
                    TASK_DIE_NAMED_ANIM lv_char_anim "CRCKIDLE4" "CRACK" lv_random2 1
                    BREAK
                CASE 10
                    TASK_DIE_NAMED_ANIM lv_char_anim "MD_BIKE_Lnd_Roll" "MD_CHASE" lv_random2 1
                    BREAK
                CASE 11
                    TASK_DIE_NAMED_ANIM lv_char_anim "MD_HANG_Lnd_Roll" "MD_CHASE" lv_random2 1
                    BREAK
                CASE 12
                    TASK_DIE_NAMED_ANIM lv_char_anim "MD_BIKE_Lnd_Roll_F" "MD_CHASE" lv_random2 1
                    BREAK                                                               
                CASE 13
                    TASK_DIE_NAMED_ANIM lv_char_anim "FALL_skyDive_DIE" "PARACHUTE" lv_random2 1
                    BREAK
                CASE 14
                    TASK_DIE_NAMED_ANIM lv_char_anim "Carhit_Tumble" "MD_CHASE" lv_random2 1
                    BREAK
                CASE 15
                    TASK_DIE_NAMED_ANIM lv_char_anim "Sweet_injuredloop" "SWEET" lv_random2 1
                    BREAK
                DEFAULT
                    BREAK                                                                                                                                                                                           
            ENDSWITCH
        ELSE
            GOSUB sub_load_anims
        ENDIF
    CLEO_RETURN 0 0
}
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21884
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: 13. GOSUB e CLEO_CALL

em Seg 19 Jun 2017, 08:11
Atualizei.
Botei quase no fim mais um exemplo de mod usando GOSUB, explicando melhor o quão importante é.

______________________________

avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 9
Reputação : 0
Desde : 18/07/2017
Idade : 26
Localização : parana
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Qua 19 Jul 2017, 21:04
Cara na parte que vc diz: "É a mesma coisa! Mas vamos ser sinceros, ficou confuso e feio, né? o GOSUB é muito mais elegante."
...vc colocou esse codigo como exemplo:
Código:

SCRIPT_START
{
    NOP
 
main_loop:
WAIT 0
IF IS_KEY_PRESSED VK_KEY_Y
    GOTO label
    label2:
ENDIF
GOTO main_loop

label:
PRINT_STRING_NOW "Oi!" 500
GOTO label2
}
SCRIPT_END

----------------------
mas pq nos n podemos trazer o "label2:" (linha 9) para esquerda, deixando-o alinhado à esquerda, e coloca-lo duas linhas abaixo, e assim, colocando o ENDIF (linha 10) no lugar dele? ficando assim:
Código:
IF IS_KEY_PRESSED VK_KEY_Y
   GOTO label
ENDIF
label2:
GOTO main_loop
(compilei e rodei, funcionou igual)

OUTRA DUVIDA...

num exemplo logo abaixo desse que citei agora, vc mostra mais um exemplo de "GOSUB". mas pq nao fazer esse mesmo exemplo com "GOTO" ao inves de "GOSUB"? deixando-o assim:
Código:
SCRIPT_START
{
   NOP

main_loop:
WAIT 0
IF IS_KEY_PRESSED VK_KEY_Y
   GOTO label
ENDIF
GOTO main_loop

label:
PRINT_STRING_NOW "Oi!" 100
IF IS_KEY_PRESSED VK_KEY_h
   GOTO outra
ENDIF

outra:
PRINT_STRING_NOW "simples." 100
GOTO main_loop

}
SCRIPT_END
qual a diferença??

OUTRA DUVIDA...

nao estou entendendo esse codigo:
Código:
SCRIPT_START
{
    NOP
 
    LVAR_INT var1
 
    main_loop:
    WAIT 0
    CLEO_CALL add 0 (var1, 10)(var1)
    PRINT_FORMATTED_NOW "%d" 1000 var1
    GOTO main_loop
}
 
{
    LVAR_INT in_var
    LVAR_INT value
 
    add:
    in_var += value
    CLEO_RETURN 0 (in_var)
}
 
SCRIPT_END
o que eu acho que esta acontecendo (de forma bem resumida) eh o seguinte:

CLEO_CALL ENVIA A "VAR1" E O VALOR "10" PARA A LABEL "ADD". CHEGANDO LA...
O VALOR DA "VAR1" (QUE EUA CREDITO QUE SEJA 0, POR PADRAO) EH ATRIBUIDO À "IN_VAR" E O VALOR "10" EH ATRIBUIDO À "VALUE. ENTAO...
(ESSA PARTE TAMBEM ME DEIXOU CONFUSO ("in_var+= value")) A IN_VAR E A "VALUE" SAO SOMADAS???? E O RESULTADO FOI ATRIBUIDO À IN_VAR????

BOM, SEGUINDO...

CLEO_RETURN TRAS O VALOR DA "IN_VAR", QUE AGORA EH 10, E DEFINE 10 COMO NOVO VALOR DA "VAR1"

Eh assim que estou lendo, ta certo??
Por favor, me ajudem a entender... nao aguento mais ler essa parte 13 do tutorial. kkkkk
avatar
Mensagens Nível 4
Mensagens Nível 4
Título : Arthropod ¬¬
Mensagens : 324
Reputação : 11
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: 13. GOSUB e CLEO_CALL

em Qua 19 Jul 2017, 21:59
Eu não explanarei a solução de todas as suas dúvidas, mas posso te adiantar as seguintes informações.

Sobre indentação: Esta palavra não existe, mas eu já fiz uma sugestão para a ABL.
Indentação é uma construção literária de interesse meramente humano. Se indenta um código para facilitar sua compreensão (humana). O compilador deleta todos os espaços, tabulações e etc; por esta razão, o script é compilado sucessivamente.

Sobre o procedimento de "CLEO_CALL"
O procedimento de "call" corresponde exatamente ao seu raciocínio. Aliás, a lógica é inteligível. Eu não vi como você teve dúvida.

Sobre a sua mensagem
Não é conveniente escrever grandes trechos do texto com letras maiúsculas, pois além de potencialmente violar a regra vigente de número 9, causa transtorno no ato da leitura por parte doutros usuários.

Não é conveniente usar de abreviações literárias, principalmente regionais, devido a termos entre nós usuários que fazem uso de tradução automática computadorizada; também por este ser um tópico de tutorial. Evite tais colocações como: 'vc', 'neh' e 'eh', por exemplo.

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

Re: 13. GOSUB e CLEO_CALL

em Qui 20 Jul 2017, 08:10
1. O resultado é o mesmo, claro, mas eu quero deixar o mais claro possível que GOSUB é como ir e voltar EXATAMENTE pro mesmo lugar de onde saiu.
Se eu colocasse embaixo pode ter pessoas não entendendo isso.

Imagine se tivesse alguma coisa abaixo do GOTO:
Código:
IF IS_KEY_PRESSED VK_KEY_Y
  GOTO label
  PRINT_STRING_NOW "isto nunca vai aparecer!" 2000
ENDIF
label2:
GOTO main_loop
Pronto, vai ter resultado diferente. O texto nunca vai aparecer.
O que eu quis deixar claro é que usar GOSUB é que o resultado é como se voltasse exatamente embaixo do GOTO:
Código:
IF IS_KEY_PRESSED VK_KEY_Y
  GOTO label
  label2:
  PRINT_STRING_NOW "agora sim vai aparecer!" 2000
ENDIF
GOTO main_loop

2. Não prestei tanta atenção, mas aparentemente, realmente não tem nenhuma diferença. O que quer dizer que você entendeu bem como o GOSUB funciona kk

3. Exatamente isso...

______________________________

avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 539
Reputação : 108
Desde : 07/03/2017
Localização : BH - MG
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Qui 20 Jul 2017, 12:04
@Veryzon escreveu:
Sobre indentação: Esta palavra não existe, mas eu já fiz uma sugestão para a ABL.

Por isto quando mencionavam esta palavra eu não a entendia, eu sempre usei o termo tabulação (HMM)

@ThiagoD escreveu:
num exemplo logo abaixo desse que citei agora, vc mostra mais um exemplo de "GOSUB". mas pq nao fazer esse mesmo exemplo com "GOTO" ao inves de "GOSUB"? deixando-o assim:

Pelo o que entendo de GOTO des de que eu mexia com simples arquivos BAT eu acho errado comparar o uso dele com o uso do GOSUB. Tanto que se em um ponto do script usar gosub na hora que estiver rodando ele vai neste sub e retornara automaticamente aonde estava, já no goto ele vai embora seguindo em frente ou atrás pulando o que tiver que pular (as vezes uso em loops semelhante ao while por causa disto) para chegar a onde ele foi mandado ir (HMM)


______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 9
Reputação : 0
Desde : 18/07/2017
Idade : 26
Localização : parana
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Qui 20 Jul 2017, 16:02
ok pessoal, agradeço a todos pelas dicas e respostas... desculpem os varios questionamentos, e que acabo de entrar nesse mundo da programaçao, entao tenho muitas duvidas, o unico jeito de aprender eh perguntando nao e.
agradecimentos especiais ao Junior. obrigado amigo, agora ficou perfeito.

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

Re: 13. GOSUB e CLEO_CALL

em Qui 20 Jul 2017, 16:54
@Um Geek escreveu:
@Veryzon escreveu:
Sobre indentação: Esta palavra não existe, mas eu já fiz uma sugestão para a ABL.

Por isto quando mencionavam esta palavra eu não a entendia, eu sempre usei o termo tabulação  (HMM)
O que pode ser errado, pois não é todos que usam TAB :v:
Se você quer outra palavra, use "recuo" ou "neologismo".
Além de que no HTML você não usa TAB, você usa 1 espaço mesmo:
Código:
<div>
 <p>oi</p>
</div>
Inclusive eu acho que a gente devia afirmar que ela existe sim.....

Tem essa palavra até em arquitetura. Como assim ela "não existe"?

______________________________

avatar
Mensagens Nível 4
Mensagens Nível 4
Título : Arthropod ¬¬
Mensagens : 324
Reputação : 11
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: 13. GOSUB e CLEO_CALL

em Qui 20 Jul 2017, 21:06
[ ↑ ] São vocábulos vulgares, porém não são oficialmente reconhecidos e catálogos no vocabulário geral da língua portuguesa. É estranho isso. Eu sempre pensei que existe também, até eu ver várias pessoas escrevendo 'identar', 'identação' e derivados; então eu protocolei uma averiguação na ABL e confirmaram a sua inexistência.

Logo após, eu fiz uma pesquisa sobre a origem das palavras: indent; indentation; etc. Ao fim percebi que existem: o verbo 'endentar'; os substantivos 'endentação' e 'endentamento'; e os adjetivos 'endentado' e 'endentador'. Os quais são correspondentes paras palavras derivadas do radical 'indent' do inglês. Fiz novamente uma protocolação para a ABL e eles confirmaram sua existência, mas seus significados são limitados, não correspondendo exatamente aos vocábulos vulgares emanados de 'indentar'.

Então fiz mais um protocolo de originação para 'indentar' como sendo sinônimo de 'endentar', incluindo sua tese etimológica e suas definições e práticas usuais herdadas de 'indent'. Nelas executa-se o originamento de 'indentar' (e indentado), 'indentação', 'indentamento' e 'indentador'.

Agradecimentos à Casa Machado de Assis por atender minhas demandas, e pelo meu feito mais prodígio que foi catalogar o adjetivo bigênero 'standard' oficialmente à língua portuguesa.

______________________________
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 539
Reputação : 108
Desde : 07/03/2017
Localização : BH - MG
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Sex 21 Jul 2017, 11:33
@Junior_Djjr escreveu:
O que pode ser errado, pois não é todos que usam TAB :v:
Se você quer outra palavra, use "recuo" ou "neologismo".
Além de que no HTML você não usa TAB, você usa 1 espaço mesmo:

No caso do espaço eu uso espaçamento mesmo, mas isto vai do vocabulário de cada um pois de certo ponto de vista até se assemelha a gírias, coisa que se aprende com o tempo vendo outros dizerem e acaba se espalhando, como as palavras tweetar e Retweetar por exemplo, eu escrevo elas e o corretor ortográfico não marcam como incorretas, mas a palavra indentar passou a fazer parte da linguagem técnica de quem mexe com programação, o porque da necessidade da criação deste termo eu não sei (HMM)

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Não quero acreditar, quero saber.
Mensagens : 21884
Reputação : 676
Desde : 03/05/2012
Idade : 22
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br

Re: 13. GOSUB e CLEO_CALL

em Sex 21 Jul 2017, 12:04
@Um Geek escreveu:
@Junior_Djjr escreveu:
O que pode ser errado, pois não é todos que usam TAB :v:
Se você quer outra palavra, use "recuo" ou "neologismo".
Além de que no HTML você não usa TAB, você usa 1 espaço mesmo:

No caso do espaço eu uso espaçamento mesmo
De novo pode não estar tão certo.
Quando é falado sobre espaços na programação geralmente é dito sobre os "espaços em branco", ou seja, linhas puladas.

Quando alguém chega pra você e fala "seu código está muito espaçado" ele está querendo dizer que você pula linhas demais, cria espaço em branco demais, e não que você indentou demais (não faria muito sentido caso você tenha seguido as regras).

Imagine alguém perguntando "ele faz linhas puladas demais?" ele poderia perguntar "ele faz espaços em branco demais?" ou até mesmo "ele faz espaçamento demais?".

Em outras palavras, espaçamento vale mais para espaços verticais enquanto indentação é o espaçamento horizontal.

______________________________

avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 539
Reputação : 108
Desde : 07/03/2017
Localização : BH - MG
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Sex 21 Jul 2017, 12:19
@Junior_Djjr escreveu:
Quando é falado sobre espaços na programação geralmente é dito sobre os "espaços em branco", ou seja, linhas puladas.

Isto é, apesar de que pode ser usado das duas formas em espaçamento vertical e horizontal. Esta discussão vai servir para ajudar quem não liga bem as palavras ao caso, no caso boa parte do que eu aprendi se tratando de programação foi abrindo a ajuda dos programas usados em programação com a tecla F1 e lendo, então não conhecia mesmo esta linguagem técnica, só comecei a ver mais elas mesmo aqui no fórum nos diálogos (BG)

______________________________

.::
Os mods que crio serão colocados no meu workshop link
avatar
Mensagens Nível 4
Mensagens Nível 4
Título : Arthropod ¬¬
Mensagens : 324
Reputação : 11
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: 13. GOSUB e CLEO_CALL

em Sex 21 Jul 2017, 21:13
Endentar é formação tipográfica diagonal abaixo. Combina a ordem tipográfica entre horizontal e vertical movendo-se para baixo. A própria palavra já se define.

No inglês, 'indent' é a contração da preposição 'in' com o substantivo 'dent', originando o verbo.
No português, 'endentar' é a contração da preposição 'em' com o substantivo 'dente', originando o verbo da primeira classe da conjugação '-ar'.

O português tem como base o latin, onde a preposição 'em' é 'in', idêntico ao inglês e à pronúncia brasileira. No português, toda e qualquer flexão de palavras terminadas em 'm' são vedadas, obrigando a sua substituição por 'n'.

Palavras prefixadas com 'en' expressam moção (movimento) para si ou para dentro. Neste caso, movimento em forma de escada.

Pois é, os vocábulos de 'indent' e 'endentar' tiverem originação idêntica, mas um não influenciou o outro.

Agora, eu espero a originação da palavra 'thread'. Eu aleguei não haver uma palavra equivalente já em vigor.

______________________________
avatar
Mensagens Nível 2
Mensagens Nível 2
Título : Kick
Mensagens : 60
Reputação : 12
Desde : 03/07/2015
Idade : 19
Localização : Egypt
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Qui 24 Ago 2017, 19:28
Are you sure the limit of GOSUBs is 8 ? i never reached that number though but i am asking  because Ryosuke  used 29 GOSUBs in his  Gravity Gun mod and many other scripts and it all works fine


Última edição por crspo2020 em Qui 24 Ago 2017, 22:26, editado 1 vez(es)
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1947
Reputação : 24
Desde : 30/05/2013
Localização : Estância Velha - RS
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Qui 24 Ago 2017, 21:24
crspo2020 escreveu:Are you sure the limit of GOSUBs is 8 ? i never reached that number though but i am asking  because Ryosuke  used 29 GOSUBs in his  Gravity Gun mod and it works fine !
You've a limit of 8 GOSUBs running on same time. Each script has a 'return stack' (CRunningScript + 0x18) where the 'script position' is stored when reach a GOSUB, and so can return to it when find a RETURN. But this 'return stack has only 32 bytes (8 * 4 bytes), so you can't use more than 8 GOSUB on same time. :v:
avatar
Mensagens Nível 4
Mensagens Nível 4
Título : Arthropod ¬¬
Mensagens : 324
Reputação : 11
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: 13. GOSUB e CLEO_CALL

em Qui 24 Ago 2017, 22:14
[ ↑ ] Nope. What did you said is just valid to the automatized use of gosubs. Everyone thread can overflow the return stack and it will works fine. But to do it, you need be sure about the gosub/return time; and be very, very, very careful with code control's opcodes. I'm developing some methods to call a "remote" procedure or a "remote" gosub from another thread and return to my thread. I ever make use of some methods that i have said.

______________________________
avatar
Mensagens Nível 2
Mensagens Nível 2
Título : Kick
Mensagens : 60
Reputação : 12
Desde : 03/07/2015
Idade : 19
Localização : Egypt
Ver perfil do usuário

Re: 13. GOSUB e CLEO_CALL

em Qui 24 Ago 2017, 22:25
@Kevin Prestes escreveu:
crspo2020 escreveu:Are you sure the limit of GOSUBs is 8 ? i never reached that number though but i am asking  because Ryosuke  used 29 GOSUBs in his  Gravity Gun mod and it works fine !
You've a limit of 8 GOSUBs running on same time. Each script has a 'return stack' (CRunningScript + 0x18) where the 'script position' is stored when reach a GOSUB, and so can return to it when find a RETURN. But this 'return stack has only 32 bytes (8 * 4 bytes), so you can't use more than 8 GOSUB on same time. :v:

by "running on same time"  did you mean something like that ?

Código:

gosub @first

:first
gosub @second
return

:second
gosub @third
return

:third
gosub @fourth
return

:fourth
gosub @fifth
return

:fifth
gosub @sixth
return

:sixth
gosub @seventh
return

:seventh
gosub @eighth
return

:eighth
gosub @ninth // game crash here due to exceeding the GOSUBs limit.
return

:ninth
return
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1947
Reputação : 24
Desde : 30/05/2013
Localização : Estância Velha - RS
Ver perfil do usuário
  • Reputação da mensagem: 100% (1 votos)

Re: 13. GOSUB e CLEO_CALL

em Qui 24 Ago 2017, 22:34
@Veryzon escreveu:[ ↑ ] Nope. What did you said is just valid to the automatized use of gosubs. Everyone thread can overflow the return stack and it will works fine. But to do it, you need be sure about the gosub/return time; and be very, very, very careful with code control's opcodes. I'm developing some methods to call a "remote" procedure or a "remote" gosub from another thread and return to my thread. I ever make use of some methods that i have said.
??? I'm explaining to him the "normal use" of GOSUBs...

crspo2020 escreveu:
@Kevin Prestes escreveu:
crspo2020 escreveu:Are you sure the limit of GOSUBs is 8 ? i never reached that number though but i am asking  because Ryosuke  used 29 GOSUBs in his  Gravity Gun mod and it works fine !
You've a limit of 8 GOSUBs running on same time. Each script has a 'return stack' (CRunningScript + 0x18) where the 'script position' is stored when reach a GOSUB, and so can return to it when find a RETURN. But this 'return stack has only 32 bytes (8 * 4 bytes), so you can't use more than 8 GOSUB on same time. :v:

by "running on same time"  did you mean something like that ?

[ Code ]
Yes, that's right.
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 18878
Reputação : 344
Desde : 04/05/2012
Idade : 20
Link : gtamodvicio.blogspot.com
Ver perfil do usuáriohttp://gtamodvicio.blogspot.com

Re: 13. GOSUB e CLEO_CALL

em Qui 24 Ago 2017, 22:36
@Veryzon escreveu:[ ↑ ] Nope. What did you said is just valid to the automatized use of gosubs. Everyone thread can overflow the return stack and it will works fine

philosoraptor philosoraptor philosoraptor



Overflow gosub stack will write in gosub index.

______________________________

Modifico quase qualquer coisa.   :)
------------------>>>http://gtamodvicio.blogspot.com/<<<------------------

Meu PC:
Spoiler:

Configurações PC:
*Processador: Intel Core i7 4790K 4.00GHz LGA1150
*Placa Mãe: GIGABYTE GA-H97M-D3H Intel (LGA1150)
*HD: 1TB Seagate Barracuda 64MB Sata III 7200RPM (2x - RAID 0)
*HD²: SAMSUNG M3 Externo USB 5400RPM 1TB
*Placa de vídeo: Nvidia GTX660 2GB DDR5 192bit EVGA
*RAM: 8GB DDR3 1600MHZ Kingston HYPER X BEAST (2x4GB)
*Fonte: Corsair 600W Reais CX600M Modular - CP-9020060-WW (80 Plus Bronze)
*Gabinete: Gabinete Raidmax Super Hurricane Branco - 248WB
*Monitor: LG 23MP55HQ Full HD HDMI 23'
avatar
Mensagens Nível 4
Mensagens Nível 4
Título : Arthropod ¬¬
Mensagens : 324
Reputação : 11
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: 13. GOSUB e CLEO_CALL

em Sex 25 Ago 2017, 00:09
@Kevin Prestes
I believe he already knows the normal use of GOSUBs and are in doubt about how Ryosuke exceeded it.

@Fabio
I don't use the embedded stack when its limit is reached. I dump the return pointers to a PTD structure and i modify the embedded stack for each (gosub/return) control codes' opcodes used.

______________________________
Conteúdo patrocinado

Re: 13. GOSUB e CLEO_CALL

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