SA-MP Forums Archive
[Ajuda] Sistema. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sistema. (/showthread.php?tid=557443)



Sistema. - sonmook - 13.01.2015

Galera queria saber como fazer para transformar esse sistema para criar in-game em vez de ter que colocar no Ongamemodeinit .

pawn Код:
stock CreateUlricVehicle(VehicleModel, Float:X1, Float:Y1, Float:Z1, Float:angle, Colour1, Colour2, cost)
{
    new ulric = AddStaticVehicle(VehicleModel, X1, Y1, Z1, angle, Colour1, Colour2);
    DOF2_CreateFile(VFile(ulric));
    VehicleInfo[ulric][ToSell] = 1;
    SetVehicleCost(ulric, cost);
    return 1;
}



Re: Sistema. - JonathanFeitosa - 13.01.2015

Float:X1, Float:Y1, Float:Z1, Float:angle tu usa GetPlayerPos.
E o resto tu faz por sscanf.


Re: Sistema. - WLSF - 13.01.2015

Um exemplo baseado no comentбrio do Jonathan:
pawn Код:
get_cmd_noparams(cv) {

    new Float:X1, Float:Y1, Float:Z1, Float:angle, Colour1, Colour2;
    if (sscanf(params, "ffffdd"))
        return SendClientMessage(playerid, -1, "/cv [x][y][z][angle][cor 1][cor 2]");

    new ulric = AddStaticVehicle(VehicleModel, X1, Y1, Z1, angle, Colour1, Colour2);
    DOF2_CreateFile(VFile(ulric));
    VehicleInfo[ulric][ToSell] = 1;
    SetVehicleCost(ulric, cost);
    return 1;
}
Utilizando ICMD 8.0 e sscanf.

Abraзos


Re: Sistema. - DiegoLeo - 13.01.2015

Exemplo:

PHP код:
CMD:criarveiculo(playeridparams[])
{
   new 
vehicle,cor1,cor2,preco,Float:xp,Float:yp,Float:zp,Float:A//Varaveis
   
if(sscanf(params"iiii"vehicle,cor1,cor2,preco) return SendClientMessage(playerid, -1"Uso: /criarveiculo [Modelo Veiculo]");
   if(
vehicle 400 || vehicle 611) return SendClientMessage(playerid, -"Vocк deve escolher um modelo entre 400 e 611");// Aqui vocк pode mudar os modelos aceitos pelo Server
   
if(cor1 || cor1 255 || cor2 || cor2 255) return SendClientMessage(playerid, -1"Use uma cor entre 0 e 255");// Aqui estгo todas as cores
   
GetPlayerPos(playeridxpypzp);// Aqui pega a pos do jogador
   
GetPlayerFacingAngle(playeridA);//Aqui pega o Angulo do jogador
   
CreateUlricVehicle(vehiclexpyp+2zp+2Acor1cor2preco)// Aqui cria o carro 
   
return 1;

@Edit
Nгo testei, й sу um exemplo vocк pode por as informaзхes pra somente adm criar e talz


Re: Sistema. - sonmook - 13.01.2015

pawn Код:
/criarveiculo(playerid, params[])
{
   new vehicle,cor1,cor2,preco,Float:xp,Float:yp,Float:zp,Float:A; //Varaveis
   if(sscanf(params, "iiii", vehicle,cor1,cor2,preco) return SendClientMessage(playerid, -1, "Uso: /criarveiculo [Modelo Veiculo]");
   if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, -1 , "Vocк deve escolher um modelo entre 400 e 611");// Aqui vocк pode mudar os modelos aceitos pelo Server
   if(cor1 < 0 || cor1 > 255 || cor2 < 0 || cor2 > 255) return SendClientMessage(playerid, -1, "Use uma cor entre 0 e 255");// Aqui estгo todas as cores
   GetPlayerPos(playerid, xp, yp, zp);// Aqui pega a pos do jogador
   GetPlayerFacingAngle(playerid, A);//Aqui pega o Angulo do jogador
   CreateUlricVehicle(vehicle, xp, yp+2, zp+2, A, cor1, cor2, preco)// Aqui cria o carro  
   return 1;
}
O Comando cria o veiculo td certinho mбs o problema й quando reinicia o servidor o carro nгo salva!


Re: Sistema. - DiegoLeo - 13.01.2015

Sim, a stock nгo salva o carro, ai vocк teria que criar um arquivo para os carros para salva-los


Re: Sistema. - sonmook - 14.01.2015

E como seria tem como mandar algum tutorial ou base ?


Re: Sistema. - DiegoLeo - 14.01.2015

Vocк teria que manjar de algo como DOF2, ai entгo com ele vocк ir criando os arquivos de cada carro que vocк crie, usando algum loop para ver quantos carros tem e tal eu aprendi muito com esse tuto Aqui, dк uma olhada nele


Re: Sistema. - sonmook - 14.01.2015

Po cara muito obrigado pela Atenзгo, Estava atй agora dando uma estudada em DOF2 e consegui fazer o sistema de salvamento e carregamento, Se eu precisar de ajuda volto a escrever aqui no Topico, Obrigado!


Re: Sistema. - sonmook - 14.01.2015

Bom eu fiz desse modo.
pawn Код:
CMD:cvc(playerid, params[])
{
    new carputaoSon,vehicle,cor1,cor2,preco,Float:xp,Float:yp,Float:zp,Float:A; //Varaveis
    if(sscanf(params, "iiii", vehicle,cor1,cor2,preco)) return SendClientMessage(playerid, -1, "Uso: /cvc [Modelo Veiculo] [Cor 1] [Cor 2] [Preзo]");
    if(vehicle < 400 || vehicle > 611) return SendClientMessage(playerid, -1 , "Vocк deve escolher um modelo entre 400 e 611");// Aqui vocк pode mudar os modelos aceitos pelo Server
    if(cor1 < 0 || cor1 > 255 || cor2 < 0 || cor2 > 255) return SendClientMessage(playerid, -1, "Use uma cor entre 0 e 255");// Aqui estгo todas as cores
    GetPlayerPos(playerid, xp, yp, zp);// Aqui pega a pos do jogador
    GetPlayerFacingAngle(playerid, A);//Aqui pega o Angulo do jogador
    CreateUlricVehicle(vehicle, xp, yp+2, zp+2, A, cor1, cor2, preco);// Aqui cria o carro
    carputaoSon = GetPlayerVehicleID(playerid);
    GetVehiclePos(carputaoSon, xp, yp, zp);
    GetVehicleZAngle(carputaoSon, A);
    GetVehicleColor(carputaoSon, cor1, cor2);
    Loop(i, MAX_CARROS_SNA, 0)
    {
        format(String, 60, "Concessionaria/CarrosCriadosConceSNA/%d.ini", i);
        if(!DOF2_FileExists(String)) break;//verifica
    }
    DOF2_SetInt(String, "Modelo", vehicle);
    DOF2_SetFloat(String, "X", xp);
    DOF2_SetFloat(String, "Y", yp);
    DOF2_SetFloat(String, "Z", zp);
    DOF2_SetFloat(String, "Angle", A);
    DOF2_SetInt(String, "Cor 1", cor1);
    DOF2_SetInt(String, "Cor 2", cor2);
    DOF2_SetInt(String,"Preзo",preco);
    DOF2_SaveFile();
    return 1;
}

//carregamento

CarregarCarrosDaConceSNA() {
    for(new i = 0; i < sizeof(CarrosInfo); i++)
    {
        format(String,sizeof(String),"Concessionaria/CarrosCriadosConceSNA/%d.ini",i);
        if(DOF2_FileExists(String))
        {
            CarrosInfo[i][Modelofudido] = DOF2_GetInt(String, "Modelo");
            CarrosInfo[i][Xfudido] = DOF2_GetFloat(String, "X");
            CarrosInfo[i][Yfudido] = DOF2_GetFloat(String, "Y");
            CarrosInfo[i][Zfudido] = DOF2_GetFloat(String, "Z");
            CarrosInfo[i][Afudido] = DOF2_GetFloat(String, "Angle");
            CarrosInfo[i][Cor1fudido] = DOF2_GetInt(String, "Cor 1");
            CarrosInfo[i][Cor2fudido] = DOF2_GetInt(String, "Cor 2");
            CarrosInfo[i][Precofudido] = DOF2_GetInt(String, "Preзo");
            CreateUlricVehicle(CarrosInfo[i][Modelofudido], CarrosInfo[i][Xfudido], CarrosInfo[i][Yfudido]+2, CarrosInfo[i][Zfudido]+2, CarrosInfo[i][Afudido], CarrosInfo[i][Cor1fudido], CarrosInfo[i][Cor2fudido], CarrosInfo[i][Precofudido]);
        }
    }
    return 1;
}
Agora queria saber como eu faria um comando para /estacionar o veнculo, com salvamento e carregamento!