Sziasztok! Készítettem egy nagyon egyszerû kódot. Lényege, hogy ha egy játékos egy másik játékos általunk kiválasztott távolságában van, akkor megtörténik a cselekvés, ha pedig nem, akkor értelem szerûen nem történik semmi.
Hasznos lehet pl. RP szerverekre tárgyak átadásánál.
Kód:
stock IsPlayerInRangeOfPlayer(playerid, toplayerid, Float:range)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(toplayerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, range, X, Y, Z))
{
return 1;
}
return 0;
}
Egyszerû példa:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, \"/fejberúg\", true))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInRangeOfPlayer(playerid, i, 1.0))
{
if(i == playerid) continue;
SendClientMessage(playerid, -1, \"Fejbe rúgtad!\");
SendClientMessage(i, -1, \"Fejbe rúgtak!\");
break;
}
else
{
SendClientMessage(playerid, -1, \"Nincs senki a közeledben!\");
break;
}
}
return 1;
}
return 0;
}
Magyarázat: Ha a játékos beírja hogy /fejberúg, és van valaki az 1 méteres körzetében, aki nem saját maga, akkor meg történik a fejberúgás, ha pedig önmagán kivûl senki sincs a közelében, akkor nem. Remélem érthetõ voltam!