[Ajuda] comando trazer
#1

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(playeridnamesizeof(name));
    new 
pasta[100];
    
format(pastasizeof(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(4110,0,8,0,-1,-1,60000);
    
    }
    
//outro carro aki
    
return 1;
}
stock salvarcarro(playerid)
{
    new 
name[25];
    
GetPlayerName(playeridnamesizeof(name));
    new 
pasta[100];
    
format(pastasizeof(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(playeridnamesizeof(name));
    new 
pasta[100];
    
format(pastasizeof(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;

Reply
#2

Crie um comando para desconectar e conectar o veiculo.
Reply
#3

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;

Reply
#4

Usa as funзхes: GetVehiclePos, GetPlayerPos, SetVehiclePos

Pega essa base e arruma ela com suas news/enum

PHP код:
CMD:puxarveiculo(playeridparams[])
{
    new 
VeiculoIDFloat:Pos[3];
    if(!
IsPlayerAdminplayerid )) 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(VeiculoIDCarroXCarroYCarroZ);
    
GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
    {
        
SetVehiclePos(VeiculoIDPos[0], Pos[1], Pos[2]);
    }
    return 
1;

Reply
#5

PHP код:
cmd:puxarveh(playeridparams[]) {
    new 
target;
    
    if(
sscanf(params"d"target)) return SendClientMessage(playerid,-1,"/puxarveh <vehicleid>");
    
    new 
Float:xFloat:yFloat:z;
    
    
GetXYInFrontOfPlayer(playeridxyz3);
    
SetVehiclePos(targetxyz);
    return 
1;
}
stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:yFloat:distance)
{
    
// Created by ******
    
new Float:a;
    
GetPlayerPos(playeridxya);
    
GetPlayerFacingAngle(playerida);
    if (
GetPlayerVehicleID(playerid)) {
        
GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    }
    
+= (distance floatsin(-adegrees));
    
+= (distance floatcos(-adegrees));

Reply
#6

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(playeridPos[0], Pos[1], Pos[2]); // player pos
GetPlayerFacingAngle(playeridPos[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!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)