comando trazer -
Santso - 20.07.2018
PHP код:
//estou eu aqui a 3 vez hoje, sei programar mas ainda nгo tenho muito raciocinio entгo oque me resta й pedir ajuda, fiz o sistema de concessionaria e queria criar um comando de adm /puxar pra puxar o carro do player, nгo todos sу do id que ele digitar poderiam me dizer como faзo isso, codigo abaixo
CMD:comprar(playerid)
{
new name[25];
GetPlayerName(playerid, name, sizeof(name));
new pasta[100];
format(pasta, sizeof(pasta), "carro1/%s.txt",name);
if(GetPlayerMoney(playerid) >= 150000)
{
GivePlayerMoney(playerid, -150000);
DOF2_CreateFile(pasta);
DOF2_SetInt(pasta, "Modelo", CarroInfo[cModelo]);
DOF2_SetInt(pasta, "Cor1", CarroInfo[cCor1]);
DOF2_SetInt(pasta, "Cor2", CarroInfo[cCor2]);
DOF2_SetFloat(pasta, "Vidacarro", VidaCarro);
DOF2_SetFloat(pasta, "CarroX", CarroX);
DOF2_SetFloat(pasta, "CarroY", CarroY);
DOF2_SetFloat(pasta, "CarroZ", CarroZ);
DOF2_SetFloat(pasta, "Angulo", Angulo);
carro[playerid] = AddStaticVehicleEx(411, 0,0,8,0,-1,-1,60000);
}
//outro carro aki
return 1;
}
stock salvarcarro(playerid)
{
new name[25];
GetPlayerName(playerid, name, sizeof(name));
new pasta[100];
format(pasta, sizeof(pasta), "carro1/%s.txt",name);
if(DOF2_FileExists(pasta))
{
GetVehiclePos(carro[playerid], CarroX,CarroY,CarroZ);
GetVehicleZAngle(carro[playerid], Angulo);
GetVehicleHealth(carro[playerid], VidaCarro);
ChangeVehicleColor(carro[playerid], CarroInfo[cCor1], CarroInfo[cCor2]);
DOF2_SetInt(pasta, "Cor1", CarroInfo[cCor1]);
DOF2_SetInt(pasta, "Cor2", CarroInfo[cCor2]);
DOF2_SetInt(pasta, "Modelo", GetVehicleModel(carro[playerid]));
DOF2_SetFloat(pasta,"CarroX", CarroX);
DOF2_SetFloat(pasta,"CarroY", CarroY);
DOF2_SetFloat(pasta,"CarroZ", CarroZ);
DOF2_SetFloat(pasta,"Angulo", Angulo);
DOF2_SetFloat(pasta,"VidaCarro", VidaCarro);
DOF2_SaveFile();
DestroyVehicle(carro[playerid]);
}
return 1;
}
stock carregarcarro(playerid)
{
new name[25];
GetPlayerName(playerid, name, sizeof(name));
new pasta[100];
format(pasta, sizeof(pasta), "carro1/%s.txt",name);
if(DOF2_FileExists(pasta))
{
CarroInfo[cCor1] = DOF2_GetInt(pasta, "Cor1");
CarroInfo[cCor2] = DOF2_GetInt(pasta, "Cor2");
CarroInfo[cModelo] = DOF2_GetInt(pasta, "Modelo");
CarroX = DOF2_GetFloat(pasta, "CarroX");
CarroY = DOF2_GetFloat(pasta, "CarroY");
CarroZ = DOF2_GetFloat(pasta, "CarroZ");
Angulo = DOF2_GetFloat(pasta, "Angulo");
VidaCarro = DOF2_GetFloat(pasta, "VidaCarro");
CreateVehicle(CarroInfo[cModelo],CarroX,CarroY,CarroZ,Angulo,CarroInfo[cCor1],CarroInfo[cCor2], 60000);
SetVehicleHealth(carro[playerid], VidaCarro);
}
return 1;
}
Re: comando trazer -
CALENZ021 - 20.07.2018
Crie um comando para desconectar e conectar o veiculo.
Re: comando trazer -
augustogdo - 20.07.2018
Fiz esse cуdigo usando PAWN.CMD e SSCANF2. Й algo assim que precisas?
PHP код:
cmd:puxarveiculo(playerid,params[]){
new player,Float:x,Float:y,Float:z;
if(sscanf(params,"u",player)) return SendClientMessage(playerid,-1,"/puxarveiculo playerid");
if(IsPlayerConnected(player))
{
GetPlayerPos(playerid,x,y,z);
SetVehiclePos(carro[player],x,y,z);
SendClientMessage(playerid, -1, "Era isso que vocк queria?");
}else return SendClientMessage(playerid, -1, "ID nгo encontrado");
return 1;
}
Re: comando trazer -
AutoMatic2 - 20.07.2018
Usa as funзхes:
GetVehiclePos,
GetPlayerPos,
SetVehiclePos
Pega essa base e arruma ela com suas
news/enum
PHP код:
CMD:puxarveiculo(playerid, params[])
{
new VeiculoID, Float:Pos[3];
if(!IsPlayerAdmin( playerid )) return SendClientMessage(playerid, -1, "| ERRO | Vocк nгo tem permissгo!");
if(sscanf(params, "d", VeiculoID)) return SendClientMessage(playerid, -1, "| ERRO | Use: /puxarveiculo [veiculoid]");
if(!DOF2::FileExists(File)) return SendClientMessage(playerid, -1, "| ERRO | ID Veнculo nгo existe!");
// File sua pasta de "carros/%s.txt"...
// Usa uma format para pegar os dados dentro do "carros/%s.text" para pegar o GetVehiclePos...
// Eu fiz oq eu vi ai na suas news/enum, nгo sei se vai funcionar assim...
GetVehiclePos(VeiculoID, CarroX, CarroY, CarroZ);
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
{
SetVehiclePos(VeiculoID, Pos[0], Pos[1], Pos[2]);
}
return 1;
}
Re: comando trazer -
bruxo00 - 20.07.2018
PHP код:
cmd:puxarveh(playerid, params[]) {
new target;
if(sscanf(params, "d", target)) return SendClientMessage(playerid,-1,"/puxarveh <vehicleid>");
new Float:x, Float:y, Float:z;
GetXYInFrontOfPlayer(playerid, x, y, z, 3);
SetVehiclePos(target, x, y, z);
return 1;
}
stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
{
// Created by ******
new Float:a;
GetPlayerPos(playerid, x, y, a);
GetPlayerFacingAngle(playerid, a);
if (GetPlayerVehicleID(playerid)) {
GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
}
x += (distance * floatsin(-a, degrees));
y += (distance * floatcos(-a, degrees));
}
Re: comando trazer -
AutoMatic2 - 20.07.2018
Nгo vai adiantar muita coisa desses codigos se ele nгo pegar oq ta dentro da pasta "carros/%s.txt" dele.
usando uma format basta pegar o ID do veнculo e traze-lo ate o adm.
Fiz esse aqui tbm com suas variбvel teste ai dps:
PHP код:
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); // player pos
GetPlayerFacingAngle(playerid, Pos[3]); // player angulo
GetVehiclePos(carros[playerid], Pos[0], Pos[1], Pos[2]); // veiculo pos
SetVehicleZAngle... // seta o angulo do veiculo
SetVehiclePos... // setar o veiculo ate o adm!!
SendClientMessage(playerid, -1, "| INFO | Vocк trouxe o veнculo atй vocк!");
Nгo sei se tem que pegar as posiзхes do veнculo. Vou sair ate + tarde!