[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
  • Beitrag von Klex ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: rip samp ().
  • Guten Abend,


    ich wollte eine Mitgliederliste für die Fraktionsleader machen das Problem ist nur das ich aus einer anderen Tabelle den Charakternamen brauche und meine Funktion um den Charakternamen zu bekommen beendet immer die aktuelle Query wodurch mir immer nur ein Fraktionsmitglied angezeigt wird.


    Die Query womit man alle Fraktionsmitglieder bekommt

    Code
     mysql_format(connection, query, sizeof(query), "SELECT * FROM `character_job` WHERE `faction` = '%i'", CharacterInfo[playerid][CHARACTER_FACTION]);
                        mysql_tquery(connection, query, "GetFactionMember", "i", playerid);


    GetFactionMember


    Funktion um den Charakternamen zu bekommen


    Mit freundlichen Grüßen


    Allrounder18

    • Offizieller Beitrag

    ich wollte eine Mitgliederliste für die Fraktionsleader machen das Problem ist nur das ich aus einer anderen Tabelle den Charakternamen brauche

    Das kannst du einfach in SQL mit einer Subquery lösen, als Beispiel so (Vorausgesetzt die ID in character & character_job sind für alle Spieler identisch):

    SQL
    SELECT `firstname`, `lastname` FROM `character` WHERE EXISTS (SELECT `id`, `faction` FROM `character_job` WHERE `faction` = 'HIER_DIE_FRAKTIONS_ID_PER_FORMAT_EINFÜGEN' AND `character`.`id` = `character_job`.`id`);
  • Das kannst du einfach in SQL mit einer Subquery lösen, als Beispiel so (Vorausgesetzt die ID in character & character_job sind für alle Spieler identisch):

    SQL
    SELECT `firstname`, `lastname` FROM `character` WHERE EXISTS (SELECT `id`, `faction` FROM `character_job` WHERE `faction` = 'HIER_DIE_FRAKTIONS_ID_PER_FORMAT_EINFÜGEN' AND `character`.`id` = `character_job`.`id`);

    Danke, ich werde es versuchen.

    Wie würde dann GetFactionMember aussehen?

    • Offizieller Beitrag

    Wie würde dann GetFactionMember aussehen?

    Ups, grade gesehen das du ja nicht nur den Namen und Vornamen haben willst^^


    Dann würde ich nen Join oder eine View vorschlagen, so hast du quasi beide Abfragen zusammen und hast sie in einem cache

    Beispiel: SELECT * FROM `character` LEFT JOIN `character_job` USING(id) WHERE `character_job`.`faction` = '9'


    Dann kannst du deine Funktion so lassen und kannst nur first & lastname hinzufügen

  • Aus der Character Tabelle möchte ich nur den Vor und Nachnamen haben und diesen möchte ich dann in dem Dialog bei GetFactionMember anzeigen.

    • Offizieller Beitrag

    Aus der Character Tabelle möchte ich nur den Vor und Nachnamen haben und diesen möchte ich dann in dem Dialog bei GetFactionMember anzeigen.

    Das kannst du dann einfach von Hand anpassen, so hast du jetzt alles aus beiden Tabellen, ansonsten einfach statt dem Stern die Namen der Spalten eintragen, falls jene in beiden vorkommt einfach tabelle.spalte nutzen.

    • Offizieller Beitrag

    wie kann ich jetzt via cache_get_value_name etc die Werte aus den Tabellen auslesen

    So wie du es bereits gemacht hast, im cache hast du nun nicht nur die eine sondern den Output aus beiden also einfach:

    Code
    new rang, firstName[32];
    cache_get_value_name_int(i, "rang", rang);
    cache_get_value_name(i, "firstname", firstName);


    in der character_job Tabelle heißt die Charakter ID characterid muss ich die Query dann umschreiben?

    ja, einfach das Ende anpassen:

    SELECT * FROM `character` LEFT JOIN `character_job` ON `character`.`id` = `character_job`.`characterid` WHERE `character_job`.`faction` = 'DEINE_ID'

  • So, ich möchte nun meine folgende Intrinsics Frage stellen.

    Habe folgenden Ausdruck.


    Code
      for( j = N - M + 1; --j; p++ ) 
    { 
    *p = p[M]   ^ TWIST(p[0], p[1]); 
    }

    Diesen möchte ich gerne mit Intrinsics optimieren, welche Operation würde da jedoch in Frage kommen? Gibt ja schließlich ewig viele.


    Die entsprechend notwendigen Informationen hierzu.


    Code
    #define N 624
    #define M 397
    #define MATRIX_A 0x9908b0dfUL   /* constant vector a */
    #define UMASK 0x80000000UL /* most significant w-r bits */
    #define LMASK 0x7fffffffUL /* least significant r bits */
    #define MIXBITS(u,v) ( ((u) & UMASK) | ((v) & LMASK) )
    #define TWIST(u,v) ((MIXBITS(u,v) >> 1) ^ ((v)&1UL ? MATRIX_A : 0UL))


    Hoffe dass jemand einen Vorschlag hierzu hat. Vielleicht das hier? Oder würdet ihr die Operationen noch weiter aufbröseln?

    Code
    __m256i _mm256_xor_si256    


    Gibt es vielleicht diese Funktion auch bei Ints, um ganzzahlige Vektoren abzubilden?


    Code
    __m256d a = _mm256_set_pd(1.0, 2.0, 3.0, 4.0);

    2 Mal editiert, zuletzt von Sub Royal ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • So, ich möchte nun meine folgende Intrinsics Frage stellen.

    Die Sektion hier ist für Scripting Fragen, das was du hier fragst, ist eine sehr spezifische Programmierfrage, die nichts mit Pawno zu tun hat.


    Hier ein kleiner Überblick: https://www.linux-magazin.de/a…vier-auf-einen-streich/4/

    ast2ufdyxkb1.png


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

  • Ja gut das script läuft nicht auf windows musst das Geo plugin entfernen auch alles von Script raus.


    Datenbank hochladen und verbinden im Script.


    Lade dir das Crashdetect plugin runter füge es ins Plugins und server cfg hinzu gamemode restarten serverlog posten.


    //ps handy

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


  • Stimmt leider beides nicht, die Koordinaten sind etwa 1 Kilometer außerhalb der Gangzone.


    Ich nehme an, du meinst das?


    CenterX = GangZones[id][minx] - GangZones[id][maxx] / 2;


    CenterY = GangZones[id][miny] - GangZones[id][maxy] / 2;


    MapAndreas_FindZ_For2DCoord(CenterX, CenterY, CenterZ);



    // edit: Hier eine Grafik


    5pmnxoh.png

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