Guten Morgen Breadfish
Ich habe versucht mich an ein kleines Firmensystem dran gesetzt und bin bis jetzt nur soweit gekommen:
Code
		
					
			enum	Firmengebiet
{
	Float:F_MinX,
	Float:F_MinY,
        Float:F_MaxX,
        Float:F_MaxY,
        Float:F_KaufX,
        Float:F_KaufY,
        Float:F_KaufZ,
	F_Price,
	F_Object,
	Text3D:F_Label,
	F_Besitzer[MAX_PLAYER_NAME]
}
Gelände-vergabe:
new Firma[2][Firmengebiet] =
{
	{647.8892,-1384.1666,786.2288,-1329.5417,777.5681,-1379.9337,13.6566,5},
	{930.1262,-1308.1982,807.7534,-1158.5909,912.7548,-1235.4043,17.2109,5}
};
Firma laden lassen:
public LoadFirmaDaten()
{
	new num_fields, num_rows;
	cache_get_data(num_rows,num_fields,dbhandle);
	if(num_rows > 0)
	{
	    for(new i = 0; i<num_rows; i++)
		{
		    Firma  = cache_get_field_content_float(0,"Firmengebiete[i][Firmengeleande]", dbhandle); //Falls du dbhandle nutzt lassen ansonsten anpassen!
		    new query[56];
		    format(query, sizeof(query),"SELECT * FROM firma"); // *firma* musst du anpassen wie du deine Datenbankname benannt hast
		    mysql_function_query(dbhandle, query, false, "LoadFirmaDaten", "");
		}
	}
	return 1;
}
Verbinden so wie Speichern und Laden des Spielers:
public OnPlayerConnect(playerid)
{
	if(IsPlayerNPC(playerid)) return 1;
	new nachricht[128];
	format(nachricht,sizeof(nachricht),"Du bist mit der ID %i verbunden.",playerid);
	SendClientMessage(playerid,rot,nachricht);
	//Login/Register:
	new name[MAX_PLAYER_NAME],query[128];
	GetPlayerName(playerid,name,sizeof(name));
	format(query,sizeof(query),"SELECT id FROM user WHERE username='%s' ",name);
	mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
	SendClientMessage(playerid,grün,"Willkommen auf Reallife Version 0.1.4! Wir wünschen euch ein angenehmen Spiel spaß bei uns!");
	//textdraws anzeigen:
	TextDrawShowForPlayer(playerid,Text:uhrzeitLabel);
	TextDrawShowForPlayer(playerid, Jahr);
	SetPlayerColor(playerid,weiß);
	sInfo[playerid][level]=1;
	SetPlayerScore(playerid,sInfo[playerid][level]);
	sInfo[playerid][firma]=-1;
	loadPlayerCars(playerid);
	return 1;
}
  savePlayer(playerid)
{
	if(sInfo[playerid][eingeloggt]==0)return 1;
	//Speichern level,money
	new query[256];
	format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i',rang='%i',spawnchange='%i',firma='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][spawnchange],sInfo[playerid][firma],sInfo[playerid][db_id]);
	mysql_function_query(dbhandle,query,false,"","");
	return 1;
}
resetPlayer(playerid)
{
	for(new i=0; i<sizeof(sInfo[]); i++)
	{
	    sInfo[playerid][playerInfo:i]=0;
	}
	return 1;
}
Kaufbefehl für Firmengebiet:
ocmd:kaufefirmengelaende(playerid,params[])
{
	if(sInfo[playerid][firma] != -1)return SendClientMessage(playerid,rot,"Fehler: Du Besitzt bereits eine Firma!");
	for(new i;i<sizeof(Firma);i++)
	{
		if(IsPlayerInRangeOfPoint(playerid, 4.0, Firma[i][F_KaufX], Firma[i][F_KaufY], Firma[i][F_KaufZ])) 
		{
			if(strlen(Firma[i][F_Besitzer]) > 2) return SendClientMessage(playerid, rot, "Error: Diese Firma gehört bereits jemandem.");
			GetPlayerName(playerid, Firma[i][F_Besitzer], MAX_PLAYER_NAME);
			//Hier das Label aktualisieren.
			sInfo[playerid][firma]= i;
			GivePlayerMoney(playerid,-5000000);
			return SendClientMessage(playerid, grün, "Gekauft.");		
		}
	}
	return SendClientMessage(playerid, rot, "Du bist nich am Kaufpunkt des Firmengelhaändes!");
}
	
			Alles anzeigen
	
		
		
		
	