Es gibt doch ein "Public" wo das Script die ganze zeit dann das Leben z.B abfragt und wenn es unter 50kommt passiert dass aber welches "Public" ist das ?
[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
-
-
Das musst du dir selber scripten.
-
Es gibt doch ein "Public" wo das Script die ganze zeit dann das Leben z.B abfragt und wenn es unter 50kommt passiert dass aber welches "Public" ist das ?
Ein Script fragt schonmal gar nichts ab.Wenn dann führt der Server etwas aus, was ihm vorher per Script gesagt wurde.
Nein das ist kein Instrument -.-Das Callback was du meinst heißt "OnPlayerUpdate" und wird NICHT 50x aufgerufen und es "prüft" auch nicht irgendwelche Leben, sondern nur wenn der Server den Spieler für andere Spieler Updatet.
Das fällt unterschiedlich aus.
Nein, das ist auch kein Instrument -
Wie kann man mit einer SetObjectMaterial Funktion z.B. 5 CreateDynamicObject's versehen?
z.B.
new Textur;
Textur = CreateObject(...)
Textur = CreateObject(...)
Textur = CreateObject(...)
Textur = CreateObject(...)
Textur = CreateObject(...)
SetObjectMaterial(Textur, ...) -
Nein
-
Hatte es unter OnPlayerUpdate
und jetzt geht es -
Meine Frage besteht immer noch:
Wie kann ich ein verschlüsseltes Passwort (mit Whirlpool) mit dem eingegeben Passwort vergleichen? -
Du verschlüsselts das eingegebene Passwort ebenfalls.
Nun hast du das gespeicherte und neue Passwort und nun vergleichen:
if(!strcmp(Passwort1, Passwort2, true)) //Sind gleich
else //Sind nicht gleich -
Wie frag ich nochmal ab ob der User seinen namen selbst hingeschrieben hat?
case DIALOG_UWU:{
if(response){
if(strlen(inputtext) > 1){
new query[128];
format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s'",inputtext);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() != 0){ -
erst mit GetPlayerName den Namen auslesen
Und dann mit inpuutext wie im Beitrag über dir von mir bereits gezeigt mit strcmp vergleichen -
-
Du verschlüsselts das eingegebene Passwort ebenfalls.
Nun hast du das gespeicherte und neue Passwort und nun vergleichen:
if(!strcmp(Passwort1, Passwort2, true)) //Sind gleich
else //Sind nicht gleich
Wenn ich also diese Zeile habe:
if(strcmp(MD5_Hash(inputtext), mysql_ReturnPasswort(PlayerName), true))
Und dann das Passwort eingebe, wird mir angezeigt das es falsch wäre. -
if(!strcmp(GetPlayerName ..
und weiter?
-
Das ist es: Ich komme nur zum speichern. Das klappt auch super - doch wie kann ich es dann vergleichen?
(Ja, der String is 129 zeichen lang)
du hast verschiedene möglichkeiten den string auszulesen und ihn mit strcmp zu vergleichen oder das gleich per SQL Command abwickeln in dem du das PAsswort als WHERE clausel benutztes wurde schon gepostet du hast das ausrufe zeichen vergessen da strcmp sollte der string gleich sein 0 zurück gibt und nicht 1
-
Ein wenig Selbstinitiative wäre auch gut
Also die Funktion von GetPlayerName geht so:
GetPlayerName(playerid, Variable, Größe der Variable);
Also nun erstmal:
new SpielerName[MAX_PLAYER_NAME]; //MAX_PLAYER_NAME ist in den von Samp mitgelieferten Includes schon definiert.
GetPlayerName(playerid,SpielerName,MAX_PLAYER_NAME); //Nun besitzt die Variable SpielerName den Wert des Namens also den Namen :D
//inputtext enthält das was du eingegeben hast und nun vergleichen:
if(!strcmp(SpielerName, inputtext, true)) //Ist gleich
else //ist nicht gleich -
if(!strcmp(SpielerName, inputtext, true))
und wenn ich das auf false setze dann heißt es, wenn er seinen namen eingibt dann?
-
nein wenn du das auf true hast dann fragt er ab ob die beiden gleich sind.
wenn du auf false machst, wird die abfrage verneint. -
du hast verschiedene möglichkeiten den string auszulesen und ihn mit strcmp zu vergleichen oder das gleich per SQL Command abwickeln in dem du das PAsswort als WHERE clausel benutztes wurde schon gepostet du hast das ausrufe zeichen vergessen da strcmp sollte der string gleich sein 0 zurück gibt und nicht 1
Danke dir und Simon, klappt endlich
-
Achso, habs jetzt kapiert Danke
-
Hallo ich habn prob mit Dini ich möchte gerne ein PW Speichern aber er sagt mir immer wieder die selbe fehler meldung
enum StatistikSystem2{ sPW[128],}new PasswortSystem[MAX_PLAYERS][StatistikSystem2];
OnPlayerConnect
new save4[256];GetPlayerName(playerid, name, sizeof(name));format(save4, sizeof(save4), "Spieler/Passwort/%s.ini", name); if (!dini_Exists(save4)) { dini_Create(save4); dini_Set(save4, "Passwort", PasswortSystem[playerid][sPW]); } if(fexist(save4)) { PasswortSystem[playerid][sPW] = dini_Get(save4, "Passwort"); }OnPlayerDisconnect
format(save3,sizeof(save3),"Spieler/Passwort/%s.ini",isim); if(fexist(save3)) { dini_Set(save3, "Passwort", PasswortSystem[playerid][sPW]); }OnPlayerUpdate
new isim2[MAX_PLAYER_NAME]; GetPlayerName(playerid,isim2,sizeof(isim2));
format(save2,sizeof(save2),"Spieler/Passwort/%s.ini", isim2); dini_Set(save2, "Passwort", PasswortSystem[playerid][sPW]);Fehler
xxx.pwn(449) : error 047: array sizes do not match, or destination array is too small
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.Zeile 449 ist
PasswortSystem[playerid][sPW] = dini_Get(save4, "Passwort");Ich geh echt kaputt ich habe soviele tuts geguckt ich finde den fail einfach nicht
MfG
Mr.PacMan -
Das geht nicht bei 2dimensionalen Arrays daher musst du strcat benutzen format geht auch wie memcpy und so weiter aber generel empfehle ich strcat solang der
string auch dann leer ist. -