danke danke danke danke ![]()
es klappt wieder ohne lagg
vielen dank ![]()
danke danke danke danke ![]()
es klappt wieder ohne lagg
vielen dank ![]()
OnPlayerUpdate ist ein Standart-SA:MP Callback. Es wird immer aufgerufen wenn ein Spieler mit den anderen Clients synchronisiert wird - Das sind pro Sekunde ~ 20-50 Mal. Jeder der in diesem Callback Accounts updatet, ist einfach nur dumm.
dann bin ich ja 1. dumm und 2. hab ich wieder was gelernt.. also sollte man dort am besten einfach nix drinhaben und das "update der spieler" in ein eigenes callback nehmen?
MFG
2. Zu Vieles unter OnplayerUpdate da dies automatisch alle 2 sek glaube augerufen wird.
3. Glaube ich wenn du zu oft alle spieler Abfragst.
2. bei mir wird OnPlayerUpdate überhaupt nicht alle 2 sekunden aufgerufen.. es wird höchstens in SaveAccounts() aufgerufen und dort jede halbe stunde (1800000 ms)
3. und wie merkt man das? in den einzelnen timer?
SetTimerEx... bei mir ist alles in SetTimer, wie ist das gemeint mit "nur pro Spieler"? in den publics, die die Timer aufrufen, ist immer ein for drin..
MFG
Alles anzeigenif (strcmp(cmdtext,"/abfluss", true) == 0)
if(IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid,2086.774658, -115.921486, 4655.928711);// Abfluss
}
else
{
SendClientMessage(playerid,COLOR_GRAD2, "Du bist in keinem Fahrzeug!");
}
}
return 1;
}
Versuchs mal so
naja, doppelklammerfehler nach sendclientmessage... würde net gehen...
edit: mit der zusätzlichen klammer würde es gehen
gut korrigiert schooter
if (strcmp(cmdtext,"/abfluss", true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid,2086.774658, -115.921486, 4655.928711);// Abfluss
}
return 1;
}
versuch mal so
edit: bei dir fehlt eben die klammer ({) vor If(IsPlayerInAnyVehicle)...
komisch das das passiert, vorgestern gings noch ohne probleme (und ohne veränderung am script!) und dann auf einmal das ![]()
und was is wenn der server nur die hälfte macht? d.h. er fängt an, und hört mitendrin auf und es läuft zwar normal, aber alles reagiert viel später, also nicht nach 1er sekunde, wie im timer eingestellt, sondern nach irgendwie 30 sekunden oder so... auch die autos werden nicht richtig gespawnt etc.
wie "er lässt sich nicht einschalten"? Das musst du im BIOS machen, hast da sicher irgendwo einen Punkt.
Hast du dich einfach im Debugmodi hingestellt und /save gemacht? Einige Objekte haben optisch/kollisionstechnisch nicht die Höhe, die man angibt. Setz einfach die Z Koordinate tiefer
ja, zu faul zum mappen
hmm ich versuchs mal (hab ich aber glaub schon mal)..
Welches Object?
1415, Container...
edit: hat geklappt mit der z-koordinate thx ![]()
Hallo leute
ich erstelle ca. 20 objekte in LV verteilt. Diese hängen aber in der luft, obwohl die Z achse des Objektes die Höhe vom Boden hat (habs getestet im debug modus mit /save).
Wie kommt das?
(Objekte werden mit CreateObject erstellt)
MFG
Mit Timer ist keine Grandiose idee,er würde zugespammt werden da sich der Timer Ständig Wiederhohlt
jo, hab ich auch gerade überlegt ![]()
die idee von markus ist aber schon besser ![]()
Markus: auch für nen timer brauchst nen forward ![]()
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Flughafen System bei [AM]_Alex / Alex2009");
print("--------------------------------------\n");
flughafen559 = GangZoneCreate(2127.8147, 2131.0520, 1394.8645, 1396.4937);
SetTimer("OnPlayerEnter",1000,1); //jede sekunde OnPlayerEnter überprüfen
}
warum hast du
SendMessage(playerid,color,const string[]);
definiert, wenn du es nicht brauchst?
MFG
hmm.. ich hab dich icq geaddet
in
stock PlayerNearPlayer(Float:radius, playerid, targetid)
hast du ja den Radius, also den radius um den spieler (playerid) und targetid ist das ziel, also z.B. ein anderer Spieler.
d.h.
mach statt if(PlayerNearPlayer(5.0, playerid, enemy)) das:
if(PlayerNearPlayer(5.0, playerid, targetid))
dann is es auch definiert
du musst targetid nehmen ![]()
stock PlayerNearPlayer(Float:radius, playerid, targetid) // by Bullet
{
new Float:fpX, Float:fpY, Float:fpZ;
GetPlayerPos(targetid, fpX, fpY, fpZ);
if(IsPlayerInRangeOfPoint(playerid, radius, fpX, fpY, fpZ))
{ return 1; }
else
{ return 0; }
}
vielleicht steht im script beim kick befehl
if(PlayerInfo[playerid][pAdmin] == 1337) und net if(PlayerInfo[playerid][pAdmin] >= 1337)
(beispiel aus GF)
irgendwie fehlt dir die geschwindigkeit (Float: Speed) => http://wiki.sa-mp.com/wiki/MoveObject
bei /tc (z.B.):
MoveObject(Gate1,-1051.770386, -1238.606567, 130.323395, 4);
und bei /to (z.B.):
MoveObject(Gate1,-1052.014282, -1238.647705, 124.307549, 4);
die 4 hinten kannst du ersetzen ![]()
edit: die ID (980) musst du gar net mehr dazugeben, die is ja beim Gate1 drin ![]()
Meine freße, und solche Leute wollen einen RL Server machen, wieso
denkt ihr selbst nicht mal nach bevor ihr was postet, nur weil die meißten keinen bock haben selbst hinzugriegen
müssen andere den dummen Fehler eklären...
Klar ist coords undefined, weil du dort auch die COORDINATIONEN eintragen sollst
![]()
das heisst koordinaten ![]()
und am besten einfach nix dazu schreiben ![]()
ich hab zwar das script net, aber das wäre doch net so schwierig zum machen ![]()
du brauchst einfach den befehl zum autospawnen (in gf => /veh)
dann kannstes eigentlich selber machen ![]()