[Ajuda]/Veiculoestacionar -
DJGOMES - 20.11.2011
Olб a todos, eu tenho um Problema ao estacionar o veiculo, dou o comando ele estaciona mas depois dou denovo e ele desaparece.
Код:
if(strcmp(cmdtext,"/veiculoestacionar",true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
//new car = TaNoCarro[playerid];
new Float:X,Float:Y,Float:Z;
new Float:A;
new VID = GetPlayerVehicleID(playerid);
CarregarDono(playerid);
new PlayerNick[MAX_PLAYER_NAME];
GetPlayerName(playerid,PlayerNick,sizeof(PlayerNick));
new arquivo[256];
format(arquivo, sizeof(arquivo), "/Concessionaria/Donos/%s.ini",PlayerNick);
if(dini_Exists(arquivo))
{
new carro = Dono[playerid][dChave];
if(Carro[carro][cCID] == VID)
{
if(strcmp(PlayerNick,Carro[carro][cDono],true)==0)
{
motor[carro] = 0;
GetVehicleZAngle(VID,A);
GetVehiclePos(VID,X,Y,Z);
Carro[carro][cSpawnX] = X;
Carro[carro][cSpawnY] = Y;
Carro[carro][cSpawnZ] = Z;
Carro[carro][cAngulo] = A;
strmid(Carro[carro][cDono], PlayerNick, 0, strlen(PlayerNick), MAX_PLAYER_NAME);
Carro[carro][cCarroON] = 0;
DestroyVehicle(cCarro[carro]);
cCarro[carro] = AddStaticVehicleEx(Carro[carro][cModelo],Carro[carro][cSpawnX],Carro[carro][cSpawnY],Carro[carro][cSpawnZ],Carro[carro][cAngulo],Carro[carro][cCorUm],Carro[carro][cCorDois],-1);
PutPlayerInVehicle(playerid, cCarro[carro], 0);
Carro[carro][cCID] = VID;
SalvarCarro(carro);
CarregarCarros();
SendClientMessage(playerid, Azul, "Intense RP: Carro estacionado com sucesso!");
return 1;
}
}
else
{
SendClientMessage(playerid, Branco, "Intense RP: Este carro nгo й seu!");
return 1;
}
}
new car = TaNoCarro[playerid];
if(car > 0)
{
GetVehicleZAngle(VID,A);
GetVehiclePos(VID,X,Y,Z);
Carro[car][cSpawnX] = X;
Carro[car][cSpawnY] = Y;
Carro[car][cSpawnZ] = Z;
Carro[car][cAngulo] = A;
Carro[car][cCarroON] = 0;
Dono[playerid][dChave] = car;
DestroyVehicle(cCarro[car]);
cCarro[car] = AddStaticVehicleEx(ModeloCarro[playerid],Carro[car][cSpawnX],Carro[car][cSpawnY],Carro[car][cSpawnZ],Carro[car][cAngulo],Carro[car][cCorUm],Carro[car][cCorDois],-1);
PutPlayerInVehicle(playerid, cCarro[car], 0);
Carro[car][cCID] = VID;
ComprarCarro(playerid);
SalvarCarro(car);
SendClientMessage(playerid, Azul, "Intense RP: Carro estacionado com sucesso!");
TaNoCarro[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, Branco, "Intense RP: Vocк nгo estб em um carro da concessionбria.");
return 1;
}
}
return 1;
}
Por Favor se poder ajudar
Obrigado Desde Ja.
Re: [Ajuda]/Veiculoestacionar -
Cristhian - 20.11.2011
pode ser o
pawn Код:
DestroyVehicle(cCarro[car]);
tente
pawn Код:
if(strcmp(cmdtext,"/veiculoestacionar",true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
//new car = TaNoCarro[playerid];
new Float:X,Float:Y,Float:Z;
new Float:A;
new VID = GetPlayerVehicleID(playerid);
CarregarDono(playerid);
new PlayerNick[MAX_PLAYER_NAME];
GetPlayerName(playerid,PlayerNick,sizeof(PlayerNick));
new arquivo[256];
format(arquivo, sizeof(arquivo), "/Concessionaria/Donos/%s.ini",PlayerNick);
if(dini_Exists(arquivo))
{
new carro = Dono[playerid][dChave];
if(Carro[carro][cCID] == VID)
{
if(strcmp(PlayerNick,Carro[carro][cDono],true)==0)
{
motor[carro] = 0;
GetVehicleZAngle(VID,A);
GetVehiclePos(VID,X,Y,Z);
Carro[carro][cSpawnX] = X;
Carro[carro][cSpawnY] = Y;
Carro[carro][cSpawnZ] = Z;
Carro[carro][cAngulo] = A;
strmid(Carro[carro][cDono], PlayerNick, 0, strlen(PlayerNick), MAX_PLAYER_NAME);
Carro[carro][cCarroON] = 0;
cCarro[carro] = AddStaticVehicleEx(Carro[carro][cModelo],Carro[carro][cSpawnX],Carro[carro][cSpawnY],Carro[carro][cSpawnZ],Carro[carro][cAngulo],Carro[carro][cCorUm],Carro[carro][cCorDois],-1);
PutPlayerInVehicle(playerid, cCarro[carro], 0);
Carro[carro][cCID] = VID;
SalvarCarro(carro);
CarregarCarros();
SendClientMessage(playerid, Azul, "Intense RP: Carro estacionado com sucesso!");
return 1;
}
}
else
{
SendClientMessage(playerid, Branco, "Intense RP: Este carro nгo й seu!");
return 1;
}
}
new car = TaNoCarro[playerid];
if(car > 0)
{
GetVehicleZAngle(VID,A);
GetVehiclePos(VID,X,Y,Z);
Carro[car][cSpawnX] = X;
Carro[car][cSpawnY] = Y;
Carro[car][cSpawnZ] = Z;
Carro[car][cAngulo] = A;
Carro[car][cCarroON] = 0;
Dono[playerid][dChave] = car;
cCarro[car] = AddStaticVehicleEx(ModeloCarro[playerid],Carro[car][cSpawnX],Carro[car][cSpawnY],Carro[car][cSpawnZ],Carro[car][cAngulo],Carro[car][cCorUm],Carro[car][cCorDois],-1);
PutPlayerInVehicle(playerid, cCarro[car], 0);
Carro[car][cCID] = VID;
ComprarCarro(playerid);
SalvarCarro(car);
SendClientMessage(playerid, Azul, "Intense RP: Carro estacionado com sucesso!");
TaNoCarro[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, Branco, "Intense RP: Vocк nгo estб em um carro da concessionбria.");
return 1;
}
}
return 1;
}
Re: [Ajuda]/Veiculoestacionar - rjjj - 20.11.2011
Isto deve resolver o seu problema
.
Basta passar a usar a funзгo
CreateVehicle ao invйs da
AddStaticVehicleEx para criar os veнculos no local de estacionamento. Dessa maneira, os veнculos serгo criados durante o jogo
.
Arrumei pra vocк, aqui estб
:
pawn Код:
if(strcmp(cmdtext,"/veiculoestacionar",true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
//new car = TaNoCarro[playerid];
new Float:X,Float:Y,Float:Z;
new Float:A;
new VID = GetPlayerVehicleID(playerid);
CarregarDono(playerid);
new PlayerNick[MAX_PLAYER_NAME];
GetPlayerName(playerid,PlayerNick,sizeof(PlayerNick));
new arquivo[256];
format(arquivo, sizeof(arquivo), "/Concessionaria/Donos/%s.ini",PlayerNick);
if(dini_Exists(arquivo))
{
new carro = Dono[playerid][dChave];
if(Carro[carro][cCID] == VID)
{
if(strcmp(PlayerNick,Carro[carro][cDono],true)==0)
{
motor[carro] = 0;
GetVehicleZAngle(VID,A);
GetVehiclePos(VID,X,Y,Z);
Carro[carro][cSpawnX] = X;
Carro[carro][cSpawnY] = Y;
Carro[carro][cSpawnZ] = Z;
Carro[carro][cAngulo] = A;
strmid(Carro[carro][cDono], PlayerNick, 0, strlen(PlayerNick), MAX_PLAYER_NAME);
Carro[carro][cCarroON] = 0;
DestroyVehicle(cCarro[carro]);
cCarro[carro] = CreateVehicle(Carro[carro][cModelo],Carro[carro][cSpawnX],Carro[carro][cSpawnY],Carro[carro][cSpawnZ],Carro[carro][cAngulo],Carro[carro][cCorUm],Carro[carro][cCorDois],-1);
PutPlayerInVehicle(playerid, cCarro[carro], 0);
Carro[carro][cCID] = VID;
SalvarCarro(carro);
CarregarCarros();
SendClientMessage(playerid, Azul, "Intense RP: Carro estacionado com sucesso!");
return 1;
}
}
else
{
SendClientMessage(playerid, Branco, "Intense RP: Este carro nгo й seu!");
return 1;
}
}
new car = TaNoCarro[playerid];
if(car > 0)
{
GetVehicleZAngle(VID,A);
GetVehiclePos(VID,X,Y,Z);
Carro[car][cSpawnX] = X;
Carro[car][cSpawnY] = Y;
Carro[car][cSpawnZ] = Z;
Carro[car][cAngulo] = A;
Carro[car][cCarroON] = 0;
Dono[playerid][dChave] = car;
DestroyVehicle(cCarro[car]);
cCarro[car] = CreateVehicle(ModeloCarro[playerid],Carro[car][cSpawnX],Carro[car][cSpawnY],Carro[car][cSpawnZ],Carro[car][cAngulo],Carro[car][cCorUm],Carro[car][cCorDois],-1);
PutPlayerInVehicle(playerid, cCarro[car], 0);
Carro[car][cCID] = VID;
ComprarCarro(playerid);
SalvarCarro(car);
SendClientMessage(playerid, Azul, "Intense RP: Carro estacionado com sucesso!");
TaNoCarro[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, Branco, "Intense RP: Vocк nгo estб em um carro da concessionбria.");
return 1;
}
}
return 1;
}
Espero ter ajudado
.
Re: [Ajuda]/Veiculoestacionar -
DJGOMES - 20.11.2011
Obrigado pessoal mas nenhum deu
Re: [Ajuda]/Veiculoestacionar -
DJGOMES - 21.11.2011
Alguem pode ajudar Por Favor? Obrigado.
Re: [Ajuda]/Veiculoestacionar - rjjj - 21.11.2011
Bem, reformei seu cуdigo deixando sу o que й primordial
.
Caso o mesmo nгo resolva o seu problema, o que estб causando este, ou й a funзгo
SalvarCarro ou й um cуdigo de outro lugar do seu GameMode
.
Coloque:
pawn Код:
//No Topo do GM:
new bool:EsperarEstacionar[MAX_VEHICLES];
//Na public OnPlayerCommandText:
if(!strcmp(cmdtext, "/veiculoestacionar", true))
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Branco, "Intense RP: Vocк nгo estб em um carro.");
new VID = GetPlayerVehicleID(playerid);
if(EsperarEstacionar[VID]) return SendClientMessage(playerid, Branco, "Intense RP: Espere um pouco para poder estar novamente.");
new PlayerNick[MAX_PLAYER_NAME];
new carro = Dono[playerid][dChave];
new Float:X,Float:Y,Float:Z;
new Float:A;
GetPlayerName(playerid,PlayerNick,sizeof(PlayerNick));
if(Carro[carro][cCID] == VID && !strcmp(PlayerNick,Carro[carro][cDono],true))
{
motor[carro] = 0;
GetVehicleZAngle(VID,A);
GetVehiclePos(VID,X,Y,Z);
Carro[carro][cSpawnX] = X;
Carro[carro][cSpawnY] = Y;
Carro[carro][cSpawnZ] = Z;
Carro[carro][cAngulo] = A;
strmid(Carro[carro][cDono], PlayerNick, 0, strlen(PlayerNick), MAX_PLAYER_NAME);
Carro[carro][cCarroON] = 0;
DestroyVehicle(cCarro[carro]);
cCarro[carro] = CreateVehicle(Carro[carro][cModelo],Carro[carro][cSpawnX],Carro[carro][cSpawnY],Carro[carro][cSpawnZ],Carro[carro][cAngulo],Carro[carro][cCorUm],Carro[carro][cCorDois],-1);
PutPlayerInVehicle(playerid, cCarro[carro], 0);
Carro[carro][cCID] = VID;
SendClientMessage(playerid, Azul, "Intense RP: Carro estacionado com sucesso!");
EsperarEstacionar[VID] = true;
SetTimerEx("SalvarCarroEstacionado", 5000, false, "dd", carro, VID);
}
else
{
SendClientMessage(playerid, Branco, "Intense RP: Este carro nгo й seu!");
}
return true;
}
//No Final do GM:
forward SalvarCarroEstacionado(carro, vid);
public SalvarCarroEstacionado(carro, vid) return EsperarEstacionar[vid] = false, SalvarCarro(carro);
Espero ter ajudado
.