SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect()

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11380
    Moedas : 1031985
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() Empty [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect()

    Mensagem por Weslley_Script Qua 15 Mar 2023 - 7:43

    SA-MP 0.3.DL
    Tutoriais de como adicionar skin, objeto e utilizar o Redirect()
    Й necessбrio estб utilizando o SA-MP 0.3.DL
    • Como usar o adicionar skins server-side
      • Vocк deverб abrir a pasta models dentro do seu sa-mp server.
        [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() 9MVksOL
      • Ao abrir tal pasta vocк deverб adicionar o .dff e .txd da skin desejada.
        [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() S49DohB
      • Apуs coloca-los na pasta models do seu sa-mp server, vocк deverб editar o arquivo artconfig.txt, localizado nesta mesma pasta.

        Use o parametro AddCharModel(baseid, newid, dffname[], txdname[]); dentro do artconfig.txt.
        • baseid - Serб a skin que ele irб copiar os movimentos e falas, dentre as 311 skins disponнveis (0-311).
        • newid - Deverб ser o novo ID da skin, entre 20000 e 30000 (ex: 20012).
        • dffname[] - Deverб ser o caminho do arquivo .dff desta skin a partir da pasta models dentro do seu sa-mp server.
        • txdname[] - Deverб ser o caminho do arquivo .txd desta skin a partir da pasta models dentro do seu sa-mp server.

        Ex:

        Código:
        AddCharModel(280, 25000, "police_asiatic.dff", "police_asiatic.txd");

        [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() CNYNDL2
      • Apуs configurar o artconfig.txt vб atй o server.cfg e coloque o seguinte parвmetro no final do arquivo (caso ainda nгo tenha feito):


        Código:
        useartwork 1

      • Ligue seu sa-mp server e entre no servidor.
      • As skins serгo baixadas assim que adentrar dentro do servidor.
        [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() CndksFJ
      • Todas as skins sгo baixadas pelo client-side e serгo colocadas na pasta GTA San Andreas User Files\SAMP\cache\IP_Do_Servidor\ do jogador. Os arquivos possuem nomes diferentes que sгo definidos pelo prуprio SA-MP server, utilizando alguma criptografia para defini-los.



    • Como usar o adicionar objetos no server-side
      • Vocк deverб abrir a pasta models dentro do seu sa-mp server.
        [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() 9MVksOL
      • Ao abrir tal pasta vocк deverб adicionar o .dff e .txd do objeto desejado.
        [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() 6UwsFPp
      • Apуs coloca-los na pasta models do seu sa-mp server, vocк deverб editar o arquivo artconfig.txt, localizado nesta mesma pasta.

        Use o parametro AddSimpleModel(virtualworld, baseid, newid, dffname[], txdname[]); dentro do artconfig.txt.
        • virtualworld - Serб o virtual world onde esse objeto estarб disponнvel. Vocк poderб colocar como -1 para ser disponнvel em qualquer virtual world.
        • baseid - Й o id do objeto que terб os parвmetros nativos copiados para o novo objeto.
        • newid - Й o novo id do objeto a ser inserido no jogo, que deverб estб entre -1000 e -30000 (ex: -24121).
        • dffname[] - Deverб ser o caminho do arquivo .dff deste objeto a partir da pasta models dentro do seu sa-mp server.
        • txdname[] - Deverб ser o caminho do arquivo .txd deste objeto a partir da pasta models dentro do seu sa-mp server.

        Ex:

        Código:
        AddSimpleModel(-1, 18865, -1000, "AxomCamPOLICE1.dff", "AxomCamPOLICE1.txd");
        [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() ArUh01v
      • Apуs configurar o artconfig.txt vб atй o server.cfg e coloque o seguinte parвmetro no final do arquivo (caso ainda nгo tenha feito):

        Código:
        useartwork 1

      • Ligue seu sa-mp server e entre no servidor.
      • Os objetos serгo baixadas assim que adentrar dentro do servidor.
        [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() CndksFJ
      • Todos os objetos sгo baixadas pelo client-side e serгo colocadas na pasta GTA San Andreas User Files\SAMP\cache\IP_Do_Servidor\ do jogador. Os arquivos possuem nomes diferentes que sгo definidos pelo prуprio SA-MP server, utilizando alguma criptografia para defini-los.



    • Como usar o Redirect()
      • Todos os arquivos utilizados no Redirect deverгo ser iguais aos arquivos na pasta models/ no sa-mp server.
      • Vocк deverб abrir o cуdigo fonte (gamemode) de seu servidor.
      • Posicione a funзгo OnPlayerRequestDownload(playerid, type, crc) em alguma posiзгo do gamemode, sugiro acima do OnGameModeInit para facilitar.

        Código:
        public OnPlayerRequestDownload(playerid, type, crc)
                    {
                   
                        return 1;
                    }

      • Crie uma variбvel global sem tamanho definido, acima da public com o nome SERVER_DOWNLOAD.

        Código:
        new SERVER_DOWNLOAD[];
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                   
                        return 1;
                    }

      • Declare o URL do local onde estгo os arquivos do seu servidor em seu site na variбvel criada. Para o exemplo, utilizarei o seguinte URL http://www.dev-wil.com/downloads/038/models.

        Código:
        new SERVER_DOWNLOAD[] = "http://www.dev-wil.com/downloads/038/models";
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                   
                        return 1;
                    }

      • Agora, crie os parвmetros do seu OnPlayerRequestDownload para que ele substitua o download via sa-mp server pelo do seu site. Coloque uma condiзгo para checar se o jogador estб conectado. Crie condiзхes com os types DOWNLOAD_REQUEST_TEXTURE_FILE e DOWNLOAD_REQUEST_MODEL_FILE para definir a funзгo que irб buscar a textura ou o arquivo de modelo, respectivamente.

        Código:
        new SERVER_DOWNLOAD[] = "http://www.dev-wil.com/downloads/038/models";
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                        if(!IsPlayerConnected(playerid))
                            return 0;
                       
                        if(type == DOWNLOAD_REQUEST_TEXTURE_FILE)
                            {}
                        else if(type == DOWNLOAD_REQUEST_MODEL_FILE)
                            {}
                        return 1;
                    }

      • Adicione as funзхes FindTextureFileNameFromCRC(crc, retstr[], retstr_size) e FindModelFileNameFromCRC(crc, retstr[], retstr_size)[/b] para o sa-mp server escrever o nome dos arquivos de textura e modelo, respectivamente, a serem encontrados no servidor de web dentro das condiзхes com o type.

        Código:
        new SERVER_DOWNLOAD[] = "http://www.dev-wil.com/downloads/038/models";
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                        if(!IsPlayerConnected(playerid))
                            return 0;
                       
                        if(type == DOWNLOAD_REQUEST_TEXTURE_FILE)
                            FindTextureFileNameFromCRC(crc, retstr[], retstr_size);
                        else if(type == DOWNLOAD_REQUEST_MODEL_FILE)
                            FindModelFileNameFromCRC(crc, retstr[], retstr_size);
                        return 1;
                    }


      • Crie uma variбvel local para substituir o retstr[] e altere o retstr_size para sizeof(nome da variavel)..

        Código:
        new SERVER_DOWNLOAD[] = "http://www.dev-wil.com/downloads/038/models";
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                        if(!IsPlayerConnected(playerid))
                            return 0;
                           
                        new filename[64];
                       
                        if(type == DOWNLOAD_REQUEST_TEXTURE_FILE)
                            FindTextureFileNameFromCRC(crc, filename, sizeof(filename));
                        else if(type == DOWNLOAD_REQUEST_MODEL_FILE)
                            FindModelFileNameFromCRC(crc, filename, sizeof(filename));
                           
                        return 1;
                    }

      • As funзхes de FindTextureFileNameFromCRC e FindModelFileNameFromCRC irгo retornar um valor 1 para caso seja achada ou 0 para caso nгo seja, crie uma variбvel para identificar tal aзгo e prossiga para o prуximo passo. Lembre-se de colocar a variбvel para ser igual a funзгo de localizar os arquivos.

        Código:
        new SERVER_DOWNLOAD[] = "http://www.dev-wil.com/downloads/038/models";
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                        if(!IsPlayerConnected(playerid))
                            return 0;
                           
                        new filename[64], filefound;
                       
                        if(type == DOWNLOAD_REQUEST_TEXTURE_FILE)
                            filefound = FindTextureFileNameFromCRC(crc, filename, sizeof(filename));
                        else if(type == DOWNLOAD_REQUEST_MODEL_FILE)
                            filefound = FindModelFileNameFromCRC(crc, filename, sizeof(filename));
                           
                        return 1;
                    }


      • Agora crie uma condiзгo para que caso a variбvel tenha o valor 1 ela prossiga com algumas informaзхes.

        Código:
        new SERVER_DOWNLOAD[] = "http://www.dev-wil.com/downloads/038/models";
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                        if(!IsPlayerConnected(playerid))
                            return 0;
                           
                        new filename[64], filefound;
                       
                        if(type == DOWNLOAD_REQUEST_TEXTURE_FILE)
                            filefound = FindTextureFileNameFromCRC(crc, filename, sizeof(filename));
                        else if(type == DOWNLOAD_REQUEST_MODEL_FILE)
                            filefound = FindModelFileNameFromCRC(crc, filename, sizeof(filename));
                           
                        if(filefound)
                            {}
                       
                        return 1;
                    }

      • Declare uma variбvel local para texto com o tamanho de 256. Essa variбvel serб responsбvel por armazenar a URL final do arquivo, contendo a URL principal e a localizaзгo do arquivo nesse endereзo. Crie uma formtaзгo para tal variбvel, inserindo o SERVER_DOWNLOAD e o filename no texto.

        Código:
        new SERVER_DOWNLOAD[] = "http://www.dev-wil.com/downloads/038/models";
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                        if(!IsPlayerConnected(playerid))
                            return 0;
                           
                        new filename[64], filefound, url_final[256];
                       
                        if(type == DOWNLOAD_REQUEST_TEXTURE_FILE)
                            filefound = FindTextureFileNameFromCRC(crc, filename, sizeof(filename));
                        else if(type == DOWNLOAD_REQUEST_MODEL_FILE)
                            filefound = FindModelFileNameFromCRC(crc, filename, sizeof(filename));
                           
                        if(filefound)
                        {
                            format(url_final, sizeof(url_final), "%s/%s", SERVER_DOWNLOAD, filename);
                        }
                       
                        return 1;
                    }

      • Agora abaixo da formataзгo insira a funзгo RedirectDownload(playerid, url[]), onde o url[] й a variбvel que formatamos.

        Código:
        new SERVER_DOWNLOAD[] = "http://www.dev-wil.com/downloads/038/models";
                    public OnPlayerRequestDownload(playerid, type, crc)
                    {
                        if(!IsPlayerConnected(playerid))
                            return 0;
                           
                        new filename[64], filefound, url_final[256];
                       
                        if(type == DOWNLOAD_REQUEST_TEXTURE_FILE)
                            filefound = FindTextureFileNameFromCRC(crc, filename, sizeof(filename));
                        else if(type == DOWNLOAD_REQUEST_MODEL_FILE)
                            filefound = FindModelFileNameFromCRC(crc, filename, sizeof(filename));
                           
                        if(filefound)
                        {
                            format(url_final, sizeof(url_final), "%s/%s", SERVER_DOWNLOAD, filename);
                            RedirectDownload(playerid, url_final);
                        }
                        return 1;
                    }


      • Ligue o SA-MP Server e entre no jogo, vocк notarб que os arquivos serгo baixados mais rapidamente pelo client-side dessa forma.
      • Caso ocorra que no lugar da porcentagem apareзa o erro (22) HTTP Response co... significarб que o caminho indicado para o arquivo estб errado ou diferente do sa-mp server. Faзa um debug e descubra o erro.




    Creditos: willttoonn



    [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() D07Xwqb
    [Tutorial] SA-MP 0.3.8: Adicionando skins, objetos e usando Redirect() Yjab9HN

      Data/hora atual: Sáb 11 maio 2024 - 21:23