/sellcartoplayer dont working properly[HELP] -
catal4n - 21.10.2016
The Problem is when i want to sell the car by using /sellcartoplayer, the car it deletes from Seller's car slots but the Buyer is not recieving the car.. I really need help with this. I can not figure out the problem. Thank you
The command:
Код:
CMD:sellcartoplayer(playerid, params[])
{
new playerb, price, Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(sscanf(params, "ui[128]", playerb, price)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellcartoplayer [playerid] [price]");
if(!IsPlayerNearPlayer(playerid, playerb, 7)) return SendClientMessage(playerid, COLOR_GREY, "You are not near the other player.");
if(!PlayerInfo[playerid][pVeh] && !PlayerInfo[playerid][pVVeh] && !PlayerInfo[playerid][pBVeh]) return SendClientMessage(playerid, COLOR_GREY, "You don't own a vehicle.");
if(GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pVeh] && GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pVVeh] && GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pBVeh]) return SendClientMessage(playerid, COLOR_GREY, "You must be in the vehicle you wish to sell to another player.");
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{
// Give playerb the players vehicle (who bought the vehicle)
PlayerInfo[playerb][pVeh] = CreateVehicle(PlayerInfo[playerid][pVeh], x, y, z, 0,0, 0, 12000);
SetVehicleParamsEx(PlayerInfo[playerb][pVeh], 0, 0, 0, 1, 0, 0, 0);
PlayerInfo[playerb][vLocked] = 1;
PlayerInfo[playerb][vModel] = PlayerInfo[playerid][pVeh];
GetVehiclePos(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vX], PlayerInfo[playerid][vY], PlayerInfo[playerid][vZ]);
GetVehicleZAngle(PlayerInfo[playerid][pVeh], PlayerInfo[playerid][vVA]);
PlayerInfo[playerb][vC1] = 0;
PlayerInfo[playerb][vC2] = 0;
// Delete the players vehicle (who sold his vehicle)
DestroyVehicle(PlayerInfo[playerid][pVeh]);
PlayerInfo[playerid][pVeh] = 0;
PlayerInfo[playerid][vModel] = 0;
PlayerInfo[playerid][vX] = 0;
PlayerInfo[playerid][vY] = 0;
PlayerInfo[playerid][vZ] = 0;
PlayerInfo[playerid][vA] = 0;
PlayerInfo[playerid][vC1] = 0;
PlayerInfo[playerid][vC2] = 0;
PlayerInfo[playerid][pTWeed] = 0;
SendClientMessage(playerid, COLOR_GREEN, " You have sold your vehicle to another player.");
SendClientMessage(playerb, COLOR_GREEN, " You have bought a vehicle from another player.");
}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{
DestroyVehicle(PlayerInfo[playerid][pVVeh]);
PlayerInfo[playerid][pVVeh] = 0;
PlayerInfo[playerid][vVModel] = 0;
PlayerInfo[playerid][vVX] = 0;
PlayerInfo[playerid][vVY] = 0;
PlayerInfo[playerid][vVZ] = 0;
PlayerInfo[playerid][vVA] = 0;
PlayerInfo[playerid][vVC1] = 0;
PlayerInfo[playerid][vVC2] = 0;
PlayerInfo[playerid][pvTWeed] = 0;
SendClientMessage(playerid, COLOR_GREEN, " You have sold your vehicle to another player.");
}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pBVeh])
{
DestroyVehicle(PlayerInfo[playerid][pBVeh]);
PlayerInfo[playerid][pBVeh] = 0;
PlayerInfo[playerid][vBModel] = 0;
PlayerInfo[playerid][vBX] = 0;
PlayerInfo[playerid][vBY] = 0;
PlayerInfo[playerid][vBZ] = 0;
PlayerInfo[playerid][vBA] = 0;
PlayerInfo[playerid][vBC1] = 0;
PlayerInfo[playerid][vBC2] = 0;
SendClientMessage(playerid, COLOR_GREEN, " You have sold your vehicle to another player.");
}
return 1;
}
Re: /sellcartoplayer dont working properly[HELP] -
RockyGamer - 21.10.2016
What's the difference between pVeh, pVVeh and pBVeh?
I notice that the buyer gets the vehicle only in the first case ( if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh]) )
Re: /sellcartoplayer dont working properly[HELP] -
catal4n - 21.10.2016
pVeh is for veh slot 1, pVVeh is for slot 2 and pBVeh is for slot 3. I tried with first slot of the car "pVeh" and didnt worked..
Re: /sellcartoplayer dont working properly[HELP] -
catal4n - 21.10.2016
Bump.
Re: /sellcartoplayer dont working properly[HELP] -
catal4n - 21.10.2016
Can anyone help me with that? To fix this command or crate another one with this one parameters?
Re: /sellcartoplayer dont working properly[HELP] -
catal4n - 22.10.2016
Found this command too. On which one can i recieve a hand of help? Really need to fix this please help.
Код:
CMD:sellcartoplayer(playerid, params[])
{
new string[128], playerb, price;
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(sscanf(params, "id", playerb, price)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellcartoplayer [playerid] [price]");
if(price < 1) return SendClientMessage(playerid, COLOR_GREY, "Price must be higher than 0.");
if(playerid == playerb) return SendClientMessage(playerid, COLOR_GREY, "You can not use this command on yourself.");
if(GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pVeh] && GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pVVeh] && GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pBVeh]) return SendClientMessage(playerid, COLOR_GREY, "You must be in the vehicle you wish to sell to another player.");
VehicleOffer[playerb] = playerid;
//VehicleId[playerb] = d;
VehiclePrice[playerb] = price;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{
format(string, sizeof(string), "* You offered %s to buy this %s for $%d.", NORPN(playerb), RVN(GetVehicleModel(PlayerInfo[playerid][pVeh])), price);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s has offered you their %s for $%d, (type /accept car) to buy.", RPN(playerid), RVN(GetVehicleModel(PlayerInfo[playerid][pVeh])), price);
SendClientMessage(playerb, COLOR_LIGHTBLUE, string);
}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{
format(string, sizeof(string), "* You offered %s to buy this %s for $%d.", NORPN(playerb), RVN(GetVehicleModel(PlayerInfo[playerid][pVVeh])), price);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s has offered you their %s for $%d, (type /accept car) to buy.", RPN(playerid), RVN(GetVehicleModel(PlayerInfo[playerid][pVVeh])), price);
SendClientMessage(playerb, COLOR_LIGHTBLUE, string);
}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pBVeh])
{
format(string, sizeof(string), "* You offered %s to buy this %s for $%d.", NORPN(playerb), RVN(GetVehicleModel(PlayerInfo[playerid][pBVeh])), price);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s has offered you their %s for $%d, (type /accept car) to buy.", NORPN(playerid), RVN(GetVehicleModel(PlayerInfo[playerid][pBVeh])), price);
SendClientMessage(playerb, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid, COLOR_GREY, "You are not in a vehicle that you own.");
return 1;
}
return 1;
}
Re: /sellcartoplayer dont working properly[HELP] -
catal4n - 23.10.2016
Tried a command with /givecarto is working. The seller recieve the car, it have access to all commands but when the seller wants to park the car it deletes from his car slots.
Re: /sellcartoplayer dont working properly[HELP] -
catal4n - 23.10.2016
This is the command with the problem:
Код:
CMD:givecarto(playerid, params[])
{
new playerb;
if(!IsPlayerLoggedIn(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You need to login first before using any command.");
if(sscanf(params, "u", playerb)) return SendClientMessage(playerid, COLOR_WHITE, "USE: /givecarto [playerid]");
if(!PlayerInfo[playerid][pVeh]) return SendClientMessage(playerid, COLOR_GREY, "You dont own a car.");
if(!IsPlayerLoggedIn(playerb) && !IsPlayerNPC(playerb)) return SendClientMessage(playerid, COLOR_GREY, "There a no such player.");
if(PlayerInfo[playerb][pLevel] >= 2)
{
if(PlayerInfo[playerb][vModel])
{
SendClientMessage(playerid, COLOR_GREY, "* The player already owns a vehicle.");
return 1;
}
}
if(PlayerInfo[playerb][vModel])
{
SendClientMessage(playerid, COLOR_GREY,"* The player already owns 2 vehicles.");
return 1;
}
if(PlayerInfo[playerid][vModel])
{
PlayerInfo[playerb][pVeh] = PlayerInfo[playerid][pVeh];
SetVehicleParamsEx(PlayerInfo[playerb][pVeh], 0, 0, 0, 1, 0, 0, 0);
PlayerInfo[playerb][vLocked] = 1;
PlayerInfo[playerb][vModel] = PlayerInfo[playerid][pVeh];
GetVehiclePos(PlayerInfo[playerb][pVeh], PlayerInfo[playerb][vVX], PlayerInfo[playerb][vVY], PlayerInfo[playerb][vVZ]);
GetVehicleZAngle(PlayerInfo[playerb][pVeh], PlayerInfo[playerb][vA]);
PlayerInfo[playerb][vVC1] = 0;
PlayerInfo[playerb][vVC2] = 0;
}
PlayerInfo[playerid][pVeh] = 0;
PlayerInfo[playerid][vModel] = 0;
PlayerInfo[playerid][vX] = 0;
PlayerInfo[playerid][vY] = 0;
PlayerInfo[playerid][vZ] = 0;
PlayerInfo[playerid][vA] = 0;
PlayerInfo[playerid][vC1] = 0;
PlayerInfo[playerid][vC2] = 0;
SendClientMessage(playerid, COLOR_GREY, " You gave your car to the new owner.");
return 1;
}
Re: /sellcartoplayer dont working properly[HELP] -
RockyGamer - 23.10.2016
Isn't that part when you're setting PlayerInfo[playerid] enums to zero supposed to be in the if(PlayerInfo[playerid][vModel])?
Also i don't understand your logic behind vModel so can you explain what it stores and how is it related to players level and number of his cars?
Re: /sellcartoplayer dont working properly[HELP] -
catal4n - 24.10.2016
I dont know i tried everything. I cannot figure out how can i solve this. Maybe if you got another idea for new command or something?