Compartilhe
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 23
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Qui 26 Jan 2017, 03:34


Última edição por Junior_Djjr em Dom 15 Jul 2018, 13:48, editado 3 vez(es)

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Veterano
Veterano
Mensagens : 2904
Reputação : 81
Desde : 31/07/2013
Ver perfil do usuário
em Qui 26 Jan 2017, 14:17
Não tinha parado pra pensar nisso, então podemos processar empresas que oferecem 10MB mas entregam 10Mb por propaganda enganosa? philosoraptor

______________________________
I̜mpe͢r͚at̲ivoͯ, ͘no̅ mụnd̶o͋ ̺sl͟o͗w
́Co͔m͢ó ̼a ̒p̎eçͦa̲ ̖MC͝s ̚só͊ ͡faz̀em̈́ ̛s̸p͆ee͌df̡l̡owͭ
̟Pͭra ̌que̲ ä́ p̐r͜es̋s͉aͤ?
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1239
Reputação : 99
Desde : 04/03/2013
Idade : 18
Ver perfil do usuário
em Qui 26 Jan 2017, 14:56
@Elyzandro escreveu:Não tinha parado pra pensar nisso, então podemos processar empresas que oferecem 10MB mas entregam 10Mb por propaganda enganosa? philosoraptor
Elas oferecem 10 Mb, ou não deixam explicito e só colocam "10 Mega"
Anyway, mesmo que estejam oferecendo 10 MB elas são obrigadas a fornecer apenas 10%.
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 23
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Qui 26 Jan 2017, 15:03
Nex' escreveu:
@Elyzandro escreveu:Não tinha parado pra pensar nisso, então podemos processar empresas que oferecem 10MB mas entregam 10Mb por propaganda enganosa? philosoraptor
Elas oferecem 10 Mb, ou não deixam explicito e só colocam "10 Mega"
Anyway, mesmo que estejam oferecendo 10 MB elas são obrigadas a fornecer apenas 10%.
Mas seria até menos, os 10% aí nesse caso seria então 100% do 1 Mb, o que nem isso acontece :v:

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 18228
Reputação : 384
Desde : 04/05/2012
Idade : 21
Link : gtamodvicio.blogspot.com
Ver perfil do usuáriohttp://gtamodvicio.blogspot.com
  • Reputação da mensagem: 100% (1 votos)
em Qui 26 Jan 2017, 15:47
@Junior_Djjr escreveu:
Nota: Não confundir b com B!
b = bits
B = Bytes
1 Mb = Megabit = 125.000 Bytes
1 MB = MegaByte = 1.000.000 Bytes

Poderia informar que este é um cálculo de base 10, em base 2 que é o que geralmente usamos, seria 1MB = 1048576 bytes, 1Mb = 131072 bytes, 1KB = 1024B

https://pt.wikipedia.org/wiki/Megabyte (observe a tabela ao lado)

______________________________

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 23
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Qui 26 Jan 2017, 17:28
@Fabio escreveu:
@Junior_Djjr escreveu:
Nota: Não confundir b com B!
b = bits
B = Bytes
1 Mb = Megabit = 125.000 Bytes
1 MB = MegaByte = 1.000.000 Bytes

Poderia informar que este é um cálculo de base 10, em base 2 que é o que geralmente usamos, seria 1MB = 1048576 bytes, 1Mb = 131072 bytes, 1KB = 1024B

https://pt.wikipedia.org/wiki/Megabyte (observe a tabela ao lado)
(difícil deixar as coisas simples :v:)

Mas isso não é "errado"? É que foi introduzido o Mebibyte (MiB) e KiB para diferenciar do MB:
https://pt.wikipedia.org/wiki/Mebibyte
Ou seja, na verdade 1 Mib = 131072 bytes.
Na própria página que você enviou diz ser "incoerente".

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 18228
Reputação : 384
Desde : 04/05/2012
Idade : 21
Link : gtamodvicio.blogspot.com
Ver perfil do usuáriohttp://gtamodvicio.blogspot.com
em Qui 26 Jan 2017, 17:34
@Junior_Djjr escreveu:
@Fabio escreveu:
@Junior_Djjr escreveu:
Nota: Não confundir b com B!
b = bits
B = Bytes
1 Mb = Megabit = 125.000 Bytes
1 MB = MegaByte = 1.000.000 Bytes

Poderia informar que este é um cálculo de base 10, em base 2 que é o que geralmente usamos, seria 1MB = 1048576 bytes, 1Mb = 131072 bytes, 1KB = 1024B

https://pt.wikipedia.org/wiki/Megabyte (observe a tabela ao lado)
(difícil deixar as coisas simples :v:)

Mas isso não é "errado"? É que foi introduzido o Mebibyte (MiB) e KiB para diferenciar do MB:
https://pt.wikipedia.org/wiki/Mebibyte
Ou seja, na verdade 1 Mib = 131072 bytes.
Na própria página que você enviou diz ser "incoerente".

É, mas todos usam apenas "Mb"/"MB" para múltiplos de base 2, então é bom esclarecer.

Até o Windows faz isso:


(8192MiB, que o Windows mostra como 8GB, quando o certo deveria ser 8GiB)


Última edição por Fabio em Qui 26 Jan 2017, 19:07, editado 1 vez(es) (Razão : MiB, não MB)

______________________________

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
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 23
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Qui 26 Jan 2017, 18:00
Talá.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 50
Reputação : 2
Desde : 14/03/2015
Ver perfil do usuário
em Qui 26 Jan 2017, 22:14
@Junior_Djjr escreveu:
A equação é simples: n = 2b, por exemplo, com 4 bits você tem 16 valores diferentes (16 = 24), ou seja, com 4 jogadas (4 bits) você pode fazer isso com 16 pessoas (16 valores diferentes)!
Li isso milhares de vezes e não intendi. ;-; Não seria n = b^2 ? E que diabos é esse 16 = 24?
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1239
Reputação : 99
Desde : 04/03/2013
Idade : 18
Ver perfil do usuário
em Qui 26 Jan 2017, 22:18
@Rodrigo294 escreveu:
@Junior_Djjr escreveu:
A equação é simples: n = 2b, por exemplo, com 4 bits você tem 16 valores diferentes (16 = 24), ou seja, com 4 jogadas (4 bits) você pode fazer isso com 16 pessoas (16 valores diferentes)!
Li isso milhares de vezes e não intendi. ;-; Não seria n = b^2 ? E que diabos é esse 16 = 24?
Acho que era 16 = 2^4.
avatar
Mensagens Nível 2
Mensagens Nível 2
Mensagens : 50
Reputação : 2
Desde : 14/03/2015
Ver perfil do usuário
em Qui 26 Jan 2017, 22:48
Nex' escreveu:
Acho que era 16 = 2^4.
hmmm então provavelmente seria n = 2^b
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 23
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Sex 27 Jan 2017, 00:59
@Rodrigo294 escreveu:
@Junior_Djjr escreveu:
A equação é simples: n = 2b, por exemplo, com 4 bits você tem 16 valores diferentes (16 = 24), ou seja, com 4 jogadas (4 bits) você pode fazer isso com 16 pessoas (16 valores diferentes)!
Li isso milhares de vezes e não intendi. ;-; Não seria n = b^2 ? E que diabos é esse 16 = 24?
OPA, erro de conversão.
É que eu digitei o tutorial em HTML e converti para BBCode para postar aqui.
n = 2b
16 = 24
Ainda bem que você avisou (eu ainda nem divulguei o tutorial por causa disso mesmo, ainda tá nos "beta testes" :v:

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 12
Reputação : 0
Desde : 22/05/2017
Ver perfil do usuário
em Seg 22 Maio 2017, 02:35
Vou aproveitar este capitulo do tutorial pra tirar minha duvida (não encontrei resposta em nenhum outro local do fórum, e minha questão tem a ver com o tema claro! ).

Estou tentando obter o valor de 1 Byte da memória, em específico é o BYTE correspondente a WEAPON_ACCURACY do PED em questão, porém pelo fato do GTA3script não possuir uma variável CHAR não estou conseguindo capturar este valor com o comando READY_MEMORY 'var_1' 1 FALSE 'va2_2', tento capturar com um inteiro (já tentei de 1 a 4  Bytes, e no desespero tentei com Float ) porém o valor retornado é sempre incorreto.

Segue a CLEO_FUNCTION:

{
       LVAR_INT i_char i_accuracy
       CLEO_GET_CHAR_ACCURACY:
           GET_PED_POINTER i_char i_char
           i_char += 0x72C // +0x72C [byte]
           READ_MEMORY i_char 1 FALSE i_accuracy
           // PRINT_FORMATTED_NOW "%d" 1 i_accuracy
       CLEO_RETURN 0 i_accuracy
   }

Alguém poderia me explicar como faço pra obter corretamente o valor de um BYTE ( 0 ... 255) da memória? E saberia me explicar porque definimos um valor de 0 a 100 para a accuracy do ped, e não de 0 a 255 ( ou com 7 bits de 0 a 127) ?

Valew abraço!
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Mensagens : 1239
Reputação : 99
Desde : 04/03/2013
Idade : 18
Ver perfil do usuário
em Seg 22 Maio 2017, 04:37
CPed + 0x72C, tem certeza que é esse endereço mesmo? veja:
http://gtaforums.com/topic/855432-sa-i-have-several-questions/#entry1068788145
Silent disse que talvez são valores de 0-2.

Also, não é necessário um tipo de 1 byte, basta o size 1 no READ_MEMORY mesmo e já da pra ler normalmente.
avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 12
Reputação : 0
Desde : 22/05/2017
Ver perfil do usuário
em Seg 22 Maio 2017, 11:21
Obrigado, pensei ser necessário uma variável com tamanho idêntico para recuperar o dado.

Me baseei neste tópico:
GTA_SA_PEDS
(demorei pra achar esta coordenada de memória, só encontrei aqui - até o momento)

No tópico que você me enviou, ele diz "If I recall correctly", e ele menciona a característica "weapon_skill" como sendo neste endereço, mas também testei com peds pré-configurados que possuíam nível de habilidade 0 ou 1 (ou 2) e está retornando apenas 2 nesta mesma função.
Mas a habilidade que estou buscando mesmo é a actor.accuracy ( ou GET_CHAR_ACCURACY - função que não existe no GTA3script, mas deveria existir!)

Já encontrei várias páginas sobre GTASA Memory address, mas não acho mais nenhuma confirmando esta informação!

No caso do GTASA há a função SET_CHAR_ACCURACY, por acaso há uma forma de eu saber em que ponto da memória o compilador está setando este valor? Assim creio ser um modo de confirmar esta informação.

Agradeço novamente Nex'
avatar
Scripter CLEO - Intermediário
Scripter CLEO - Intermediário
Título : Carinha que mora logo ali
Mensagens : 761
Reputação : 160
Desde : 07/03/2017
Localização : BH - MG
Link : https://gta-geek.blogspot.com.br/
Ver perfil do usuáriohttps://gta-geek.blogspot.com.br/
em Seg 22 Maio 2017, 12:25
@P_H escreveu:
Segue a CLEO_FUNCTION:

{
      LVAR_INT i_char i_accuracy
      CLEO_GET_CHAR_ACCURACY:
          GET_PED_POINTER i_char i_char
          i_char += 0x72C // +0x72C [byte]
          READ_MEMORY i_char 1 FALSE i_accuracy
          // PRINT_FORMATTED_NOW "%d" 1 i_accuracy
      CLEO_RETURN 0 i_accuracy
  }

Pode não ser a questão, mas tem um detalhes, desculpe se já tinha notado (EEK)

Continuar lendo...:

A questão esta no que e enviado e recebido para(da) função.

Veja que você envia primeiro a var com ped e depois a variável accuracy, o que pode bugar já que isto mudaria o valor da variavel se cPed a retornar.
LVAR_INT i_char i_accuracy

Por fim você só retorna a var accurracy
CLEO_RETURN 0 i_accuracy

Desta forma você esta pegando o char novamente que é a primeira variavel, se for o problema inverter a ordem pode solucionar.
LVAR_INTi_accuracy i_char

avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 12
Reputação : 0
Desde : 22/05/2017
Ver perfil do usuário
em Seg 22 Maio 2017, 12:40
Creio que minha função esteja correta (também utilizo esta mesma estrutura em varias outras CLEO_FUNCTION read and write memory), segue ela completa:

{
[...]
CLEO_CALL CLEO_GET_CHAR_ACCURACY 0 (i_char) (i_accuracy)
[...]
}

{
LVAR_INT i_char // char recebido por parâmetro
// -
LVAR_INT i_accuracy // variavel criada e utilizada para armazenar o valor do endereço de memória
CLEO_GET_CHAR_ACCURACY:
GET_PED_POINTER i_char i_char //CPed
i_char += 0x72C // +0x72C [byte]
READ_MEMORY i_char 1 FALSE i_accuracy
// PRINT_FORMATTED_NOW "%d" 1 i_accuracy //
// No caso acima está sempre printando o valor 2 na tela
CLEO_RETURN 0 i_accuracy // retornando somente a variável i_accuracy (int)
}

Mas claro, posso ainda não estar enxergando meu erro. Valew Um Geek
avatar
Mensagens Nível 1
Mensagens Nível 1
Mensagens : 12
Reputação : 0
Desde : 22/05/2017
Ver perfil do usuário
em Seg 22 Maio 2017, 14:35
Resolvido a dúvida pessoal...

O endereço em questão
(char_weapon_accuracy): CPed + 0x71A

A CLEO_FUNCTION ficou a seguinte:
Código:
 {
       LVAR_INT i_char // char recebido por parâmetro
       //
       LVAR_INT i_accuracy // variavel criada e utilizada para armazenar o valor retornado da consulta
       CLEO_GET_CHAR_ACCURACY:
           GET_PED_POINTER i_char i_char //CPed
           i_char += 0x71A // +0x71A [byte]
           READ_MEMORY i_char 1 FALSE i_accuracy
           // PRINT_FORMATTED_NOW "%d" 1 i_accuracy
       CLEO_RETURN 0 i_accuracy
   }

Post GTA_FORUMS onde me responderam.

Agradeço aos membros Nex' e Um Geek pela força, e assim que finalizar meu mod (estou tentando colocar mais realismo nos membros da gangue) postarei aqui no fórum. Abraço a todos e até mais...


Última edição por P_H em Seg 22 Maio 2017, 15:05, editado 1 vez(es)
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Título : Censurando since 2011
Mensagens : 22701
Reputação : 727
Desde : 03/05/2012
Idade : 23
Localização : Ibitinga - SP
Link : www.MixMods.com.br
Ver perfil do usuáriohttp://MixMods.com.br
em Seg 22 Maio 2017, 14:57
Você usou a tag "hide" (esconder) pra mostrar o código. Você escondeu o código, ninguém está vendo.
Use "code"

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
Conteúdo patrocinado
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum