[SAMMELTHREAD] Kleine Scripting Fragen

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
  • //EDIT


    Wie mache ich das am besten? so bekomme ich folgene errors:


    [06.05.2020 13:28:00]D:\iTsMaho Selfmade\pawno\include\selfmade\stocks.inc(564) : error 047: array sizes do not match, or destination array is too small

    [06.05.2020 13:28:00]D:\iTsMaho Selfmade\pawno\include\selfmade\stocks.inc(565) : error 047: array sizes do not match, or destination array is too small

    [06.05.2020 13:28:00]D:\iTsMaho Selfmade\pawno\include\selfmade\stocks.inc(566) : error 047: array sizes do not match, or destination array is too small

    [06.05.2020 13:28:00]D:\iTsMaho Selfmade\pawno\include\selfmade\stocks.inc(567) : error 047: array sizes do not match, or destination array is too small

    [06.05.2020 13:28:00]D:\iTsMaho Selfmade\pawno\include\selfmade\stocks.inc(568) : error 047: array sizes do not match, or destination array is too small

    [06.05.2020 13:28:00]D:\iTsMaho Selfmade\pawno\include\selfmade\stocks.inc(569) : error 047: array sizes do not match, or destination array is too small


    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


    3 Mal editiert, zuletzt von Maho ()

  • Beitrag von Kaliber ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • wie mache ich es wenn ich mich mit einem Fahrzeug einer Schranke näher das sie dann auf geht ohne das ich ein Befehl eingeben muss?

    Über einen Timer (oder Streamer-Zonen) prüfst du, ob der Spieler in der Nähe ist und dann bewegst du einfach das Objekt (Objekte langsam rotieren lassen)


    Und wenn er weg ist, lässt du die schranke wieder runter.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hi hab ein kleines problem und zwar sobald ich versuche eine ID die nicht ON eine Rang zu setzen kommt ein Error in die Server Log.


    Befehl:

    NO_CONNET_P Steht für:

    Code
    #define NO_CONNECT_P 		SCM(playerid,ROT,""#HTML_RED"FEHLER | "#HTML_WHITE"Der angegebene Spieler ist nicht Eingeloggt!");

    Fehler Meldung:

    Code
    [debug] Run time error 4: "Array index out of bounds"
    [debug]  Attempted to read/write array element at index 65535 in array of size 1000
    [debug] AMX backtrace:
    [debug] #0 00054090 in public ocmd_giverang (playerid=0, params[]=@001c5464 "1 6") at D:\iTsMaho Selfmade\gamemodes\selfmade.pwn:1204
    [debug] #1 native CallLocalFunction () in samp-server.exe
    [debug] #2 000284f8 in public OnPlayerCommandText (playerid=0, cmdtext[]=@001c542c "/giverang 1 6") at D:\iTsMaho Selfmade\pawno\include\ocmd.inc:77

    Ich denke mal es liegt an der Abfrage ob pID Online ist, weil InGame bekomme ich die nachricht NO_CONNET_P nicht.

    Ist etwas an der Abfrage falsch?

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • if(!PlayerInfo[pID][LoggedIn]) return NO_CONNECT_P

    Schreib das so:


    C
    if(!IsPlayerConnected(pID) || !PlayerInfo[pID][LoggedIn]) return NO_CONNECT_P

    Denn pID wird auf INVALID_PLAYER_ID durch sscanf gesetzt ergo (65535) und da du das in das Array packst, das aber nur eine größe von 1000 hat, kommt es hier zu einem Fehler. Das bedeutet, dass du das abfangen musst.

    Das kannst du so machen oder auch:


    C
    if(pID == INVALID_PLAYER_ID || !PlayerInfo[pID][LoggedIn]) return NO_CONNECT_P

    Wobei der IsPlayerConnected sicherer ist, da er auch ohne sscanf funktionieren würde :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Noch ein Problem :D

    So bald ich mein /kick befehl nutze mit parametern kommt eine fehlermeldung:


    Fehlermeldung:

    sscanf warning: Strings without a length are deprecated, please add a destination size.

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • So bald ich mein /kick befehl nutze mit parametern kommt eine fehlermeldung:

    Du musst grund auch schon als string deklarieren :D


    C
    new string[120], pID, grund[32];
    if(sscanf(params,"us[32]", pID, grund)) return SCM(playerid,WEISS,""#HTML_GREEN"INFO | "#HTML_WHITE"/kick [playerid/name] [Grund]");

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Guten Abend,


    ich versuche via Dialog die Wetterid zu ändern, jedoch steht wenn ich ID 7 eingebe ID 55.


    Was genau mache ich falsch?


    Danke im Voraus.


    MfG


    Allrounder18

  • Über einen Timer (oder Streamer-Zonen) prüfst du, ob der Spieler in der Nähe ist und dann bewegst du einfach das Objekt (Objekte langsam rotieren lassen)


    Und wenn er weg ist, lässt du die schranke wieder runter.

    ich hab es schon mit nem timer probiert aber bekomme es nicht hin die

    Code
    if(IsAFirefighter(playerid)|| IsPlayerInFrac(playerid,1) || IsPlayerInFrac(playerid,2))
       
    if(IsPlayerInRangeOfPoint(playerid,6,929.0650,-1216.7328,16.9343))

    sollte mit eingbaut sein


    danke schonmal

    Mit freundlichen Grüßen

    Markus001

  • Ich habe auch eingebaut das man das RCON PW ändern kann, kann ich dies genau so wie Account PWs mit Bcrypt hashen in der DB?

    Wozu solltest du das in einer Datenbank speichern wollen, wenn es eh in der server.cfg steht?



    ch hab es schon mit nem timer probiert aber bekomme es nicht hin die

    Hä?


    Musst doch nur alles zusammenführen:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    • Offizieller Beitrag

    In die Datenbank speichern wollte ich es, da ich dort meine gesamten Serverdaten abspeichere.

    kann ich dies genau so wie Account PWs mit Bcrypt hashen in der DB?

    Ja, das kannst du theoretisch machen, da es ja auch nur ein Passwort ist, du müsstest es nur zum Neu-Speichern wieder hashen und wenn du es ausließt müsstest du es enthashen um es z.B. bei SendRconCommand (Wie von Maho geschrieben) zu verwenden

  • und wenn du es ausließt müsstest du es enthashen

    Eieieiei, schau dir nochmal mein Tutorial an: Hash Verfahren genauer erklärt


    Sowas wie enthashen gibt es nicht.


    Da ein Hash keine Verschlüsselung ist.


    Demnach ist dieses ganze Unterfangen auch komplett sinnlos, sowas in der Datenbank zu speichern.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen