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;