[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
  • Ich glaube ich sollte heute aufhören zu scripten.
    Mir fällt nicht ein wie ich mit einem teil eines namens den ganzen Namen anzeigen lassen kann

    Du kannst sscanf benutzen wenn dus nicht zu umständlich haben magst.


    z.B.
    Ralf heißt der Spieler auf dem Server.
    Du gibst aber nur "Ra" ein, und nun soll er daraus den ganzen Namen finden:


    Code
    new pID, name[MAX_PLAYER_NAME+1];
    sscanf("Ra", "u", pID);
    GetPlayerName(pID, name, sizeof(name));

    Einmal editiert, zuletzt von Zim30 ()

  • Hey, wen ich 2 hacken eingebe wird der Hackvorgang: 30 nicht runtergezählt bleibt einfach stehn und der GameText verschwindet wider an was liegt das?

  • Du kannst sscanf benutzen wenn dus nicht zu umständlich haben magst.
    z.B.
    Ralf heißt der Spieler auf dem Server.
    Du gibst aber nur "Ra" ein, und nun soll er daraus den ganzen Namen finden:


    Code
    new pID, name[MAX_PLAYER_NAME+1];
    sscanf("Ra", "u", pID);
    GetPlayerName(pID, name, sizeof(name));

    Und wie mach ich das nochmal, wenn ich zB /id Edw eingebe und dann jeder Name der mit Edw anfängt auf gelistet wird?

  • Habe noch ein Problem wenn ich das so nutze kommt trotzdem ich in einer Fraktion bin nicht die Nachricht.
    Wenn ich das ! vorne wegnehme dann kommt immer die Nachricht ob ich in einer Fraktion bin oder nicht.

    Das liegt an der Funktion, die kommt mit der 0 nicht klar, da immer eines von beiden (Leader/Member) Null ist.


    Mache es so:
    if(pInfo[playerid][pLeader] == 0 && pInfo[playerid][pMember] == 0) return SendClientMessage(playerid,ROT,"Der Spieler ist in einer Fraktion.");

  • Und wie mach ich das nochmal, wenn ich zB /id Edw eingebe und dann jeder Name der mit Edw anfängt auf gelistet wird?

    Ich benutze ZCMD und sscanf, musst du dann an dein Script einfach anpassen :)

    Einmal editiert, zuletzt von Zim30 ()

  • Eine letzte Frage:
    wie forme ich das mysql_store_result mysql_retrieve_row auf MySQL R41 um? Finde da irgendwie nix passendes

    du musst "mysql_query" benutzen


    Unter "OnGameModeInit" musst du sicherstellen dass du die connectionid speicherst. Erstelle eine Globale Variable = "new dbhandle;"


    Und unter "OnGameModeInit" verbindest du zur Datenbank und speicherst die id.
    "dbhandle = mysql_connect(PARAMETER);"


    mysql_store_result wird zu "new Cache:result = mysql_query(dbhandle, query);"


    dannach fragst du Daten ab wie z.B: "cache_get_value_name_int(0, "Test", Variable);"


    Und es ist ganz WICHTIG dass du am Schluss den Cache wieder löscht!
    cache_delte(result);

    Einmal editiert, zuletzt von Zim30 ()

  • if(!IsPlayerInFrak(playerid,1) && !IsPlayerInFrak(playerid,2) && !IsPlayerInFrak(playerid,3)) return SendClientMessage(playerid,ROT,"Du bist in keiner Fraktion und darfst diesen Befehl nicht nutzen.");
    Dennoch kann bis zu 3x geprintet werden, da du die Funktion ja 3x aufrufst.


    Oder so:
    if(IsPlayerInFrak(playerid,0)) return SendClientMessage(playerid,ROT,"Du bist in keiner Fraktion und darfst diesen Befehl nicht nutzen.");
    Dann wird es nur einmal aufgerufen.

    Macht das ein Großen Ressourcen unterschied ?

  • Macht das ein Großen Ressourcen unterschied ?

    Naja wenn du in Fraktion 3 bist wird dreimal die Fraktion geprüft.
    ID eins trifft nicht zu, neuer Check: ID zwei trifft nicht zu, neuer Check: ID 3 trifft zu -> keine Meldung.
    Bist du in keiner Fraktion wird dreimal geprüft und dann erst eine Meldung geschickt.


    Es ist um einiges geschickter den Vorschlag von Jeffry zu nehmen, da oben drauf auch keine aufwändige Erweiterungsarbeit auf dich zu kommt und die Funktion maximal einmal aufgerufen wird.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hat jemand von euch vielleicht einen "Material Text Editor" ?
    Möchte es ungern im Script direkt erstellen, im Spiel kann ich dann mehr Testen und es geht Schneller. :P


    Wäre sehr Lieb, wenn einer mir etwas Posten könnt.


    Mit freundlichen Grüßen,

  • Ich gruesse euch liebe Community,
    Habe aktuell vor eine Art "Lauftext" umzusetzen wie man oft bei Filmcredits sieht


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Hat jemand ein Ansatz wie man sowas realisieren koennte?
    Mir faellt da aktuell nix ein um das in vernuenftiger Geschwindigkeit zu realisieren ohne dass man sieht dass ein Textdraw immer neu created wird, bzw. das ganze du koordinieren bei vielen

  • Beitrag von Trafico ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: ah link geht doch ^^ ().
  • seit der neuen Samp version gibt es das Object ohne die Tore.