Hi ich hab seit kurzem versucht, dass bei dem Befehl /wobinich eine Nachricht kommt wo man sich gerade befindet.
Bisher habe ich es so gemacht:
Der Befehl:
if (strcmp("/wobinich", cmdtext, true) == 0)
{
GetZoneName(playerid);
return 1;
}
Hier der Stock wie es auch funktioniert
stock GetZoneName(playerid)
{
if(IsPlayerInArea(playerid,44.60, -2892.90, 2997.00, -768.00))
{
SendClientMessage(playerid, rot, "Aktuelle Region:Los Santos");
return 1;
}
if(IsPlayerInArea(playerid,869.40, 596.30, 2997.00, 2993.80))
{
SendClientMessage(playerid, rot, "Aktuelle Region:Las Venturas");
return 1;
}
if(IsPlayerInArea(playerid,-480.50, 596.30, 869.40, 2993.80))
{
SendClientMessage(playerid, rot, "Aktuelle Region:Bone County");
return 1;
}
if(IsPlayerInArea(playerid,2997.40, 1659.60, -480.50, 2993.80))
{
SendClientMessage(playerid, rot, "Aktuelle Region:Tierra Robada");
return 1;
}
if(IsPlayerInArea(playerid,-1213.90, 596.30, -480.50, 1659.60))
{
SendClientMessage(playerid, rot, "Aktuelle Region:Tierra Robada");
return 1;
}
if(IsPlayerInArea(playerid,-2997.40, -1115.50, -1213.90, 1659.60))
{
SendClientMessage(playerid, rot, "Aktuelle Region:San Fierro");
return 1;
}
if(IsPlayerInArea(playerid,-1213.90, -768.00, 2997.00, 596.30))
{
SendClientMessage(playerid, rot, "Aktuelle Region:Red County");
return 1;
}
if(IsPlayerInArea(playerid, -1213.90, -2892.90, 44.60, -768.00))
{
SendClientMessage(playerid, rot, "Aktuelle Region:Flint County");
return 1;
}
if(IsPlayerInArea(playerid, -2997.40, -2892.90, -1213.90, -1115.50))
{
SendClientMessage(playerid, rot, "Aktuelle Region:Whetstone");
return 1;
}
return 1;
}
und jetzt hatte ich mir gedacht das bisschen sparrender und übersichtlicher zumachen und hatte mir vorgestellt es so zumachen:
stock GetZoneName(playerid)
{
new Float:minX,Float:minY,Float:maxX,Float:maxY;
new areastring[128];
new area[64];
format(areastring,sizeof(areastring),"Aktueller Ort:%s", area);
switch(IsPlayerInArea(playerid, Float:minX,Float:minY,Float:maxX,Float:maxY))
{
case 44.60, -2892.90, 2997.00, -768.00:{area="Los Santos";}
case 869.40, 596.30, 2997.00, 2993.80:{area="Las Venturas";}
case -480.50, 596.30, 869.40, 2993.80:{area="Bone County";}
case 2997.40, 1659.60, -480.50, 2993.80:{area="Tierra Robada";}
case -1213.90, 596.30, -480.50, 1659.60:{area="Tierra Robada";}
case -2997.40, -1115.50, -1213.90, 1659.60:{area="San Fierro";}
case -1213.90, -768.00, 2997.00, 596.30:{area="Red County";}
case -1213.90, -2892.90, 44.60, -768.00:{area="Flint County";}
case -2997.40, -2892.90, -1213.90, -1115.50:{area="Whetstone";}
}
return 1;
}
Nur geht das mit den case nicht: könnte mir dort jemand helfen? bzw gibt es noch eine andere Möglichkeit?