06.11.2012, 01:32
Buenas estoy intentando colocar el comando maletero guardar arma ID
este es el comando completo
tengo casн, me funciona el maletero sacar slot, pero no me funciona el /maletero g arma slot
alguien podrнa ayudarme?
este es el comando completo
PHP код:
CMD:maletero(playerid, params[])
{
new string[128], choice[32], amount;
if(sscanf(params, "s[32]", choice, amount))
{
SendClientMessageEx(playerid, COLOR_WHITE, "USA: /Maletero [g/s]");
return 1;
}
if(strcmp(choice,"s",true) == 0)
{
if(IsPlayerInAnyVehicle(playerid)) return SendClientMessageEx(playerid, COLOR_WHITE, "No puedes hacer esto mientras estбs dentro de un vehнculo.");
else if(GetPVarInt(playerid, "GiveWeaponTimer") >= 1) {
new
szMessage[59];
format(szMessage, sizeof(szMessage), " Necesitas esperar %d segundos despuйs de haber agarrado un arma.", GetPVarInt(playerid, "GiveWeaponTimer"));
return SendClientMessageEx(playerid, COLOR_GREY, szMessage);
}
new
Float: fVehPos[3],
iWeaponSlot = amount;
for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
{
if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID)
{
GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], fVehPos[0], fVehPos[1], fVehPos[2]);
if(IsPlayerInRangeOfPoint(playerid, 4.0, fVehPos[0], fVehPos[1], fVehPos[2])) {
if(isnull(params)) {
new
szMessage[64];
format(szMessage, sizeof(szMessage), "*** %s - %s ***", GetPlayerNameEx(playerid), GetVehicleName(PlayerVehicleInfo[playerid][d][pvId]));
SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
for(new s = 0; s < 3; s++) if(PlayerVehicleInfo[playerid][d][pvWeapons][s] != 0) {
new
szWeapon[16];
GetWeaponName(PlayerVehicleInfo[playerid][d][pvWeapons][s], szWeapon, sizeof(szWeapon));
format(szMessage, sizeof(szMessage), "Ranura %d: %s", s+1, szWeapon);
SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
}
return SendClientMessageEx(playerid, COLOR_WHITE, "USA: /smaletero [slot]");
}
else if(GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 481 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 509) {
return SendClientMessageEx(playerid,COLOR_GREY,"Ese vehiculo no tiene maletero.");
}
new
engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(PlayerVehicleInfo[playerid][d][pvId], engine, lights, alarm, doors, bonnet, boot, objective);
if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET)
{
return SendClientMessageEx(playerid, COLOR_GRAD3, "No puedes tomar armas del maletero, si estб cerrado! /abrir maletero para abrirlo.");
}
else if(PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1] != 0) {
new
szMessage[128];
//GetWeaponName(PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1], szWeapon, sizeof(szWeapon));
GivePlayerValidWeapon(playerid, PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]);
PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1] = 0;
format(szMessage, sizeof(szMessage), "Retiraste un %s del maletero de tu coche.", WeaponNames[PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]]);
SendClientMessageEx(playerid, COLOR_WHITE, szMessage);
format(szMessage, sizeof(szMessage), "* %s ha retirado un %s del maletero de su coche.", GetPlayerNameEx(playerid), WeaponNames[PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1]]);
return ProxDetector(30.0, playerid, szMessage, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
}
else return SendClientMessageEx(playerid, COLOR_WHITE, "No tienes un arma almacenada en esa ranura.");
}
}
}
return SendClientMessageEx(playerid,COLOR_GREY,"No estбs cerca de un vehiculo tuyo.");
}
else if(strcmp(choice,"g",true) == 0)
{
new weaponchoice[32], slot;
if(sscanf(choice, "s[32]d", weaponchoice, slot)) return SendClientMessageEx(playerid, COLOR_WHITE, "USA: /Maletero guardar [Arma] [Slot]");
if(IsPlayerInAnyVehicle(playerid)) { SendClientMessageEx(playerid, COLOR_WHITE, "No puedes hacer esto mientras estar en el interior del vehнculo!"); return 1; }
if(GetPVarInt(playerid, "EMSAttempt") != 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "No tienes suficientes fuerzas para poder guardar tu arma.");
new pvid = -1, Float: x, Float: y, Float: z;
for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
{
if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
{
pvid = d;
break;
}
}
if(pvid == -1) return SendClientMessageEx(playerid,COLOR_GREY,"No estбs cerca de un vehнculo que sea tuyo.");
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(PlayerVehicleInfo[playerid][pvid][pvId],engine,lights,alarm,doors,bonnet,boot,objective);
if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET) return SendClientMessageEx(playerid, COLOR_GRAD3, "No se puede poner armas en el interior del maletero si estб cerrado! (/abrir maletero para abrirlo)");
if(GetVehicleModel(PlayerVehicleInfo[playerid][pvid][pvId]) == 481 || GetVehicleModel(PlayerVehicleInfo[playerid][pvid][pvId]) == 510) return SendClientMessageEx(playerid,COLOR_GREY,"Este coche no tiene maletero.");
//new Float: Health;
//GetPlayerHealth(playerid, Health);
//if(Health < 80.0) return SendClientMessageEx(playerid,COLOR_GREY,"You cannot store weapons in a car when your health lower than 80.");
if (GetPVarInt(playerid, "GiveWeaponTimer") > 0)
{
format(string, sizeof(string), " Necesitas esperar %d segundos despuйs de haber guardado un arma.", GetPVarInt(playerid, "GiveWeaponTimer"));
SendClientMessageEx(playerid,COLOR_GREY,string);
return 1;
}
if( PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] != 0)
{
SendClientMessageEx(playerid, COLOR_GREY, "Tienes armas guardadas en ese slot.");
return 1;
}
new weapon;
if(strcmp(weaponchoice, "sdpistol", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][2] == 23)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado una pistola SD en tu maletero.");
weapon = Info[playerid][pWeapons][2];
format(string,sizeof(string), "* %s guarda un pistola SD en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
else if(strcmp(weaponchoice, "deagle", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][2] == 24)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un Desert Eagle en tu maletero.");
weapon = Info[playerid][pWeapons][2];
format(string,sizeof(string), "* %s guarda un Desert Eagle en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
else if(strcmp(weaponchoice, "shotgun", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][3] == 25)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un Shotgun en tu maletero.");
weapon = Info[playerid][pWeapons][3];
format(string,sizeof(string), "* %s guarda un Shotgun en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
else if(strcmp(weaponchoice, "spas12", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][3] == 27)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado una CombatShotgun en tu maletero.");
weapon = Info[playerid][pWeapons][3];
format(string,sizeof(string), "* %s guarda una Combat Shotgun en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
else if(strcmp(weaponchoice, "mp5", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][4] == 29)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un MP5 en tu maletero.");
weapon = Info[playerid][pWeapons][4];
format(string,sizeof(string), "* %s guarda un MP5 en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
else if(strcmp(weaponchoice, "ak47", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][5] == 30)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado una AK-47 en tu maletero.");
weapon = Info[playerid][pWeapons][5];
format(string,sizeof(string), "* %s guarda una AK-47 en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
else if(strcmp(weaponchoice, "m4", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][5] == 31)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado una M4 en tu maletero.");
weapon = Info[playerid][pWeapons][5];
format(string,sizeof(string), "* %s guarda una M4 en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
else if(strcmp(weaponchoice, "rifle", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][6] == 33)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un rifle en tu maletero.");
weapon = Info[playerid][pWeapons][6];
format(string,sizeof(string), "* %s guarda un rifle en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
else if(strcmp(weaponchoice, "sniper", true, strlen(weaponchoice)) == 0)
{
if( Info[playerid][pWeapons][6] == 34)
{
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has guardado un sniper en tu maletero.");
weapon = Info[playerid][pWeapons][6];
format(string,sizeof(string), "* %s guarda un sniper en su maletero.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
}
}
if(weapon == 0) return SendClientMessageEx(playerid, COLOR_GREY, "No tienes esa arma");
if(PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] == 0)
{
PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] = weapon;
RemovePlayerWeapon(playerid, weapon);
return 1;
}
else { SendClientMessageEx(playerid,COLOR_GREY," Nombre invбlido!"); return 1; }
}
return 1;
}
alguien podrнa ayudarme?