new gascan[MAX_PLAYERS], gasdrop[MAX_PLAYERS][4] ; public OnPlayerDeath(playerid, killerid, reason) { GetPlayerPos(playerid, PosX[playerid], PosY[playerid], PosZ[playerid]); if(gascan[playerid] == 1) { gasdrop[playerid][0] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][0], dX[playerid][0], dY[playerid][0], dZ[playerid][0]); } if(gascan[playerid] == 2) { gasdrop[playerid][0] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][0], dX[playerid][0], dY[playerid][0], dZ[playerid][0]); gasdrop[playerid][1] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][1], dX[playerid][1], dY[playerid][1], dZ[playerid][1]); } if(gascan[playerid] == 3) { gasdrop[playerid][0] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][0], dX[playerid][0], dY[playerid][0], dZ[playerid][0]); gasdrop[playerid][1] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][1], dX[playerid][1], dY[playerid][1], dZ[playerid][1]); gasdrop[playerid][2] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][2], dX[playerid][2], dY[playerid][2], dZ[playerid][2]); } if(gascan[playerid] == 4) { gasdrop[playerid][0] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][0], dX[playerid][0], dY[playerid][0], dZ[playerid][0]); gasdrop[playerid][1] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][1], dX[playerid][1], dY[playerid][1], dZ[playerid][1]); gasdrop[playerid][2] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][2], dX[playerid][2], dY[playerid][2], dZ[playerid][2]); gasdrop[playerid][3] = CreateDynamicObject(1650, PosX[playerid], PosY[playerid], PosZ[playerid] - 0.7, 0.0, 0.0, 0.0); GetObjectPos(gasdrop[playerid][3], dX[playerid][3], dY[playerid][3], dZ[playerid][3]); } } return 1; } if (PRESSED( KEY_CROUCH )) { if(IsValidDynamicObject(gasdrop[0][0]) && IsPlayerInRangeOfPoint(playerid,1.0,dX[0][0],dY[0][0],dZ[0][0])) { gascan[playerid] = gascan[playerid] +1; SendClientMessage(playerid, -1, "* 1 full gas can has been added to your inventory"); DestroyDynamicObject(gasdrop[0][0]); } if(IsValidDynamicObject(gasdrop[0][1]) && IsPlayerInRangeOfPoint(playerid,1.0,dX[0][1],dY[0][1],dZ[0][1])) { gascan[playerid] = gascan[playerid] +1; SendClientMessage(playerid, -1, "* 1 full gas can has been added to your inventory"); DestroyDynamicObject(gasdrop[0][1]); } } return 1; }
for(new i; i < 10; i ++)
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(!IsPlayerConnected(i)) continue;
//do your code
}
if (PRESSED( KEY_CROUCH ))
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(!IsPlayerConnected(i)) continue;
for(new a = 0; a < sizeof(gasdrop[]); a ++)
{
if(IsValidDynamicObject(gasdrop[i][a]) && IsPlayerInRangeOfPoint(playerid,1.0,dX[i][a],dY[i][a],dZ[i][a]))
{
gascan[playerid] = gascan[playerid] +1;
SendClientMessage(playerid, -1, "* 1 full gas can has been added to your inventory");
DestroyDynamicObject(gasdrop[i][a]);
}
}
}
}
You can use a loop.
Voila, a loop within a loop also works, too, where 'i' are the players and 'a' are the different drops. |
Onplayerdeath(playeridblahblah) { if(gascan[playerid] > 1) { if(isvaliddynamicobject(gasdrop[playerid]) { new drop = gasdrop[playerid]+1; drop=createdynamicobject(blahblah); } } }