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 Qua 26 Jul 2017, 18:34


Última edição por Junior_Djjr em Sex 17 Ago 2018, 17:02, editado 4 vez(es)

______________________________
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 Qua 26 Jul 2017, 18:54


Não tem algo errado aqui? philosoraptor

______________________________

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 - Básico
Scripter CLEO - Básico
Mensagens : 981
Reputação : 36
Desde : 13/08/2015
Idade : 14
Localização : Passo de Torres - SC
Ver perfil do usuário
em Qua 26 Jul 2017, 19:37
O erro é que ele não deveria ter aumentado 4 bytes pra escrever o valor "100", né?

______________________________
Se eu te ajudei em algo, clique no botão de reputação (o "coraçãozinho" na parte de cima da mensagem).
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 Qua 26 Jul 2017, 19:39
@Fabio escreveu:Não tem algo errado aqui? philosoraptor
Opa, não era pra ter o primeiro += 4 :v:
Corrigi.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 846
Reputação : 134
Desde : 22/09/2015
Ver perfil do usuário
em Qua 26 Jul 2017, 19:40
@Matheus Rivaldo escreveu:O erro é que ele não deveria ter aumentado 4 bytes pra escrever o valor "100", né?
Exato. :v:

______________________________
Everyone gonna remember my name !
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 Qua 26 Jul 2017, 20:09
Isto é mais útil e mais fácil do que parece (acho que quem me apresentou isto foi o @Fabio até)
Já me salvou varias vezes estes 00 00 00 00 :)

Até aprendi sobre allocate_memory, mas prefiro este método.
avatar
Scripter CLEO - Básico
Scripter CLEO - Básico
Mensagens : 71
Reputação : 10
Desde : 08/06/2017
Idade : 18
Localização : São Gabriel - RS
Ver perfil do usuário
em Qua 26 Jul 2017, 20:14
Caramba, os Programadores veem a palavra limite e riem.
vamos deixar o limite em aberto, quando atingirmos o limite dobraremos o limite

______________________________
Certa vez perguntaram ao Dalai Lama:
Oque mais te decepciona em Custom Scripts ?
E ele respondeu:
reached maximum local variable limit (32).
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 Qua 26 Jul 2017, 20:41
@Um Geek escreveu:Até aprendi sobre allocate_memory, mas prefiro este método.
Nem toquei nesse assunto, porque é difícil alguém preferir isso. Isso é até assunto de necessidade e não preferência.

Esse método é aconselhável para coisas maiores e principalmente variáveis, por exemplo:

Imagine que você esteja carregando todos os arquivos .txt de uma pasta para a memória. Você tem um número variável de arquivos, pode ter 5 ou 10... ou 50, então é interessante você usar este método, pois você pode ir alocando mais memória quando necessário, até acabar a RAM disponível :v: e depois, quando não precisar mais, liberar (FREE).

No thread memory é diferente pois você tem uma quantidade fixa de bytes disponíveis. Os bytes estão lá dentro do .cs (e serão "copiados" para a memória RAM). Se você cria um thread memory de 128 bytes, quer dizer que seu script estará 128 bytes mais "pesado" pra memória RAM... Porra, o que são 128 bytes?

Ou seja, é raro alguém precisar disso (eu mesmo, juro, só usei isso 1 vez na vida, e nem foi o comando da CLEO, foi a função direta no .exe mesmo). Isso pode ser pra algum tutorial mais no futuro.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Scripter CLEO - Avançado
Scripter CLEO - Avançado
Mensagens : 846
Reputação : 134
Desde : 22/09/2015
Ver perfil do usuário
em Qua 26 Jul 2017, 21:17
@Junior_Djjr escreveu:[...] Isso é até assunto de necessidade e não preferência. [...]
Como é o caso do meu Veh Renamer, que não dá para pressupor o conteúdo do arquivo .fxt. Sendo assim não é possível usar "thread memory", tendo de optar por alocação.

SB Code :
Código:
{$Cleo}  
/* Veh Renamer
            By : Israel */                                
const
    NULL 0x00
    isnumpad 10@
    spacerep 15@
    renamer_Flag 20@v

    VK_BACK 0x08    
    VK_RETURN 0x0D    
    VK_SHIFT 0x10    
    VK_CAPITAL 0x14        
  
    cheat_string 0x969110    

    CPad__AddToCheatString 0x438480
    StartNewScript 0x464C20
    GetKeyState 0x81E64C
    strlen 0x826330
    strcmp 0x8263C0  
end

if 8AF4: renamer_Flag = read_string_from_ini_file "Cleo\Renamer.ini" section "Settings" key "Rename Command"
then
    renamer_Flag = "Rename" // default
end

0AB1: call_scm_func @StartNewThread 1 labelName @NumpadCheats
                                            
while true
    wait 0  

    if and
        0ADC:   test_cheat renamer_Flag
        Actor.Driving($Player_Actor)
    jf continue
    
    25@ = 0x36
    
    Player.CanMove(0, 0)  
    0AC6: 0@ = label @Buffer offset // pTempbuffer
    0A8E: 25@ = 0@ + 25@ // pMainbuffer
  
    repeat
        wait 0

        0A8D: 1@ = read_memory cheat_string size 1 virtual_protect 0
        
        if and
        1@ >= 0x30
        1@ <= 0x39
        8AB0:   not key_pressed 1@
        then
            1@ += 0x30 // to key
            isnumpad = true
        else
            isnumpad = false    
        end

        if 0AB0:   key_pressed 1@
        then                          
            0AB1: call_scm_func @KeyWait 1 key1 1@

            if isnumpad == true
            then
                1@ -= 0x30 // to char
            end

            0AA7: call_function GetKeyState num_params 1 pop 0 VK_CAPITAL -> 2@

            if 1@ == 0x20
            then          
                1@ = 0xFF // spaces do hide the text on the screen
                spacerep = true
            end

            if or
            1@ < 0x30
            1@ > 0x39
            then
                if and
                2@ == 0
                8AB0:   not key_pressed VK_SHIFT              
                then
                    1@ += 0x20 // lowercase  
                end
            end
                        
            if 3@ < 40 // max_length
            then
                0A8C: write_memory 0@ size 1 value 1@ virtual_protect 0
                0@++
                if spacerep == true
                then
                    0A8C: write_memory 25@ size 1 value 0x20 virtual_protect 0
                    spacerep = false
                else
                    0A8C: write_memory 25@ size 1 value 1@ virtual_protect 0                
                end
                25@++                
            end          
        end
        
        0AC6: 2@ = label @Buffer offset
        0AA7: call_function strlen num_params 1 pop 1 2@ -> 3@
      
        if 0AB0:   key_pressed VK_BACK
        then
            if 3@ > 0
            then
                0@--
                25@--
                0A8C: write_memory 0@ size 1 value NULL virtual_protect 0                
                0A8C: write_memory 25@ size 1 value NULL virtual_protect 0            
            else
                break
            end    
        end
        0AB1: call_scm_func @KeyWait 1 key1 VK_BACK
        
        0AD1: show_formatted_text_highpriority "~g~Nome: ~s~%s" time 250 2@
    until 0AB0:   key_pressed VK_RETURN
    
    if 3@ > 0
    then        
        0@ = Actor.CurrentCar($Player_Actor)
        
        0@ = Car.Model(0@)
        0ADB: 0@s = car_model 0@ name
        
        2@ += 0x36 // pMainbuffer
          
        3@ = File.Open("Cleo\Cleo_Text\Renamer.fxt", "r")
        
        0A9C: 4@ = file 3@ size
        4@ += 50 // max_length per line
        
        0AC8: 5@ = malloc 4@
        0A8C: write_memory 5@ size 4@ value NULL virtual_protect 0
        
        6@ = 0x36
        0A8E: 6@ = 2@ + 6@ // pFxtLinebuffer
        
        while File.ReadString(3@, 6@, 50)
            0AD4: 33@ = scan_string 6@ format "%s" 7@s // split first word

            0AA7: call strcmp num_params 2 pop 2 0@s 7@s -> 9@
            
            if 9@ <> 0
            then
                0AD3: 5@ = format "%s%s" 5@ 6@
            end                  
        end

        33@ = 0x0A // LF
        0AD3: 5@ = format "%s%s %s%s" 5@ 0@s 2@ 33@s

        File.Close(3@)
                                    
        10@ = File.Open("Cleo\Cleo_Text\Renamer.fxt", "w")        
        File.WriteString(10@, 5@)
        
        File.Close(10@)
        0AC9: free 5@
        
        2@ -= 0x36
        0A8C: write_memory 2@ size 120 value NULL virtual_protect 0 // clear main/temp buffers
        
        0ACD: show_text_highpriority "~g~Renomeado." time 1000
    else
        0ACD: show_text_highpriority "~r~Cancelado." time 1000
    end
    
    0AB1: call_scm_func @KeyWait 1 key1 VK_RETURN
    Player.CanMove(0, 1)
end

:StartNewThread
0AC6: 1@ = label 0@ offset
0AA7: call_function StartNewScript num_params 1 pop 1 1@ -> 2@
  
2@ += 0x10 // CRunningScript->baseIp

005A: 1@ += 0@
0A8C: write_memory 2@ size 4 value 1@ virtual_protect 0  
2@ += 0xB7    
0A8C: write_memory 2@ size 1 value 1 virtual_protect 0

0AB2: ret 0

:NumpadCheats
0AAA: 0@ = thread 'nCheats' pointer

if or
0@ <> NULL
0AAB:   file_exists "Cleo\CPad.DoCheats_Numpad_and_KeyPressedFlag.cs"
then
    end_thread // do not duplicate numpad cheats
end

thread 'nCheats'
while true
    wait 0
      
    for 1@ = 0x60 to 0x69    
        0AB0:   key_pressed 1@
        jf continue
        
        0A8F: 2@ = 1@ - 0x30              
        0AA5: call_function CPad__AddToCheatString num_params 1 pop 1 2@
        0AB1: call_scm_func @KeyWait 1 key1 1@                
    end
end

:KeyWait
repeat
    while 0AB0:   key_pressed 0@(31@,1i)
        wait 0
    end    
    31@++
until 0@(31@,1i) == NULL

0AB2: ret 0

:Buffer
hex
// temp buffer
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
// main buffer
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
// fxt_line buffer
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
end      

______________________________
Everyone gonna remember my name !
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 10179
Reputação : 265
Desde : 08/11/2012
Ver perfil do usuário
em Qui 27 Jul 2017, 03:53
Por que não implementar uma extensão pra alocar essa memória estática com uma sintaxe familiar, em vez de meter um monte de zero? Algo como:

Código:
Memory:
DUMP(16) 00 ENDDUMP

Ou até:

Código:
Memory:
DUMP
RESERVE(16)
ENDDUMP

@LINK/2012
Eu posso forkar o negócio e implementar isso eu mesmo?
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 27 Jul 2017, 04:24
↑ Isso seria bom.
E o DUMP é coisa à parte do GTA3script original da Rockstar, então acredito que não há "regras" de implementação.

Ah, e fale direto com o LINK no face, melhor.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
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 27 Jul 2017, 15:16
@Thelost escreveu:
Código:
Memory:
DUMP
RESERVE(16)
ENDDUMP
Curti mais esse.
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 27 Jul 2017, 17:02
Thelost, você que curte tanto programação, tente continuar umas coisas que o LINK/2012 não fez por falta de tempo.
Falta, por exemplo, implementar a possibilidade de escrever strings dentro do DUMP...ENDDUMP
Código:
DUMP
"STRING" 00
ENDDUMP
(sinto falta disto)

______________________________
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 27 Jul 2017, 18:00
Nex' escreveu:
@Thelost escreveu:
Código:
Memory:
DUMP
RESERVE(16)
ENDDUMP
Curti mais esse.

Seria bom especificar o número a ser preenchido.
Código:

RESERVE(16, 0x00)
RESERVE(16, 0xFF)

______________________________

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
Programador - Avançado
Programador - Avançado
Mensagens : 10179
Reputação : 265
Desde : 08/11/2012
Ver perfil do usuário
em Qui 27 Jul 2017, 18:48
@Fabio escreveu:
Seria bom especificar o número a ser preenchido.
Código:

RESERVE(16, 0x00)
RESERVE(16, 0xFF)

Aí seria FILL, RESERVE significa deixar um espaço válido ali.
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 27 Jul 2017, 19:39
@Thelost escreveu:
@Fabio escreveu:
Seria bom especificar o número a ser preenchido.
Código:

RESERVE(16, 0x00)
RESERVE(16, 0xFF)

Aí seria FILL, RESERVE significa deixar um espaço válido ali.

Ah sim, verdade.

Aproveitando o post, eu atualizei o tópico: http://brmodstudio.forumeiros.com/t4721-avancado-facilitador-de-conversao-de-c-para-assembly-para-usar-em-scripts-cleo-scm

______________________________

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
Programador - Avançado
Programador - Avançado
Mensagens : 10179
Reputação : 265
Desde : 08/11/2012
Ver perfil do usuário
  • Reputação da mensagem: 100% (2 votos)
em Qui 27 Jul 2017, 22:28
@Junior_Djjr escreveu:Thelost, você que curte tanto programação, tente continuar umas coisas que o LINK/2012 não fez por falta de tempo.
Falta, por exemplo, implementar a possibilidade de escrever strings dentro do DUMP...ENDDUMP
Código:
DUMP
"STRING" 00
ENDDUMP
(sinto falta disto)

https://github.com/thelink2012/gta3sc/pull/116
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 28 Jul 2017, 17:00
Boa.
E esqueci dessa coisa de especificar o valor que o Fabio falou, é útil também.
Por exemplo se você quer guardar handle dos carros, você tem que usar FF para dizer "vazio", pois o handle do primeiro carro que aparecer no jogo terá o valor "0", se você tratar "0" como vazio, vai bugar pro primeiro carro que aparecer no jogo.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Scripter CLEO - Básico
Scripter CLEO - Básico
Mensagens : 981
Reputação : 36
Desde : 13/08/2015
Idade : 14
Localização : Passo de Torres - SC
Ver perfil do usuário
em Sex 28 Jul 2017, 17:13
Aproveitando o tópico: Junior, você pensa em fazer um tutorial novo de engenharia reversa, para os novos programadores de GTA3Script que não entendem a sintaxe do Sanny Builder?

______________________________
Se eu te ajudei em algo, clique no botão de reputação (o "coraçãozinho" na parte de cima da mensagem).
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 28 Jul 2017, 17:16
@Matheus Rivaldo escreveu:Junior, você pensa em fazer um tutorial novo de engenharia reversa, para os novos programadores de GTA3Script que não entendem a sintaxe do Sanny Builder?
E mudaria o quê?
O tutorial de engenharia reversa tem o objetivo de usar o IDA Pro para encontrar endereços de memória, só.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
avatar
Programador - Avançado
Programador - Avançado
Mensagens : 10179
Reputação : 265
Desde : 08/11/2012
Ver perfil do usuário
em Sex 28 Jul 2017, 18:18
@Junior_Djjr escreveu:Boa.
E esqueci dessa coisa de especificar o valor que o Fabio falou, é útil também.
Por exemplo se você quer guardar handle dos carros, você tem que usar FF para dizer "vazio", pois o handle do primeiro carro que aparecer no jogo terá o valor "0", se você tratar "0" como vazio, vai bugar pro primeiro carro que aparecer no jogo.

Eu deixei um issue aqui, tou com preguiça de fazer, outra hora faço.
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 Dom 30 Jul 2017, 04:38
E foi fechado. Até justo mesmo...

Vamos esperar pelo aumento das variáveis, uma coisa que vai mudar muita coisa no nosso modo de criar os mods.

______________________________
BMS agora em nova plataforma:
Forum.MixMods.com.br
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 31 Jul 2017, 22:34
No exemplo do buffer você usou & invés de $. Confundiu com o reference operator do C++, né?
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 Ter 01 Ago 2017, 05:20
Nex' escreveu:No exemplo do buffer você usou & invés de $. Confundiu com o reference operator do C++, né?
Ops :)

Eu também faço esse erro enquanto codando... Ainda mais pelo costume do Sanny Builder que me fez ver "$" como uma coisa errada.

______________________________
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 Ter 01 Ago 2017, 12:28
@Junior_Djjr escreveu:Ainda mais pelo costume do Sanny Builder que me fez ver "$" como uma coisa errada.

Não vai chegar perto do PHP então Fuch That Guy

______________________________

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'
Conteúdo patrocinado
Tópicos similares
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum