new Float:x, Float:y, Float:z, Float:a, vehid;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
vehid = CreateVehicle(411, x, y, z, a, random(250), random(250), -1);
LinkVehicleToInterior(vehid, GetPlayerInterior(playerid));
PutPlayerInVehicle(playerid, vehid, 0);
//Chama aqui a funзгo pra remover o item do inventario
PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);//Opcional
|
A gente nгo tem como saber como й teu sistema de inventбrio cara... Posta o cуdigo...
|
#define carru 39
if(listitem == 25)
{
if(PlayerInfo[playerid][pVIP] < 6)
{
SendClientMessage(playerid, COLOR_GREY, "•• {FFFFFF}Vocк nгo й um jogador SУCIO DIAMANTE!");
return 1;
}
if(PlayerInfo[playerid][pConta] < 10)
{
SendClientMessage(playerid, COLOR_GREY, "•• {FFFFFF}Vocк nгo tem 'R$10.000.000' no BANCO!");
return 1;
}
SendClientMessage(playerid, COLOR_GREY, "•• {FFFFFF}Vocк comprou um Infernus!");
SendClientMessage(playerid, 0xFF0000AA, "•• {FFFFFF}AVISO: Use: /editaritens (Guarde na Mochila quando sair do servidor, ou quando for dar GMX)!");
PlayerInfo[playerid][pConta] -= 20;
SetPlayerAttachedObject(playerid, id, 411, 1, 0.1, 0.05, 0.0);
SetPlayerAttachedObjectEx(411,carru,playerid,id);
EditAttachedObject(playerid, ultimoSlotEQ[playerid]);
SBizzInfo[29][sbTill] += 20;
return true;
}
stock equiparitem(playerid,IDitem,slot)
{
new skin,id;
skin = GetPlayerSkin(playerid);
/*do
{
if(skin == invalidskins[count]) { ItemID[playerid][slot] = IDitem; return SendClientMessage(playerid, 0xFFFFFFAA, "Erro: Sua skin nгo suporta o uso de Itens."); }
count++;
}
while(count < sizeof invalidskins);*/
if(skin < 0) skin = 0;
id = CountAttachedObjects(playerid);
if(SlotCheio[playerid] == 1) { return 1; }
ItemID[playerid][slot] = 0;
switch(TipoItem[playerid])
{
case 27: //FOGO NOVO GABRIEL AZEVEDO
{
new Float:x, Float:y, Float:z, Float:a, vehid;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
vehid = CreateVehicle(411, x, y, z, a, random(250), random(250), -1);
PutPlayerInVehicle(playerid, vehid, 0);
}
default: SendClientMessage(playerid, COLOR_GRAD4, "Este Item nao pode Ser Editado/usado.");
}
return 0;
}
|
Bem a lуgica й a seguinte,a callback que й chamada quando o jogador sai do veнculo й a OnPlayerExitVehicle.
Vocк ira fazer uma condicional para verificar se o veнculo que o player se encontra й de seu inventбrio e logo depois vocк usa a funзгo do seu sistema para colocar o veнculo novamente no seu inventбrio. |
new IsPlayerVehicle[MAX_VEHICLES] = {-1, ...};
//Na hora de criar um veнculo do inventбrio
IsPlayerVehicle[vehicleid] = playerid;
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(IsPlayerVehicle[vehicleid] == playerid)
{
IsPlayerVehicle[vehicleid] = -1;
itemnamochila(playerid, GetVehicleModel(vehicleid));
DestroyVehicle(vehicleid);
}
return 1;
}
IsPlayerVehicle[vehicleid] = playerid;