stocks braucht man nicht forwarden...
//edit.. Das Problem besteht leider immernoch
stocks braucht man nicht forwarden...
//edit.. Das Problem besteht leider immernoch
Weiß nicht obs ein Fehler ist aber:
stock Stadt(playerid)
{
new Float:X, Float:Y, Float:Z; //We use this to store player position
GetPlayerPos(playerid, X, Y, Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
new zoneid = 0;
for(; zoneid < sizeof(zoness); zoneid++)
{
if (X <= zoness[zoneid][zone_maxxx] && X >= zoness[zoneid][zone_minxx] && Y <= zoness[zoneid][zone_maxyy] && Y >= zoness[zoneid][zone_minyy])
{
return zoness[zoneid][zone_namee]; //hier ein Text
}
}
return 1; // hier gibt die Funktion eine Zahl zurück
}
wie wärs wenn du statt dem return 1; auch mal einen Text zurück gibst?
Das ist das, was ich die ganze Zeit versuche zu erklären^^
Danke Haxler, anscheinend verstehen viele nicht meine Ausdrucksweise.
Doch das habe ich verstanden, jeodch kann es daran nciht liegen, da er ja den letzten eingegeben Text verwendet und nicht sonst was
Aber der PAWN Kompilierer erkennt das nicht an!
Theoretisch könnte er aber 1 (Integer) zurückgegeben bekommen. Dem Compiler gehts um dieses theoretisch. Entferne das return 1 oder mach return "1" (dann isses ein String) drauß, wenn unbedingt 1 in die Variable geschrieben werden soll.
stock Stadtteil(playerid)
{
new Float:X, Float:Y, Float:Z; //We use this to store player position
GetPlayerPos(playerid, X, Y, Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
for(new zoneid = 0; zoneid < sizeof(zones); zoneid++)
{
if (X <= zones[zoneid][zone_maxx] && X >= zones[zoneid][zone_minx] && Y <= zones[zoneid][zone_maxy] && Y >= zones[zoneid][zone_miny])
{
return zones[zoneid][zone_name];
}
}
}
stock Stadt(playerid)
{
new Float:X, Float:Y, Float:Z; //We use this to store player position
GetPlayerPos(playerid, X, Y, Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
for(new zoneid = 0; zoneid < sizeof(zoness); zoneid++)
{
if (X <= zoness[zoneid][zone_maxxx] && X >= zoness[zoneid][zone_minxx] && Y <= zoness[zoneid][zone_maxyy] && Y >= zoness[zoneid][zone_minyy])
{
return zoness[zoneid][zone_namee];
}
}
}
habe sie jetzt sogeändert
jedoch gibt die erste Funktion nichts wieder!
und die 2te legendlich Lhacken
Enumeration und Array korrekt erstellt und eingelesen? Welchen Datentyp haben zone_maxx bzw. zone_maxy?
Lass dir mal einen Datensatz printen, evtl geht da ja schon was schief.
enum zoneinfo
{
zone_name[27],
Float:zone_minx,
Float:zone_miny,
Float:zone_minz,
Float:zone_maxx,
Float:zone_maxy,
Float:zone_maxz,
}
new zones[355][zoneinfo] =
{
{ "'The Big Ear'", -410.00, 1403.30, -3.00, -137.90, 1681.20, 200.00},
{ "Aldea Malvada", -1372.10, 2498.50, 0.00, -1277.50, 2615.30, 200.00},
{ "Angel Pine", -2324.90, -2584.20, -6.10, -1964.20, -2212.10, 200.00},
{ "Arco del Oeste", -901.10, 2221.80, 0.00, -592.00, 2571.90, 200.00},
{ "Avispa Country Club", -2646.40, -355.40, 0.00, -2270.00, -222.50, 200.00},
{ "Avispa Country Club", -2831.80, -430.20, -6.10, -2646.40, -222.50, 200.00},
{ "Avispa Country Club", -2361.50, -417.10, 0.00, -2270.00, -355.40, 200.00},
{ "Avispa Country Club", -2667.80, -302.10, -28.80, -2646.40, -262.30, 71.10},
{ "Avispa Country Club", -2470.00, -355.40, 0.00, -2270.00, -318.40, 46.10},
{ "Avispa Country Club", -2550.00, -355.40, 0.00, -2470.00, -318.40, 39.70},
{ "Back o Beyond", -1166.90, -2641.10, 0.00, -321.70, -1856.00, 200.00},
{ "Battery Point", -2741.00, 1268.40, -4.50, -2533.00, 1490.40, 200.00},
{ "Bayside", -2741.00, 2175.10, 0.00, -2353.10, 2722.70, 200.00},
};
enum zoneinfoo
{
zone_namee[27],
Float:zone_minxx,
Float:zone_minyy,
Float:zone_minzz,
Float:zone_maxxx,
Float:zone_maxyy,
Float:zone_maxzz,
}
new zoness[9][zoneinfoo] =
{
// Main Zones
{ "Los Santos", 44.60, -2892.90, -242.90, 2997.00, -768.00, 900.00},
{ "Las Venturas", 869.40, 596.30, -242.90, 2997.00, 2993.80, 900.00},
{ "Bone County", -480.50, 596.30, -242.90, 869.40, 2993.80, 900.00},
{ "Tierra Robada", -2997.40, 1659.60, -242.90, -480.50, 2993.80, 900.00},
{ "Tierra Robada", -1213.90, 596.30, -242.90, -480.50, 1659.60, 900.00},
{ "San Fierro", -2997.40, -1115.50, -242.90, -1213.90, 1659.60, 900.00},
{ "Red County", -1213.90, -768.00, -242.90, 2997.00, 596.30, 900.00},
{ "Flint County", -1213.90, -2892.90, -242.90, 44.60, -768.00, 900.00},
{ "Whetstone", -2997.40, -2892.90, -242.90, -1213.90, -1115.50, 900.00}
};
//edit habe es gelöst für Stadt(playerid)
genau das selbe tate ich bei Stadtteil doch da kommt nichts
stock Stadtteil(playerid)
{
new Float:X, Float:Y, Float:Z; //We use this to store player position
GetPlayerPos(playerid, X, Y, Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
for(new zoneid = 0; zoneid < sizeof(zones); zoneid++)
{
if (X <= zones[zoneid][zone_maxx] && X >= zones[zoneid][zone_minx] && Y <= zones[zoneid][zone_maxy] && Y >= zones[zoneid][zone_miny])
{
new string[27];
format(string,sizeof(string),"%s",zones[zoneid][zone_name]);
return string;
}
}
}
stock Stadt(playerid)
{
new Float:X, Float:Y, Float:Z; //We use this to store player position
GetPlayerPos(playerid, X, Y, Z); //Here we are storing the player position on the variables X, Y, and Z defined previously
for(new zoneid = 0; zoneid < sizeof(zoness); zoneid++)
{
if (X <= zoness[zoneid][zone_maxxx] && X >= zoness[zoneid][zone_minxx] && Y <= zoness[zoneid][zone_maxyy] && Y >= zoness[zoneid][zone_minyy])
{
new string[27];
format(string,sizeof(string),"%s",zoness[zoneid][zone_namee]);
return string;
}
}
}
Was war die Lösung, dass es in Stadt gelöst ist?
Das ich es so returned habe
new string[27];
format(string,sizeof(string),"%s",zoness[zoneid][zone_namee]);
return string;
//edit das selbe habe ich ja auch bei Stadtteil gemacht, jeodch return er nichts....