Schreib oben in dein Script:
#pragma dynamic 21388
Damit vergrößerst du den Heapspace ![]()
mfg. ![]()
Schreib oben in dein Script:
#pragma dynamic 21388
Damit vergrößerst du den Heapspace ![]()
mfg. ![]()
Denn mit extra Funktion eine Schleife bis 498 durchzuführen ist ja auch wirklich besser als eine Schleife die immer bis 499 geht .. .
Also das ist ja mal ein Scherz -.-
Alles anzeigen
Hallo,
anscheinend ist da noch ein Flüchtigkeitsfehler drinnen:
return CallLocalFunction("_OnPlayerConenct", "i", playerid);
Du hast _OnPlayerConenct nicht geforwardet sondern _OnPlayerConnect
forward _OnPlayerConnect(playerid);
MfG
Gutes Argument...trotzdem funktioniert es, verstehe ich gerade selber nicht ![]()
Punktewertung lasse ich aus,würde nämlich nicht positiv ausfallen.
Was würdest du denn Bewerten, den Code oder den sinnvollen Nutzen, der ja für dich irrelevant sein kann, da du es ja nicht nutzen wirst ![]()
mfg. ![]()
Sagt da aber was anderes. Du setzt die ID beim connecten auf die höchste playerid, beim verlassen ziehst du aber nur eins ab. Sinnvoller wäre es, die höchste ID zu holen (dazu wäre aber eine Schleife nötig). Das löst ganz nebenbei auch das o.g. Problem.
Nicht wirklich ![]()
Es gibt gar kein Problem, das bildest du dir gerade irgendwie ein...
Sobald die höchste Spielerid disconnected, wird der Wert um 1 reduziert, sehr richtig, das hat zwar zur folge, dass es nicht sonderlich genau ist, aber tortzdem, ist das die höchste Spielerid und somit werden alle Spieler in einer Schleife mit dieser Variable berücksicht ![]()
Wie du sagst, man bräuchte eine weitere Schleife um jetzt auf die genaue Anzahl der Spieler wieder zu stoßen, ich finde allerdings, dass ist irrelevant da ein sehr naher Wert denke ich mal völlig ausreicht ![]()
mfg. ![]()
Wenn aber 50 Spieler online sind, und die Spieler von vorne an beginnen den Server zu verlassen sinkt bei dir die höchste ID wieder, das heißt die hintersten Spieler werden einfach ignoriert.
Falsch, du hast die Include anscheinend nicht verstanden ![]()
Außerdem bringt es nicht so viel, da unbelegte Slots/IDs dennoch durchgegangen werden. Das lässt sich aber auch nicht so leicht vermeiden.
Nicht wenn MAX_PLAYERS > höchste spielerid ist (und das ist zu 99.9% der Fall) ![]()
//Edit: Sprich solange MAX_PLAYERS > höchste spielerid ist, hat meine Funktion einen Vorteil !
mfg. ![]()
Fuck
ich meinte die Standard Funktion MAX_PLAYER bzw. ein vorher deklarierter Wert
Ja eben nicht, weil bei MAX_PLAYERS die Schleife z.B. 500 oder 50x durchgeführt wird und bei mir wird genau nach der höchsten id gesucht sprich, wenn 5 Spieler online sind, wird die Schleife nur 5x durchgeführt und das ist wesentlich schneller und besser !
mfg. ![]()
ist aber nicht sichtbar...
Mach mal als Modelid 980 und wenn dann da ein Tor ist, liegt es an der modelid, dass die unsichtbar ist oder so ![]()
mfg. ![]()
modelid: 56? ist das nicht ein skin??
Das ist die Objektid ![]()
Die modelid von dem Objekt ist 1550 ![]()
mfg. ![]()
Nutze mal den Streamer ![]()
mfg. ![]()
Du musst es so schreiben:
SetPVarString(playerid,"IP",pmsg);
mfg. ![]()
Also ansich kannst du auch die Variable direkt nutzen.
Nein, da ich die Include mit einer static Deklaration gemacht habe ![]()
mfg. ![]()
Und der Aufruf der Funktion verbraucht wieder Zeit die vllt eingespart wird.
Naja, nach einem Speedtest, verbraucht diese Funktion 0 Millisekunden ![]()
und es ist besser nur 5x so eine Schleife ausführen zu lassen als 50x ![]()
mfg. ![]()
Sowas nennt man Object Streamer
You dont say ![]()
Damit war eher gemeint, omg was für einen Objekt Streamer nutzt du denn ![]()
Wenn du schon einen verwendest, dann den von Incognito am besten: http://forum.sa-mp.com/showthread.php?t=102865
selbst mit CreateObject funktioniert es nicht
Mhm, sicher das du dich zu den Richtigen Koordinaten telportierst ?
PS: und lass dir mal die modelid printen ![]()
mfg. ![]()
Hier der beste Streamer den es gibt: http://forum.sa-mp.com/showthread.php?t=102865
wie installiere ich es richtig..?
Man installiert sowas nicht ![]()
Einfach Plugin einfügen, Include includieren und CreateObject zu CreateDynamicObject verändern ![]()
mfg. ![]()
//Meine Funktion nutzt man so:
for(new i; i<GetID(); i++) //Geht die Spieler bist zur höchsten ID durch...
-.-
ganz nett
aber ich denke ich bleib doch lieber bei der Standard Schleife da man da doch mehr Möglichkeiten hat diese zu modifizieren.
Ehm...du weißt aber, dass das immer noch die Standard Schleife ist, nur das man anstatt dem Makro eine Funktion verwendet ![]()
mfg. ![]()
SetVehicleVelocity(veh, Q[4],Q[5],Q[6]);
noch zu
SetVehicleVelocity(car, Q[4],Q[5],Q[6]);
Wollen ja das neue Fahrzeug beschleunigen
Schau dir genauer meinen Code an ![]()
!TheO ,
dein Code ist falsch und unübersichtlich, schreibe hin so:
stock ChangeCar(playerid, modelid) {
if(!IsPlayerInAnyVehicle(playerid)) return 0;
new veh = GetPlayerVehicleID(playerid);
if(GetVehicleModel(veh) == modelid) return 0;
new Float:Q[7];
GetVehiclePos(veh,Q[0],Q[1],Q[2]);
GetVehicleZAngle(veh,Q[3]);
GetVehicleVelocity(veh,Q[4],Q[5],Q[6]);
DestroyVehicle(veh);
veh = CreateVehicle(modelid,Q[0],Q[1],Q[2],Q[3],-1,-1,-1);
PutPlayerInVehicle(playerid,veh, 0);
SetVehicleVelocity(veh, Q[4],Q[5],Q[6]);
return 1;
}
mfg. ![]()
Und wie änder ich des? im Script ?
Such nach diesem Wort und dann einfach SendRconCommand("loadfs bla"); das dann einfach löschen ![]()
mfg. ![]()
[14:21:02] Unable to load
Schon allein das bedeutet, dass der Server dieses Filterscript nicht laden kann, weil es vermutlich nicht mehr existiert ![]()
Da du die Filterscripts aus der .cfg entfernt hast, könnte es sein, dass das Script versucht diese zu laden mit SendRconCommand ![]()
mfg. ![]()