her wie kann ich von einem 3 Dismensionalen Array die sizeof auslesen ?
sizeof(Array) //Erste Dimension
sizeof(Array[]) //Zweite Dimension
sizeof(Array[][]) //Dritte Dimension
her wie kann ich von einem 3 Dismensionalen Array die sizeof auslesen ?
sizeof(Array) //Erste Dimension
sizeof(Array[]) //Zweite Dimension
sizeof(Array[][]) //Dritte Dimension
Ok
Mein Array sieht so aus
Wie kann z.b die Länge von der 1 oder 2 auslese
Fsstrecke[][][fsenum]
{
{
1 Strecke
},
{
2 Strecke
}
}
Kannst du einmal dein Array mit reellen Werten füllen, zb. ein Ausschnitt aus deinem Code zeigen? Ich kann mir das leider so nicht ganz vorstellen was du meinst^^
New fscp_strecke1[][][fahrschulcheckpoints] =
{
{
{0.0,0.0,0.0},
{0.0,0.0.0.0}
},
{
{0.0,0.0,0.0},
{0.0,0.0,0.0}
}
}
So sieht das ca aus
Und was möchtest du da auslesen?
z.b will ich die sizeof von Strecke 1 oder 2 auflesen
Also hast du das noch nicht fertig?
Sag Bescheid wenn du dein Array fertig hast und schick dann das enum und das Array rein und was du genau abfragen willst
Wie kann ich ein Befehl per Befehl ausschalten und wieder anschalten, bis zum restart? Kann mir da jemand ein Beispielcode für geben?
new Bool:command_aus = false;
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/ausschalten", cmdtext, true, 10) == 0)
{
if(command_aus == true)command_aus = false;
else command_aus = false;
return 1;
}
else if (strcmp("/command", cmdtext, true, 10) == 0)
{
if(command_aus == true)return SendClientMessage(playerid, -1, "Der Command ist aus");
SendClientMessage(playerid, -1, "Der Command ist an");
return 1;
}
return 0;
}
Moin, ich habe mal eine Frage an euch.
Ich habe derzeit ein Dynamic Teleportsystem am schreiben, aber ich weiß nicht wie ich die Sachen Laden bzw
Am besten in eine Datenbank und in die Tabelle kommt dann: id, name, x, y, z
Verstehst es falsch,
Spieler Daten Lade ich z.B. so: sInfo[playerid][sSpawn] = cache_get_field_content_int(0, "Spawn", MySQL_Handle);
Wei mache ich es bei den Teleports, weil "playerid" haben die ja nicht.
Die Teleports sollen doch nicht an Spielern gebunden sein oder?
Nein, nur an Admins die die Teleports via Befehl im Dialog aufrufen können.
Soll es nur für Admins sein, oder soll jeder Admin seine eigenen machen?
hier ist das Enum so wie es ist und das array und jetzt will ich z.b von Strecke 1 oder von Strecke 2 die Größe abfragen also wieviel Cp es sind.
Gespeichert welche Strecke wird in afsinfo[playerid][afs_Route]
enum Fahrschulcheckpoints
{
Float:fscp_x,
Float:fscp_y,
Float:fscp_z,
Float:fscp_rad
}
new fscp_strecke1[][][Fahrschulcheckpoints] =
{
{
//Strecke 1 {1420.4747,-1650.9874,12.9183,4.0},
{1442.0400,-1527.3809,12.9318,4.0},
{1457.3605,-1181.8098,22.1781,4.0},
{1484.7733,-1046.9332,23.2085,4.0},
{1380.0831,-1033.3884,25.8709,4.0},
{1374.9781,-958.5410,33.6481,4.0},
{1191.7825,-935.7949,42.2936,4.0},
{1004.8117,-956.1220,41.1875,4.0},
{588.9537,-1222.1122,17.3355,4.0},
{498.8979,-1331.8008,15.4384,4.0},
{441.8085,-1505.4916,30.4206,4.0},
{613.9475,-1592.6312,15.5575,4.0},
{640.2908,-1419.9365,13.0931,4.0},
{799.9543,-1342.6307,12.9321,4.0},
{945.2153,-1232.6627,16.2017,4.0},
{1146.2305,-1403.1858,13.0817,4.0},
{1299.4003,-1838.3225,12.9320,4.0},
{1417.2319,-1735.1187,12.9399,4.0},
{1420.4747,-1650.9874,12.9183,4.0}
},
//Strecke 2
{
{1420.4747,-1650.9874,12.9183,5.0},
{1442.0400,-1527.3809,12.9318,5.0},
{1457.3605,-1181.8098,22.1781,5.0},
{1484.7733,-1046.9332,23.2085,5.0},
{1380.0831,-1033.3884,25.8709,5.0},
{1374.9781,-958.5410,33.6481,5.0},
{1191.7825,-935.7949,42.2936,5.0},
{1004.8117,-956.1220,41.1875,5.0},
{588.9537,-1222.1122,17.3355,5.0},
{498.8979,-1331.8008,15.4384,5.0},
{441.8085,-1505.4916,30.4206,5.0},
{613.9475,-1592.6312,15.5575,5.0},
{640.2908,-1419.9365,13.0931,5.0},
{799.9543,-1342.6307,12.9321,5.0},
{945.2153,-1232.6627,16.2017,5.0},
{1146.2305,-1403.1858,13.0817,5.0},
{1299.4003,-1838.3225,12.9320,5.0},
{1417.2319,-1735.1187,12.9399,5.0},
{1420.4747,-1650.9874,12.9183,5.0}
}
};
Alles anzeigen
Hi, habe ein kleines Problem. Mein Befehl funktioniert nicht wie gewollt, wenn ich /spec und eine ID eingebe, erscheint diese Nachricht:
SendClientMessage(playerid,-1,"{FF0000}ERROR: /spec [ID]");
Code:
CMD:spec(playerid,params[])
{
if(cmdstatus == true)
{
if(!CheckAdminName(playerid)) return 0;
new pID, tmp[20], tmp2[20], idx;
tmp = strtok(params, idx);
if(!strlen(tmp2)) return SendClientMessage(playerid,-1,"{FF0000}ERROR: /spec [ID]");
if(IsNumeric(tmp)) pID = strval(tmp);
else pID = ReturnPlayerID(tmp);
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"{FF0000}The Player is not online");
inSpec[playerid] = true;
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(pID));
SetPlayerInterior(playerid, GetPlayerInterior(pID));
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, pID);
}
else if(cmdstatus == false)
{
cmdstatus = false;
for(new i=0; i < MAX_PLAYERS; i++)
if(CheckAdminName(i))
SendClientMessage(i,-1,"This command is currently {FF0000}disabled");
}
return 1;
}
Zeile 8 tmp2 zu tmp und das new tmp2[20] kann weg. @[LnD]JustMe.77
@reaL. Ich kann dir leider nicht helfen, da ich das Array bei mir Lokal nicht so übernehmen kann. Sicher, dass das Array so funktioniert?
So hatte ich mein Befehl vorher erstellt, nur das Problem ist, wenn ich nur /spec eingebe, dann erscheint "The Player is not online" und nicht ERROR:: /sspec [ID]"
Edit:
Problem gefunden,
Lösung: if(isnull(params)) verwenden um zu überprüfen ob eine Zahl angegeben wurde oder nicht, falls nicht --> Nachricht senden
@SynonymousZ:
Warum nicht ?
Ja kann ich