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.