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
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
callback GetFactionMember(playerid)
{
new rows, string[256], tempString[256], cid, rang;
cache_get_row_count(rows);
if(rows)
{
for(new i = 0; i < rows; i++)
{
cache_get_value_name_int(i, "characterid", cid);
cache_get_value_name_int(i, "rang", rang);
format(string, sizeof(string), "{FFFFFF}%s\t%s\n", getCharacterNameById(cid), FactionRangInfo[CharacterInfo[playerid][CHARACTER_FACTION]][rang][FACTION_RANG_NAME]);
strcat(tempString, string, sizeof(tempString));
}
format(string, sizeof(string), "{FFFFFF}Name\t{FFFFFF}Rang\n%s", tempString);
ShowPlayerDialog(playerid, DIALOG_FACTION_MEMBER, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Verwaltung : Fraktion", string, "{FFFFFF}Zurück", "", 5);
}
return 1;
}
Alles anzeigen
Funktion um den Charakternamen zu bekommen
getCharacterNameById(id)
{
new query[128];
mysql_format(connection, query, sizeof(query), "SELECT `firstname`, `lastname` FROM `character` WHERE `id` = '%i'", id);
new Cache:result = mysql_query(connection, query);
new name[256], firstname[128], lastname[128];
cache_get_value_name(0, "firstname", firstname, 128);
cache_get_value_name(0, "lastname", lastname, 128);
format(name, sizeof(name), "%s_%s", firstname, lastname);
cache_delete(result);
return name;
}
Alles anzeigen
Mit freundlichen Grüßen
Allrounder18
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):
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):
Danke, ich werde es versuchen.
Wie würde dann GetFactionMember aussehen?
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
Alles anzeigenUps, 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.
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.
Okay, und wie kann ich jetzt via cache_get_value_name etc die Werte aus den Tabellen auslesen und in der character_job Tabelle heißt die Charakter ID characterid muss ich die Query dann umschreiben?
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:
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.
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.
#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?
Gibt es vielleicht diese Funktion auch bei Ints, um ganzzahlige Vektoren abzubilden?
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/
Hoppla! Bin wohl falsch gelandet, wollte in kleine Coding Fragen platzieren
Wie finde ich die Mitte einer GangZone heraus ?
Beispiel: 36.0001, -1546.5, 72.0001, -1519.5
(x1+x2) /2 = X Mitte
(y1+y2) /2 = Y Mitte
Wenn ich mich nicht irre
(x1+x2) /2 = X Mitte
(y1+y2) /2 = Y Mitte
Wenn ich mich nicht irre
ich glaube
(x1-x2) /2 = X Mitte
(y1-y2) /2 = Y Mitte
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
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
Du hast die Klammern vergessen, die meisten Programmiersprachen beherrschen Punkt-vor-Strich-Rechnung
Danke, so gehts