Das kannst du problemlos machen, allerdings möglicherweise nicht mit allen Command-Prozessoren, daher das Beispiel mit strcmp (dcmd würde auch gehen).
FS1:
if(!strcmp(cmdtext, "/enter", true))
{
for(new i = 0; i < MAX_HOUSES; i++)
{
if(IsPlayerInRangeOfPoint(...))
{
//SetPlayerPos...
return 1;
}
}
}
FS2:
if(!strcmp(cmdtext, "/enter", true))
{
for(new i = 0; i < MAX_BIZ; i++)
{
if(IsPlayerInRangeOfPoint(...))
{
//SetPlayerPos...
return 1;
}
}
}
Wichtig ist eben, dass das return in dem Befehl nur aufgerufen wird, wenn der Spieler in der Nähe ist und die Position gesetzt wird.
Zusätzlich muss dann im Gamemode noch vor dem return 0 (bzw. dem return zur Info, dass der Befehl nicht existiert, wenn 0 zu SendClientMessage geändert wurde):
if(!strcmp(cmdtext, "/enter", true)) return SendClientMessage(playerid, 0xFF0000FF, "Du bist bei keinem Haus/Biz.");
Allerdings muss ich dazu sagen, dass es wesentlich sinnvoller wäre, beide Systeme in einen Code zu packen, oder sie direkt in den Gamemode zu integrieren, letzteres ist oft am geschicktesten, da man alles in einem Code hat und nichts an Daten zwischen zwei Codes hin und her schicken muss.