10.11.2012, 18:13
Bueno, hice un sistema para tirar y recoger armas al suelo (objetos, no pickups).
El problema es que antes funcionaba, ahora ya no, el arma queda en el suelo pero es invisible, aunque se puede recoger y tirarla de nuevo.. En principio pensй que era el streamer, pero no, no toquй nada del sistema, no entiendo porque dejу de funcionar..
Ese es todo el sistema, creo que no hace falta subir el cуdigo del ProxDetector y el de PlayerName, porque es muy comъn..
El problema es que antes funcionaba, ahora ya no, el arma queda en el suelo pero es invisible, aunque se puede recoger y tirarla de nuevo.. En principio pensй que era el streamer, pero no, no toquй nada del sistema, no entiendo porque dejу de funcionar..
pawn Код:
#define MAX_OBJ 50
#define COLOR_PURPLE 0xC2A2DAAA
pawn Код:
new Float:PosObjeto[MAX_OBJ][3];
new Objeto[MAX_OBJ];
new IDObjeto[MAX_OBJ][2];
pawn Код:
new GunNames[48][] = { // Nombre de armas
"nada",
"un puсo americano",
"un palo de golf",
"una porra policial",
"una navaja",
"un bate de baseball",
"una pala",
"un palo de pool",
"una katana",
"una motosierra",
"un consolador violeta",
"un consolador corto blanco",
"un consolador largo blanco",
"un consolador",
"un ramo de flores",
"un bastуn",
"una granada explosiva",
"una granada de humo",
"un cуctel molotov",
"misil de hunter o hydra",
"fuego de hydra",
"un propulsor",
"una pistola colt .45", //Pistola modelo Colt M1911, calibre .45
"una pistola colt .45 con silenciador", //Pistola con silenciador modelo Colt M1911, calibre .45
"una pistola desert eagle",//Pistola modelo Desert Eagle, calibre .50AE
"una escopeta normal", //Escopeta normal modelo Ithaca 37, calibre 18,53 mm
"una escopeta recortada", //Escopeta recortada modelo Sawn-Off Shotgun, calibre 12,7 mm
"una escopeta de combate", //Escopeta de combate modelo Franchi SPAS 12, calibre 18,53 mm
"un micro subfusil uzi",//Micro-subfusil modelo IMI Micro Uzi, calibre 9 mm
"un subfusil mp5", //Subfusil modelo Heckler & Koch MP5A3, calibre 9 mm
"un rifle automбtico ak-47", //Rifle automбtico modelo AK-47, calibre 7,62 mm
"un rifle automбtico m4", //Rifle automбtico modelo Colt 733, calibre 5,56 mm
"un micro subfusil tec9", //Micro-subfusil modelo Intratec TEC-DC9, calibre 9 mm
"un rifle de caza", //Rifle de caza modelo Marlin 336, calibre .30
"un rifle de francotirador", //Rifle de francotirador modelo Remington M700m calibre .375
"un lanzacohetes", //Lanzacohetes modelo RPG-7, calibre 40 mm
"un lanzamisiles busca calor", //Lanzamisiles anti-aйreo modelo 9K34 Strela-3
"un lanzallamas",
"una minigun", //Ametralladora modelo GEC M134, calibre 7,62 mm
"una carga explosiva",
"un detonador de carga explosiva",
"un aerosol de gas pimienta",
"un extintor de fuego",
"una cбmara fotogrбfica",
"unas gafas de visiуn nocturna",
"unas gafas de visiуn infrarroja",
"un paracaнdas",
"pistola falsa"
};
pawn Код:
new GunObjects[47][0] = { // Objetos
{0},// Emty
{331},// Brass Knuckles
{333},// Golf Club
{334},// Nitestick
{335},// Knife
{336},// Baseball Bat
{337},// Showel
{338},// Pool Cue
{339},// Katana
{341},// Chainsaw
{321},// Purple Dildo
{322},// Small White Dildo
{323},// Long White Dildo
{324},// Vibrator
{325},// Flowers
{326},// Cane
{342},// Grenade
{343},// Tear Gas
{344},// Molotov
{0},
{0},
{0},
{346},// Glock
{347},// Silenced Colt
{348},// Desert Eagle
{349},// Shotgun
{350},// Sawn Off
{351},// Combat Shotgun
{352},// Micro UZI
{353},// MP5
{355},// AK47
{356},// M4
{372},// Tec9
{357},// Rifle
{358},// Sniper Rifle
{359},// Rocket Launcher
{360},// HS Rocket Launcher
{361},// Flamethrower
{362},// Minigun
{363},// Detonator
{364},// Detonator Button
{365},// Spraycan
{366},// Fire Extinguisher
{367},// Camera
{368},// Nightvision
{368},// Infrared Vision
{371}// Parachute
};
pawn Код:
zcmd(rarma, playerid, params[])
{
new f = MAX_OBJ+1;
for(new a = 0; a < sizeof(PosObjeto); a++)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, PosObjeto[a][0], PosObjeto[a][1], PosObjeto[a][2]))
{
f = a;
break;
}
}
if(f > MAX_OBJ) return SendClientMessage(playerid, 0x33AA3300, "No estбs cerca de ningъn arma.");
else
{
new NombreArma[25];
new string[150];
PosObjeto[f][0] = 0.0;
PosObjeto[f][1] = 0.0;
PosObjeto[f][2] = 0.0;
DestroyObject(Objeto[f]);
GivePlayerWeapon(playerid, IDObjeto[f][0], IDObjeto[f][1]);
GetWeaponNameEx(IDObjeto[f][0], NombreArma, sizeof(NombreArma));
format(string, sizeof(string), "* %s recoge %s del suelo.", PlayerName(playerid), NombreArma);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
return 1;
}
zcmd(tarma, playerid, params[])
{
new IDArma = GetPlayerWeapon(playerid);
new MunicionArma = GetPlayerAmmo(playerid);
if(IDArma != 0 && MunicionArma != 0)
{
new f = MAX_OBJ+1;
for(new a = 0; a < sizeof(PosObjeto); a++)
{
if(PosObjeto[a][0] == 0.0)
{
f = a;
break;
}
}
if(f > MAX_OBJ) return SendClientMessage(playerid, 0x33AA3300, "No puede tirar armas en йste momento, intente mбs tarde.");
new NombreArma[25];
new string[150];
GetWeaponNameEx(IDArma, NombreArma, sizeof(NombreArma));
format(string, sizeof(string), "* %s tira %s al suelo.", PlayerName(playerid), NombreArma);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
RemovePlayerWeapon(playerid, IDArma);
IDObjeto[f][0] = IDArma;
IDObjeto[f][1] = MunicionArma;
GetPlayerPos(playerid, PosObjeto[f][0], PosObjeto[f][1], PosObjeto[f][2]);
Objeto[f] = CreateObject(GunObjects[IDArma][0],PosObjeto[f][0],PosObjeto[f][1],PosObjeto[f][2]-1,93.7,120.0,120.0);
}
return 1;
}
pawn Код:
stock GetWeaponNameEx(id, name[], len) return format(name,len, "%s", GunNames[id]);