damit
Ja...und wann wo und wie wird das aufgerufen..und wie rufst du die andere Funktion auf...
Der ausschnitt bringt mir allein ja nix ![]()
damit
Ja...und wann wo und wie wird das aufgerufen..und wie rufst du die andere Funktion auf...
Der ausschnitt bringt mir allein ja nix ![]()
Bekomme ingame aber keine Meldung
Du hast GetPlayerName vergessen ![]()
Die zeilen dazu:
Was für einen Sinn hat denn new id = i+1; ?
Das ist Blödsinn, nutze anstatt id nur i.
bekomme immer nur ID 1 bei getFreeGroupID
Dann ist diese Wohl auch immer frei.
Wie belegst du denn die Gruppen? ![]()
und 3 Zahlen minimum, aber wie frage ich das?
strlen gibt dir die String-Länge.
Und in der Abfrage steht len >= 6 && len <= 12 ...was bedeutet...die länge muss mindestens 6 sein und kleiner gleich 12.
Und LeonMrBonnie meinte mit strval dass es sich um einen Zahlenwert handelt, das macht ja aber keinen Sinn, weil die Länge ja mind 6 sein muss xD
Also die richtige Abfrage ist das hier:
Wieso machst du es dir immer so kompliziert, die ganzen Dinge kann man einfacher schreiben:
format(SpielerInfo[playerid][pRPName], MAX_PLAYER_NAME, inputtext);
PlayerTextDrawSetString(playerid, loginscreen[playerid][32], inputtext);
SetPlayerName(playerid, inputtext);
Es reichen die 3 Zeilen hahaha ![]()
Und bei dem speichern das hier:
stock SaveAccount(playerid)
{
new query[2048];
format(query, sizeof(query), "UPDATE `accounts` SET `level`='%i',`adminlevel`='%i', `fraktion`='%i', `geld`='%i', `verwarnung`='%i', ",
SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pAdmin], SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pVerwarnung]);
format(query, sizeof(query),"%s`alter`='%i', `rank`='%i', `banned`='%i', `sex`='%i', `skin`='%i', `textsperre`='%i', `rpname`='%s' ",
query,SpielerInfo[playerid][pAlter], SpielerInfo[playerid][pRank],SpielerInfo[playerid][pBanned], SpielerInfo[playerid][pSex],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pTextsperre],SpielerInfo[playerid][pRPName]);
format(query, sizeof(query), "%sWHERE `name`='%s' ", query, GetName(playerid));
mysql_tquery(MySQLConnection,query);
print(query);
return true;
}
Alles anzeigen
und schau dir doch einfach an, was das print hier ist, bzw der query ![]()
Kannst auch in den MySQL Log schauen, da werden dir sogar Fehler angezeigt ![]()
oder du nimmst das query und führst es 1:1 mal in PHPMyAdmin aus, da werden dir dann auch Fehler direkt angezeigt ![]()
Steht denn im MySQL Log, dass dieser query erfolgreich ausgeführt wurde? ![]()
Nein...ich meine im Code...den Log hatteste doch schon gepostet ![]()
Was steht denn alles bei dir unter OnGameModeExit? ![]()
In anderen Sprachen macht es Sinn hier double/float Werte zu nehmen.
In Pawn meiner Ansicht nach nicht.
Es treten einfach zu starke Rundungsfehler auf, die man nicht so leicht beheben kann.
Ich empfehle dir daher wirklich 2 Integer zu nehmen.
//Edit:
PS: Gibt dafür bereits auch schon fertige Systeme: https://forum.sa-mp.com/showthread.php?t=276588
Einfach mal googlen ![]()
crashdetect sagt der streamer ist schuld, das laden geht
Würdest du uns die vollständige crashmeldung aus dem Server Log denn gerne zeigen? ![]()
hatte vor damit ein System zu machen das man einen seil hoch geht wie soll ich vorgehen oder geht das net
Doch da gibt es einige Systeme:
Link zum Grabble Hook: https://forum.sa-mp.com/showthread.php?t=266187
weiß nicht wie ich es abfragen soll, habe so etwas noch nie gemach
Hä? Habe ich doch beschrieben wie du das machst...
Und wenn du auf [wiki]GetPlayerKeys[/wiki] klickst, bekommst du doch sogar ein Beispiel ![]()
Also ich find das Gebäude jetzt gar nicht so schlecht, aber ich musste etwas schmunzeln, als ich das Dach gesehen habe...
Diese Form...alsoo was genau soll das darstellen? hahaha ![]()
Ist es möglich ein Fahrzeug langsamer beschleunigen/bremsen zu lassen?
Ja, das ist möglich durch die Funktion [wiki]SetVehicleVelocity[/wiki].
Unter OnPlayerUpdate könntest du probieren mit [wiki]GetPlayerKeys[/wiki] herauszufinden, ob er gerade beschleunigt oder bremst.
Dann kannst du mit [wiki]GetVehicleVelocity[/wiki] auch die genaue Geschwindigkeit bestimmen und dann entweder schneller bremsen oder beschleunigen lassen, indem du die aktuelle Velocity in die jeweilige Koordinaten Richtung erhöhst.
Hier mal ein paar Funktionen, die dir evtl helfen:
stock GetVehicleSpeed(vehicleid)
{
new Float:x,Float:y,Float:z;
GetVehicleVelocity(vehicleid,x,y,z);
return floatround(floatmul(VectorSize(x,y,z),200.0));
}
stock SetVehicleSpeed(vehicleid, Float:speed)
{
new Float:x, Float:y, Float:z, Float:a;
GetVehicleVelocity(vehicleid, x, y, z);
GetVehicleZAngle(vehicleid, a);
x = floatsin(-a, degrees) * floatdiv(speed,200.0);
y = floatcos(-a, degrees) * floatdiv(speed,200.0);
SetVehicleVelocity(vehicleid, x, y, z);
}
Alles anzeigen
Kann immernoch Befehle Spammen,
Das ist der falsche Callback...du musst das unter OnPlayerCommandReceived packen...
Und dann glaube ich auch mit return 0; musst nochmal nachlesen.
CreateObject oder wie ?
....gibt es noch andere Wege Objekte zu erstellen? ![]()
#Handy
...solltest vielleicht mal den Log durchgehen, 50% Fehler ![]()
Aber da findet man nichts.
Dann solltest du schauen, wie der Fehler ansonsten verursacht werden könnte abgesehen durch die mysql Funktionen.
Eventuell mal crashdetect inkludieren...andere Parameter...schau mal in die SuFu, gerade keine Zeit.
Gibt es eine Möglichkeit die Fahrzeuge auf einem Packer (ID 443 / Son LKW wo man Fahrzeuge rauf fahren kann), zu freezen, dass die nicht runter fallen ?
Nicht sehr gut.
Besser wäre es ein Auto Objekt zu nehmen und dieses an den Schlepper zu attachen.
Attempted to read/write array element at index 65535 in array of size 2000
Schau mal diese Zeile an, was sagt uns das?
array of size 2000. Das bedeutet du hast irgendwo ein Array mit MAX_VEHICLES deklariert
und versuchst auf den index 65535 zuzugreifen.
65535 entspricht INVALID_PLAYER_ID.
Ich kenn jetzt deinen Code nicht, schau doch einfach mal die einzelnen Variablen an und überlege, welcher den Wert INVALID_PLAYER_ID haben könnte ![]()
Ja...wieso machst du das nicht einfach? ![]()
new string[128];
format(string,sizeof(string),"Spieler ist noch %d Sekunden im Krankenhaus!", PlayerInfo[pID][pTotUnix]-gettime());
GameTextForPlayer(playerid, string, 5000, 5);
Aber ich empfehle dir ein TextDraw oder sowas...GameTexte sind eigentlich immer sehr ungeeignet ![]()
Pack den Log in pastebin ![]()
Nein der Ausschnitt bringt mir nix...