04.03.2015, 18:39
Hola, necesito ayuda, ya que estoy intentando encontrar la soluciуn hace rato pero no se me ocurre una forma de solucionarlo, la cosa es asн, creo yo que el bucle se traba o continua, no sй bien que pasa, pero el problema es que al tomar la primer variable en el bucle, ya queda como que seteada, cada vez que uso el bucle pasa lo mismo, es como se usara siempre lo mismo, no sй si me explique bien.
El cуdigo:
El problema es asн, si yo tomo una mp5 del piso, luego intento tomar una botella de agua del suelo, y me dice que agarre una Mp5 mientras que yo estoy agarrando agua, y asн pasa siempre con lo primero que agarro.
Desde ya muchas gracias.
El cуdigo:
PHP код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_WALK))
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
foreach(iObjetos, i)
{
new Float:x, Float:y, Float:z;
GetDynamicObjectPos(Objeto[i], x, y, z);
if(IsPlayerInRangeOfPoint(playerid, 1.0, x, y, z+1.0))
{
if(IsValidDynamicObject(Objeto[i]))
{
switch(InformacionO[i][O_UTIL])
{
case 1:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}pizza.");
Informacion[playerid][pPizza]++;
}
case 2:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}botella de agua.");
Informacion[playerid][pJugo]++;
}
case 3:
{
SendClientMessage(playerid, -1, "Recogiste un {008AF6}botiquin.");
Informacion[playerid][pBotiquin]++;
}
case 4:
{
if(Informacion[playerid][pMochila] > 1) return SendClientMessage(playerid, COLOR_ROJO, "Ya tienes una mochila mбs grande.");
SendClientMessage(playerid, -1, "Recogiste una {008AF6}mochila pequeсa.");
Informacion[playerid][pMochila] = 1;
Informacion[playerid][pEspacioMochila] = 22;
if(IsPlayerAttachedObjectSlotUsed(playerid, 0))
{
RemovePlayerAttachedObject(playerid, 0);
}
SetPlayerAttachedObject(playerid, 0, 3026, 1, -0.142000, -0.012999, 0.010999, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000);
}
case 5:
{
if(Informacion[playerid][pMochila] == 3 || Informacion[playerid][pMochila] == 2) return SendClientMessage(playerid, COLOR_ROJO, "Ya tienes una mochila mбs grande.");
SendClientMessage(playerid, -1, "Recogiste una {008AF6}mochila mediana.");
Informacion[playerid][pMochila] = 2;
Informacion[playerid][pEspacioMochila] = 36;
if(IsPlayerAttachedObjectSlotUsed(playerid, 0))
{
RemovePlayerAttachedObject(playerid, 0);
}
SetPlayerAttachedObject(playerid, 0, 371, 1, 0.049000, -0.040999, 0.000000, 0.000000, 85.399978, 0.000000, 1.000000, 1.000000, 1.000000);
}
case 6:
{
if(Informacion[playerid][pMochila] == 3) return SendClientMessage(playerid, COLOR_ROJO, "Ya tienes una mochila grande.");
SendClientMessage(playerid, -1, "Recogiste una {008AF6}mochila grande.");
Informacion[playerid][pMochila] = 3;
Informacion[playerid][pEspacioMochila] = 50;
if(IsPlayerAttachedObjectSlotUsed(playerid, 0))
{
RemovePlayerAttachedObject(playerid, 0);
}
SetPlayerAttachedObject(playerid, 0, 1310, 1, -0.137999, -0.108000, -0.035000, 0.000000, 85.499984, 0.000000, 1.000000, 1.000000, 1.000000);
}
case 7:
{
SendClientMessage(playerid, -1, "Recogiste un {008AF6}bidon de gasolina lleno.");
Informacion[playerid][pBidonLleno]++;
}
case 8:
{
SendClientMessage(playerid, -1, "Recogiste un {008AF6}bidon de gasolina vacio.");
Informacion[playerid][pBidonVacio]++;
}
case 9:
{
SendClientMessage(playerid, -1, "Recogiste unas {008AF6}cajas de leche.");
Informacion[playerid][pJugo]++;
}
case 10:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}soda.");
Informacion[playerid][pJugo]++;
}
case 11:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}navaja.");
GivePlayerWeapon(playerid, 4, 1);
}
case 12:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}pistola 9mm.");
GivePlayerWeapon(playerid, 22, 150);
}
case 13:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}pistola 9mm con silenciador.");
GivePlayerWeapon(playerid, 23, 150);
}
case 14:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}escopeta.");
GivePlayerWeapon(playerid, 25, 150);
}
case 15:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}spas-12.");
GivePlayerWeapon(playerid, 27, 150);
}
case 16:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}mp5.");
GivePlayerWeapon(playerid, 29, 150);
}
case 17:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}Ak47.");
GivePlayerWeapon(playerid, 30, 150);
}
case 18:
{
SendClientMessage(playerid, -1, "Recogiste una {008AF6}M4.");
GivePlayerWeapon(playerid, 31, 150);
}
case 19:
{
SendClientMessage(playerid, -1, "Recogiste un {008AF6}Sniper.");
GivePlayerWeapon(playerid, 34, 150);
}
}
DestroyDynamicObject(Objeto[i]);
DestroyDynamic3DTextLabel(LabelObj[i]);
break;
}
else continue;
}
}
}
}
return 1;
}
Desde ya muchas gracias.