Willst du das aktuelle Alter oder den Geburtstag speichern?
Wird es dir in der Nachricht korrekt ausgegeben? Wenn ja, dann lasse dir das Query mal printen. Sofern das korrekt ist, schaue in den MySQL Log, ob dort ein Fehler ausgegeben wird.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
ich möchte den aktuellen Alter gespeichert haben.
Folgendes wird im Chat ausgeschrieben wenn ich nen Geburtsdatum angebe:
Aber diese Zahl '17' speichert er mir nicht ab...
Versuche jetzt mal kurz den Query zu checken.//Edit:
Mein Fehler, hatte mysql_function_query vergessen. Als ich den verbesserten MySQL Statement von dir kopiert habe war dann diese Funktion weg.
Funktioniert aber, danke für deine Hilfe wegen dem MySQL Statement -
Kann man strcmp mit switch benutzen?
Beispiel wo ichs versucht habe:
new pID, auswahl[12];
if(!isPlayerInFrakt(playerid,3))return SendClientMessage(playerid,CLR_RED,"Fehler: Du bist kein Fahrschullehrer.");
if(sscanf(params,"us",pID,auswahl))return SendClientMessage(playerid,CLR_RED,"Fehler: Benutzung: /givelic [playerid] [carlic/bikelic/planelic/weaponlic]");
switch(strcmp(auswahl))
{
case "carlic":
{
return 1;
}
} -
Kann man strcmp mit switch benutzen?
Beispiel wo ichs versucht habe:new pID, auswahl[12]; if(!isPlayerInFrakt(playerid,3))return SendClientMessage(playerid,CLR_RED,"Fehler: Du bist kein Fahrschullehrer."); if(sscanf(params,"us",pID,auswahl))return SendClientMessage(playerid,CLR_RED,"Fehler: Benutzung: /givelic [playerid] [carlic/bikelic/planelic/weaponlic]"); switch(strcmp(auswahl)) { case "carlic": { return 1; } }
Ich habs noch nie versucht aber ich glaub nicht das das klappt
Aber ja Probiern geht über Studiern -
ja das klappt guck mal in ein Godfather bei /givelic ist das meistens so gemacht wir du es brauchst
-
Kann man strcmp mit switch benutzen?
Könnte man, aber die Frage ist, ob das Sinn macht, was du da vor hast.
strcmp gibt lediglich nur 0 oder 1 zurück.Daher würde ich das so schreiben:
Und dann mit deinem case weiter, wie du es bereits hast.
-
Guten Abend,
ich habe eine Frage undzwar möchte ich nen Job etwas erweitern ( den Müllmannjob ).
Mit nem InGame Editor habe ich den AttachObject positioniert, dass Problem ist nur wenn ich laufe dann ist die Mülltonne im Körper drinne...Daher meine Frage wie kann ich das am besten "umgehen" oder einstellen?
Brauch ich ne Animation oder welchen Attach-Index sollte ich nehmen?
( Habe Index-ID '5' ausgewählt ... )Kann mir einer weiterhelfen?
Vielen Dank im Vorraus -
Du brauchst eine Special Action..und zwar Carry.
und beim Attachen solltest du AttachObjectToPlayer verwenden
-
Vlt eine Animation hinzufügen damit er nicht laufen kann ?
-
Du brauchst eine Special Action..und zwar Carry.
und beim Attachen solltest du AttachObjectToPlayer verwenden
Ah danke genau das habe ich gesucht
Ne Frage zu AttachObjectToPlayer, kann ich die BoneID '5' lassen?Vlt eine Animation hinzufügen damit er nicht laufen kann ?
Nee das habe ich nicht vor, denn ich möchte das der Spieler mit der Tonne dann laufen kann.
Dann kann er ja nicht zum Müllwagen etc... -
Nein ich meine Rennen im Sinne von Sprinten
-
Nein ich meine Rennen im Sinne von Sprinten
Was redest du....
Mit Animationen kann man sich nicht bewegen...mit der Carry Special Action kann man nur laufen...
kann ich die BoneID '5' lassen?
Da gibts keine bones...nur relative Koordinaten...
Der Mittelpunkt deines Spielers ist 0,0,0...musst halt dann was erhöhen damit die vor die ist..
-
Da gibts keine bones...nur relative Koordinaten...
Der Mittelpunkt deines Spielers ist 0,0,0...musst halt dann was erhöhen damit die vor die ist..
Ja hast recht, sry.
Wiki regelt
( hier )//Edit:
@Kaliber:
Ich bekomme die Animation kann laufen aber das Objekt wird mir nicht angezeigt, geschweige am Spieler Atteched...Codenew testobjt; testobjt = CreateObject(1409, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); AttachObjectToPlayer(testobjt, playerid, 0.98,-0.10,-0.60,0.0,-87.0,304.0); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
Wiki:
AttachObjectToPlayer(objectid, playerid, Float:OffsetX, Float:OffsetY, Float:OffsetZ, Float:rX, Float:rY, Float:rZ);Der InGame Attach Editor hat mir folgende Koordinaten gespeichert:
0,1409,5,0.98,-0.10,-0.60,0.0,-87.0,304.0,1.00,1.00,1.00
davon brauche ich ja nur
0.98,-0.10,-0.60,0.0,-87.0,304.0Was habe ich denn falsch gemacht das dass Objekt nicht Atteched wird?
Ich vermute mal ein kleiner Denkfehler... -
Kann man strcmp mit switch benutzen?
Ein switch über einen String ist nicht möglich, man muss hier mit strcmp und if-else arbeiten.
Keiner der geposteten Vorschläge wird funktionieren.
-
Guten Abend alle zsm,
Ich habe versucht ein SHA256 Hash einzubauen in mein Login/Registersystem, doch leider funktioniert es nicht ganz.
In der Datenbank bzw. Tabelle wird der Hash und der Salt gespeichert, nur zurück, beim Login, funktioniert es irgendwie nicht
Ich denke es wird ein Fehler im Logindialogbereich sein, da hash und pPassword nicht richtig gesetzt sind denke ich, aber wirklich finden tue ich den Fehler nicht
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(!response) return Kick(playerid);
if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERNAME "- Registration", "Bitte registriere Dich:\n{FF0000}Mindestens 4 Zeichen!", "Ok", "Abbrechen");
new query[256], salt[11];
for(new i; i < 10; i++){
salt[i] = random(79) + 47;
} salt[10] = 0;
SHA256_PassHash(inputtext, salt, pData[playerid][pPassword], 65);
mysql_format(handle, query, sizeof(query), "INSERT INTO `accounts` (`username`, `password`, `salt`) VALUES ('%e', '%e', '%e')", pData[playerid][pName], pData[playerid][pPassword], salt);
mysql_pquery(handle, query, "OnPlayerRegister", "d", playerid);
return 1;
}
case DIALOG_LOGIN:
{
if(!response) return Kick(playerid);
if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, #SERVERNAME "- Anmeldung", "Bitte logge Dich ein:\n{FF0000}Mindestens 4 Zeichen!", "Ok", "Abbrechen");new query[256], hash[65];
SHA256_PassHash(inputtext, pData[playerid][pSalt], hash, 65);
mysql_format(handle, query, sizeof(query), "SELECT * FROM `accounts` WHERE `username` = '%e' AND `password` = ('%e')", pData[playerid][pName], hash);
mysql_pquery(handle, query, "OnPlayerLogin", "d", playerid);
return 1;
}
}
return 0;
}Hoffe mir kann wer weiterhelfen und danke im voraus .
Mit freundlichen Grüßen
KazutoSensei -
Ein Salt muss statisch sein logischerweise
Kannst den doch nicht immer wieder neu generieren
-
Ein Salt muss statisch sein logischerweise
Kannst den doch nicht immer wieder neu generieren
Ich bin ehrlich, ich habe es aus http://forum.sa-mp.com/showthread.php?t=581336 versucht in Jeffrys MySQL einzubaun.
Doch weiß ich nicht genau was du meinst, ich gehe davon aus, dass du von der Schleife sprichst, die habe ich wie gesagt so übernommen, weil ich keinen Fehler machen wollte.Grüße
-
Würde aller Code dadrunter ausgeführt werden?
Logisch wäre nein, weiß aber nicht ob return SendClientMessage einen ähnlichen Effekt hat wie return 1; (was auf jeden Fall die Schleife stoppen würde)
for(o=0;o<GetMaxPlayers();o++)
{
if(!IsPlayerConnected(o))continue;
if(playerlotto[o]<=0)return SendClientMessage(o,CLR_YELLOW,"Du hattest dir kein Lottoschein geholt.");
if(playerlotto[o]!=lottozahl)return SendClientMessage(o,CLR_YELLOW,"Du hast Leider nicht gewonnen! Nächstes mal jedoch bestimmt.");
//? -
Nein der Code wird nicht ausgeführt, wenn der Spieler nicht die Lotto Zahl gekauft hat.
-
Ich denke es wird ein Fehler im Logindialogbereich sein, da hash und pPassword nicht richtig gesetzt sind denke ich, aber wirklich finden tue ich den Fehler nicht
Kannst du bitte mal den Code posten, mit dem du abfragst, welcher Dialog dem Spieler angezeigt werden soll (Login/Register)? Und das MySQL Query dazu.
Eventuell fehlt dort das Laden des Salts aus der Datenbank.