Hallo ein kleines Tutorial für alle die ab 0 anfangen wollen.
Also als erstes müsst ihr euren Pawn Editor starten und am besten die "new.pwn" öffnen.
So ihr seht jetzt die includes ganz oben, die braucht der Compiler.
Hm, wenn ihr das Script anschaut dann sieht es am Anfang ziemlich kompliziert aus nicht? Wenn ihr euch erstmal eingearbeitet hat dann schaut es ziemlich einfach aus.
1. Die Defines
Dann gibts #define man könnte das als Variablen bezeichnen. Sie werden häufig als Farben benutzt.
Die werden so eingesetzt( Ein Farb beispiel):
Dies Sendet einen text "farben test" an playerid in blau. was das mit Playerid auf sich hat kommt gleich.
Es gibt noch die spezielle Definition
Das muss ihr reinmachen wenn ihr ein Filterscript macht.
2. Das Script intalasieren und alle Spawns und AutoSpawns
So jetzt wollen wir den Gamemode/filterscript starten (also das machen was am starten des Scripts passiert.
Es gibt jetzt erstmal einen Allgemeinen Start
Er intaliersirt das was drin ist egal ob Gamemode oder Filterscript.
So aber das wollen wir nicht verwenden.
Wir verwenden das:
bzw.
Hier könnt ihr nun allles reintun was intaalisirt werden sollen.
Um euren Script namen zu setzen benutz das( nur für gamemode):
Das Spawnt ein Auto bzw. Player (oder macht besser gersagt ein Player Spawn):
AddStaticVehicle(Modelid,x Axis, y axis, z axis, z rotation, farbe 1, farbe2);
AddPlayerClass(skinid,x axis, y axis, z axis, z rotation, waffe 1, waffe2, waffe 3, w 4, w5, w6);
Dabei gibts ein Auto Limit von 700 autos, und 50 - 70 verschiedene Auto Models.
Wo krieg ich die Coordinaten her?
Ganz einfach geht in den SA:MP debug. Geht zum euren Ort wo ein Spawn gemacht werden soll. (Mit gewünschten Auto für auto Spawn oder mit Player für Player Spawn).
Wenn ihr da seit gibt /save ein.
Ihr könnt mit /vsel ein auto auswählen.
Der Fertige code wird dann in die Datei namens "savedpositions.txt" in deinen sa ordner gespeichert
3. Die Commandos
Was wäre denn ein Server ohne Commandos?
So jetzt kommen wir dazu.
Also mit um die überhaupt zu machen, fangen wir mit denn Callback an.
Hier kommt alles rein was passieren soll, wenn irgendein Befehl, also mit / angegeben wird. Egal welcher befehl.
Aber da wir bestimmte Befehle Filtern wollen, benutzen wir:
if (strcmp("/befehl", cmdtext, true) == 0)
{
// Hier kommt der Code rein was passieren soll bei den Befehl.
}
Ein beispiel mit den /kill befehl.
So jetzt wollen wir mal ein /me befehl machen
if(strcmp(cmdtext, "/me", true)==0) {
new str[256], sname[256];
GetPlayerName(playerid, sname, 256);
format(str, 256, "%s %s", sname, cmdtext[4]);
SendClientMessageToAll(0x33CCFFAA, str);
return 1;
}
So das schaut ja am Anfang ziemlich komplex aus, ist es aber nicht wirklich wenn man es sich näher anschaut.
Als erstes erstellen wir neue variablen: str Das benutzen wir als Text und pname für denn namen des Spielers.
Jetzt müssen wir natürlich herausfinden, wie der Spieler Name überhaupt heißt.
GetPlayerName(playerid, sname, 256); tut herausfinden wie der Player heißt, und tut ihn in dieser Variable abspeichern.
Das format tut jetzt den Text generieren, sname und cmdtext tuen jetzt definieren was statt %s rein soll (es geht nicht anders), in der Reihenfolge wie sname oder cmdtext.
Cmdtext ist der restliche Text, sonst wird es nur ein Wort oder Zahl verwendet.
Jetzt wird das genierte Format ausgegeben, in leutblau. Unswar mit SendClientMessageToAll.
Wie man es mit z.b. /spawn id macht kommt noch.
So das Tut ist noch nicht ganz fertig. Weist mich bitte auf Fehler aufmerksam, wenn ich einen gemacht habe.