Des ist mein Basis Tut (hatte langeweile)
Also fangen wir an.
Menschen Platzieren:
Bei OnGameModeInit
AddPlayerClass(skin, Float:x, Float:y, Float:z, Float:Angle, waffe1, waffe1_ammo, waffe2, waffe2_ammo, waffe3, waffe3_ammo)
Erklärung:
skin	Der Skin mit dem der Player Spawnt 
Float:X	Die X-Koordinate wo der Spieler Spawnt 
Float:Y	Die Y-Koordinate wo der Spieler Spawnt 
Float:Z	Die Z-Koordinate wo der Spieler Spawnt 
Float:Angle Die Richtung in die der Player beim Spawn guckt
waffe1	Die 1. Waffe des Spielers
waffe1_ammo	Wieviel Munition für die Waffe da ist 
waffe2	Die 1. Waffe des Spielers
waffe2_ammo	Wieviel Munition für die Waffe da ist 
waffe3	Die 1. Waffe des Spielers
waffe3_ammo	Wieviel Munition für die Waffe da ist 
Startet SA im Debug mode, drückt dann F11 oder F12, sucht eueren Skin aus. Geht an die Stelle wo der spawn soll und gebt ein /save <irgendwasoderleerlassen>
Dann verlasst das Spiel, geht in den SA Ordner und öffnet die Datei Savepostions.txt, da steht jetzt euer Save mit dem Namen ( <irgendwasoderleerlassen>)
Autos auch unter OnGameModeInit :
AddStaticVehicle(AutoID, Cord X, Cord Y, Cord Z, Farbe1, Farbe2);
Startet SA im Debug mode, gebt im Spiel /vsel ein und sucht euer Auto aus. Geht an die Stelle wo es sein soll und gebt ein /save <irgendwasoderleerlassen>
Dann verlasst das Spiel, geht in den SA Ordner und öffnet die Datei Savepostions.txt, da steht jetzt euer Save mit dem Namen ( <irgendwasoderleerlassen>)
Join Message:
public OnPlayerConnect(playerid)
{
    new pName[MAX_PLAYER_NAME]; //speichert eine Variable
    new string[128]; //erstellt einen String 
    GetPlayerName(playerid, pName, sizeof(pName)); //damit finden wir den Namen raus
format(string, sizeof(string), "%s ist dem Server beigetreten.", pName); //damit machen wir die Nachricht, %s steht nur für den Namen
    SendClientMessageToAll(0xAAAAAAAA, string); //Sendet die Nachricht
    return 1;
}
Leave Message:
public OnPlayerDisconnect(playerid, reason)
{
    new pName[MAX_PLAYER_NAME]; //genau
  new string[128]; //wie
    GetPlayerName(playerid, pName, sizeof(pName));  //oben
    switch(reason) 
        case 0: format(string, sizeof(string), "%s hat den Server verlassen. (Timeout/Crash)", pName); //hatte der spieler einen Timout/Crash
        case 1: format(string, sizeof(string), "%s hat den Server verlassen. (Verlassen)", pName); //hat er den Server normal verlassen
        case 2: format(string, sizeof(string), "%s hat den Server verlassen. (Gekickt/Gebannt)", pName); //wurde er vom Server gekickt
    } 
    SendClientMessageToAll(0xAAAAAAAA, string); //sendet dann die jeweilige Nachricht
    return 1;
}
Automatische Nachrichten die nach einer bestimmten Zeit angezeigt werden:
new RandomMSG[] =
{
    "Nachricht 1", //Hier kommen die Zufalls Nachrichten rein
    "Nachricht 2",
    "Nachricht 3"
};
jetzt erstellen wir den Timer:
 
SetTimer("SendMSG", 60000, true);
// 60000ms = 60 sekunden= 1 minute, true heßt soviel das es wiederholt wird
Oben steht alles was ihr wissen solltet
Die Funktion heit SendMSG, Also forwarden wir sie
forward SendMSG();
Ganz unten in euer Skript
public SendMSG()
{
 new randMSG = random(sizeof(RandomMSG)); 
SendClientMessageToAll(COLOR, RandomMSG[randMSG]); // Ersetzt Color mit eurer Farbe sonst gibts Errors!
}
Das wars erstmal!!
Anregungen und Kritik sind erwünscht!
Bin ein n00b also nicht so hart dran nehmen XD
M.f.g
zombie_modder
UPDATE:
Command machen.
Ich will euch zeigen wie man einen einfachen Command erstellt.
Sucht 
Public OnPlayerCommandText(playerid, cmdtext[]);
jetzt wollen wir ein Kill Command erstellen:
  if (strcmp("/kill", cmdtext, true) == 0) // /kill ist der Command den man eingeben muss
   {
       SetPlayerHealth(playerid,0.0); // setzt das Leben des Spielers auf 0.0
       SendClientMessage(playerid, 0xAA3333AA, "Hier schreibt ihr rein was dann erscheinen soll"); // Das ist die Nachricht die auf dem Bildschirm erscheint
       return true;
   }
Wenn man /kill eingibt wird die PlayerHealth auf 0.0 versetzt und es kommt eure eingetippte  Nachricht 
return true; heißt soviel wie, dass der Command erfolgreich beendet wurde.
 
		 
		
		
	



 und forwards gehören oben ins script und net mitten ins Puplic...
 und forwards gehören oben ins script und net mitten ins Puplic...