So habe das nun mal so getestet es klappt nicht 
-> Es wird kein Pickup erstellt.
-> Es wird kein Label erstellt.
-> Beim Restart Funktioniert es!
-> Beim Restart wird Pickup + 3DText geladen!
Code:
C
		
					
			ocmd:createpickup(playerid, params[])
{
    new frakID, InteriorID, WorldID, Float:PosX, Float:PosY, Float:PosZ, string[256], mainQuery[256];
    if(Spieler[playerid][pAdmin] < 6)return SendClientMessage(playerid, COLOR_WHITE, ERROR_ADMIN);
    if(sscanf(params, "ii", frakID, WorldID))return SendClientMessage(playerid, COLOR_WHITE, "{3592D7}* Benutze {00CC00}/createpickup [Fraktions-ID] [World-ID]");
	if(frakID < 1 || frakID > MAX_FRACS)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Falsche Fraktions-ID!");
	if(Frak[frakID][frakOpened] == 0)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Diese Fraktion ist nicht geöffnet.");
	InteriorID = GetPlayerInterior(playerid);
	GetPlayerPos(playerid, PosX, PosY, PosZ);
 	if(Frak[frakID][fPickCreated] == 1)
    {
        DestroyDynamic3DTextLabel(Frak[frakID][fText]);
    	DestroyPickup(Frak[frakID][fPickup]);
    }
    else
    {
     	Frak[frakID][fPickup] = CreatePickup(1239, 1, PosX, PosY, PosZ, -1);
		format(string, sizeof(string), ""#SERVER_FARBE"%s\n{FFFFFF}Drücke Enter.", Frak[frakID][frakName]);
		Frak[frakID][fText] = CreateDynamic3DTextLabel(string, COLOR_WHITE, PosX, PosY, PosZ+1,12, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0);
		Frak[frakID][fPickCreated] = 1;
	}
	format(mainQuery, sizeof(mainQuery), "UPDATE `"#SQL_TAGE"_fraktion` SET `EnterX`='%f', `EnterY`='%f', `EnterZ`='%f', `EnterInterior`='%d', `EnterWorld`='%d' WHERE `frakID`='%d' ", PosX, PosY, PosZ, InteriorID, WorldID, frakID);
    mysql_function_query(MySqlConnection, mainQuery, false, "", "");
	return 1;
}E:
Habe das nun Komplett abgeändert.
C
		
					
			ocmd:createpickup(playerid, params[])
{
	new frakID, Float:Pos[3], string[256];
    if(Spieler[playerid][pAdmin] < 6)return SendClientMessage(playerid, COLOR_WHITE, ERROR_ADMIN);
    if(sscanf(params, "ii", frakID))return SendClientMessage(playerid, COLOR_WHITE, "{3592D7}* Benutze {00CC00}/createpickup [Fraktions-ID]");
	if(frakID < 1 || frakID > MAX_FRACS)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Falsche Fraktions-ID!");
	if(Frak[frakID][frakOpened] == 0)return SendClientMessage(playerid, COLOR_WHITE, "{AFAFAF}Diese Fraktion ist nicht geöffnet.");
	GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
	if(Frak[frakID][fPickCreated] == 1)
	{
	    DestroyPickup(Frak[frakID][fPickup]);
	    DestroyDynamic3DTextLabel(Frak[frakID][fText]);
	    Frak[frakID][fPickup] = CreatePickup(1239, 1, Pos[0], Pos[1], Pos[2], 0);
		format(string, sizeof(string), ""#SERVER_FARBE"%s\n{FFFFFF}Drücke Enter.", Frak[frakID][frakName]);
		Frak[frakID][fText] = CreateDynamic3DTextLabel(string, COLOR_WHITE, Pos[0], Pos[1], Pos[2]+1,12, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0);
	}
	else
	{
	    Frak[frakID][fPickup] = CreatePickup(1239, 1, Pos[0], Pos[1], Pos[2], 0);
		format(string, sizeof(string), ""#SERVER_FARBE"%s\n{FFFFFF}Drücke Enter.", Frak[frakID][frakName]);
		Frak[frakID][fText] = CreateDynamic3DTextLabel(string, COLOR_WHITE, Pos[0], Pos[1], Pos[2]+1,12, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, 0);
		Frak[frakID][fPickCreated] = 1;
	}
 	Frak[frakID][EnterX] = Pos[0];
    Frak[frakID][EnterY] = Pos[1];
    Frak[frakID][EnterZ] = Pos[2];
	format(string, sizeof(string), "{FFFF00}[CREATE] {15951F}%s {FFFF00}hat den Fraktions Eingang für die Fraktion ID: {15951F}%d {FFFF00}geändert!", GetName(playerid), frakID);
	SendAdminMessage(COLOR_WHITE, string);
	return 1;
}Funktioniert Einwandfrei.
Kann man da noch etwas verbessern oder kann man den Code so lassen ;D?
 
		 
		
		
	

