Variablen findest um im oberen Teil des Scripts.
Und merke : Als Anfänger solltest du nicht so ein großes Script benutzen oder es gar davon zu lernen , weil es für dich zu komplex ist oder werden kann.
Variablen findest um im oberen Teil des Scripts.
Und merke : Als Anfänger solltest du nicht so ein großes Script benutzen oder es gar davon zu lernen , weil es für dich zu komplex ist oder werden kann.
Ich habe das Script nicht benutzt / werde ich auch nicht machen.
Vorab:Wir wissen, es gibt eine Variable die den savepunkt X,Y,Z gespeichert hat.
Beispiel:
enum Haussystem
{
X_POS
Y_POS
Z_POS
};
new Haus[MAX_PLAYERS][Haussystem];//natürlich benutzen wir ein enum um die Variable in einem Multi Array zu speichern
Wir haben jetzt eine Variable mit den (definierten Positionen die ich nicht schreiben werde)Positionen (X,Y,Z)
Wenn ein Haus erstellt wird werden diese Positione (ordnungsgemäß) mit erstellt.
Zum erstellen einer Position an der man spawnen will muss man eine Variable aufstellen die man auch benutzt ( wie in einem Befehl)
Haus[playerid][X_POS,Y_POS,Z,POS] , je nach bedarf.
Falls du das Chema verstanden hast , kannst du es benutzen.
Wenn die globale Variable new Spielerdatei[MAX_PLAYERS][Benzin] ist ( ist natürlich eine feststellung , weil du keine Variable angegeben hast -.-)
Also müsste es so gehen
Vorab:Wir wissen das der Wert natürlicherweise 100 sein muss (max. Wert)
if(Spielerdatei[playerid][Benzin] = 100);
{
Code//
Hier könnte was entstehen , was bei der Variable die den Wert 100 beträgt , passieren kann.
Beispiel:
SetPlayerDeath(playerid,0); Spieler stirbt,istzwar sinnlos aber ist ja nur ein beispiel.
}
Wenn das deine Frage beantwortet oder wenn das deine Frage garnicht entspricht. dann ja...
Ressourcen nicht nur oder eig. garnicht...
Lediglich fast keine Funtkionen.
//edit es ist ziemlich langsam.
Laggen?
Mit 1300 Zeilen?
Vielleicht Ressourcendfressend was ich aber stark bezweifle .
Mit CreateObject können nur eine kleine Anzahl an Objekte gestreamt werden.
Wird die Zahl höher ,kánn es sein dass ein Spieler im gewissen Radius die gestreamte Objekte nicht mehr sehen kann,oder erst spät.
Um die Leistung des Streamen zu erhöhen muss du einen Objektenstreamer benutzen.
Dazu bräuchte ich eine Website oder Root womit ich den Usern die neue Version rüberschicken kann.
Und damit hatte ich nicht nie was gemacht , aber ich denke für ein klein FS ist das nicht nötig , was heißt klein wird ja größer
Errors nicht
Sondern Warnings und diese besagen, dass die Zeilen verschoben sind
Aber so ist pastebin halt...
Ehrlich?
Habe ich garnicht gesehen.
F_Waffenspawner
Hiermit veröffentliche ich ein Filterscript namens F_Waffenspawner.
In folgenden Schritten werde ich möglich viel aufdecken, was es sich hierbei handelt.
Was ist das ?
Einfach.Es ist ein Filterscript, was von bestandteilen her leicht zu verstehen ist.
Dieses System ist in der Beta-Phase, was von Vorteilen ist, sprich ich als Entwickler kann Bugfixxes durchführen, das System weiterausbauen, vondaher auch Updates, man kann das System Dynamischer machen, indem man beispielsweise das System ressourcensparender macht.
Wozu wird das benutzt?
Es wird hauptsächlich benutzt , um diversen Waffen zu spawnen, wie Desert-Eagle oder Miniguns.
Es wird aber auch von den Downloadern benutzt, für sich oder für den Server.Beispielsweise kann man auf einen Deathmatch-Server, die vom Namen her, Spielern auf diese Weise Waffen geben zu können.
Werden Updates folgen?
Ja, aufjeden Fall.Dazu habe ich viele nützliche Ideen gefunden, die ich auch in die Tat bringen werde.
Ich werde mich bemühen heute noch das Update(Version 0.02) hier zu releasen.
Von wem wurde das Filterscript erstellt?
Alle Credits (c) gehen an Forbidden.
Schlusswort:Wenn Ihr dieses Filterscript in irgenteine Weise benutzt, dann bitte ich euch volle Credits über dieses Filterscript zu geben.
Download:http://pastebin.com/GnDrS0BK
Nein,
IsPlayerInRangeOfPoint besagt nur dass du in der Nähe eines Puntes sein musst ,um etwas machen zu können.
Fals du im Interior drinne bist und raus willst musst du das wiederholen um wieder raus zu kommen ...
Sprich irgentwo IsPlayerInRangeOfPoint + X,Y,Z und dann muss du die X,Y,Z vom Endpunkt hintippen.
Alles anzeigenJa also Ich hab grad nen Fail hab nen 24/7 gemacht und der einzige der Funktioniert ist der ohne Virtual world...
Also Ich komm bei jedem rein aber nichtmehr rauss z.B hier ein bsp.
else if(IsPlayerInRangeOfPoint(playerid, 2.0,999.1728,-920.1800,42.1797))//24/7Shops19 am BSN Tanke
{
SetPlayerVirtualWorld(playerid,3);
SetPlayerPos(playerid,-25.132598,-139.066986,1003.546875);
SetPlayerInterior(playerid, 16);
SetCameraBehindPlayer(playerid);
return 1;
}
else if(IsPlayerInRangeOfPoint(playerid, 2.0, -25.132598,-139.066986,1003.546875))//24/7Shops19 BSN Tanke Ausgang
{
if(GetPlayerVirtualWorld(playerid) == 3)
{
SetPlayerVirtualWorld(playerid,0);
SetPlayerPos(playerid,999.1728,-920.1800,42.1797);
SetPlayerInterior(playerid, 0);
}
}
Gruß und danke schonmal
//e keiner ne Ide? Ich bin schon seit gestern da dran und Funktioniert immernochnicht...
if(GetPlayerVirtualWorld(playerid) == 3)
Das ist bei dem zweiten da und nicht beim ersten , möglicherweise liegt es daran. Korrektion:
else if(IsPlayerInRangeOfPoint(playerid, 2.0,999.1728,-920.1800,42.1797))//24/7Shops19 am BSN Tanke
{
if(GetPlayerVirtualWorld(playerid) == 3)
{
SetPlayerVirtualWorld(playerid,3);
SetPlayerPos(playerid,-25.132598,-139.066986,1003.546875);
SetPlayerInterior(playerid, 16);
SetCameraBehindPlayer(playerid);
return 1;
}
}
sorry bischen verschoben
Fals jemand Punkbuster kennt , der seit 0.2 bei samp dabei war(oder noch früher) , weiß dass dieses System rausgenommen wurde , weil es einfach nicht das gemacht hatte ,was sich das Team von sa-mp erhofft hatte.
Und seitdem wurde es auf die Scripter geschoben , sich selber um die Cheater zu kümmern.
enum Teams
{
punktezahl1,
punktezahl2
};
Dann so.
Variable wird aktualisiert wenn jemand ein Punkt erzielt
sprich [++]
//edit
Alles anzeigenNur mal so.
new gPlayer(playerid);
Ist dumm.
Wenn wäre es
new gPlayer[playerid];
Da es aber eine Playereigene Variable sein soll muss es so sein:
new gPlayer[MAX_PLAYERS];
Nein?
[MAX_PLAYERS] heißt lediglich dass gPlayer an alles Player , also die Maximale Anzahl an Spielern auf den Server.
Ja genau.
aber wenn schon so:
enum Teams
{
Team1,
Team2
};
Nur so als Beispiel.
Durchaus.
Aber was ich getippt habe , waren nur Vars die Fahrzeuge ersetzen , wenn du Team hast , nenne die Variablen nach den Variablen der enums.
format (gmxansage, sizeof(gmxansage), "In %i Minuten ist GMX. Bitte beginne nichts Neues vor dem GMX!", time);
anstat das %s , muss da ein %i hin.
%s = string
%i = Interger
//edit
if(gun < 1||gun > 46)
{ SendClientMessage(playerid, COLOR_GRAD1, " wrong WeaponID!"); return 1; }
Wie wir sehen sagt er , dass die ID nicht existiert.
Der Gun wert ist zwischen 1 und 46 , das heißt die Minigun muss in da sein , wenn nicht ist sie nicht aufgelistet.
Einfach.
Du erstellst beliebige Fahrzeuge unter OnGameModeInit()
Diese Fahrzeuge kennzeichnest du mit Variablen die zum derweiligen Team gehört.
Beispiel:
new Team1;
new Team2;
new CP;
Team1 = [0]AddStaticVehicle(Model,x,y,z)
Team2 = [0]AddStaticVehicle(Model,x,y,z)
So, für je ein Team ist ein Fahrzeug erstellt worden.
Und unter OnGameModeInit erstellen wir ein Checkpoint
CP = CreateCheckpoint(x,y,z);
Wir rufen den Callback OnPlayerEnterCheckpoint
If(IsPlayerInRangeOfPoints(playerid))// es gibt viele andere Varianten aber ich nehme diese , undzwar wenn er in der nähe ist , bekommt der ein Punkt , Koordinaten musst du dann variiren.
{
SetPlayerScore(playerid,1)//dann bekommt er ein Score, du wolltest es mit einem TD , so in der Art kann man das auch machen.
}