Super!
vorausgesetzt ihr seid alle per du
Selbstverständlich, wo kämen wir denn hin, wenn sich das Internet plötzlich siezt
Super!
vorausgesetzt ihr seid alle per du
Selbstverständlich, wo kämen wir denn hin, wenn sich das Internet plötzlich siezt
War der erste Forumbeitrag, war mir nicht sicher wo es hin sollte
Kein Problem!
In dem Zuge dann auch noch: Herzlich willkommen!
Wenn du zukünftig des öfteren vielleicht hier Rat suchst, lege ich dir noch folgenden Thread ans Herz: Tipps: Scripting-Probleme richtig erklären
Sowie für MySQL: [jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)
Whice Dankeschön!
Wie sieht dein "new DB_HANDLE" aus?
Abhängig von der MySQL Version, die du nutzt, sollte es entweder so (neue Versionen):
new MySQL:DB_HANDLE;
oder so (alte Versionen):
new DB_HANDLE;
aussehen.
PS: Du hast das falsche Sub-Forum gewählt, hier ist es richtig: Scripting Base
@Mods Vielleicht kann es jemand von Euch verschieben. Danke!
Als kleine Spielerei, bin mal gespannt, ob es mir einen Mehrwert bringt, oder nicht. Hatte zusätzlich noch einen 6€ Gutschein von Amazon, somit hat es nur 21,28€ gekostet.
Außerdem:
1x HU/AU beim TÜV Süd für 110,54€
1.
Kann ich dir nicht sagen, der Code dazu fehlt.
2.
Wenn du mehrere Charaktere speichern willst, benötigst du ein Array, sonst gibst du immer den gleichen Charakter in dem Code aus. Außerdem muss der Code mit einer weiteren Schleife über die aus dem Cache gelesenen Daten versehen werden.
Zudem geht das Aufbauen eines kompletten Systems über eine "kleine Scripting Frage", für die dieser Thread gedacht ist, hinaus.
Genau, das ist was der Code macht.
Wie du die Chars speicherst, ist hier nicht ersichtlich.
Wenn es anders sein soll, musst du es natürlich entsprechend aufbauen, mit einem Array in dem die Chars stehen und gespeichert werden.
FUNCTION ShowCharacter(playerid)
{
new rows, string[512], c1[255];
cache_get_row_count(rows);
if(rows == 0)
{
format(c1,512,"{FFFFFF}Neuen Charakter anlegen");
}
else if(rows == 1)
{
format(c1,512,"%s", CharacterInfo[playerid][character_RPVorName]);
}
for(new i = 1; i < ServerInfo[0][server_MaxChars] && i < AccountInfo[playerid][account_MaxChars]; i++)
{
format(c1,512,"%s\n{FFFFFF}Neuen Charakter anlegen",c1);
}
format(string,512,"{FFFFFF}Name\n%s",c1);
ShowPlayerDialog(playerid,DIALOG_CHARACTER,DIALOG_STYLE_TABLIST_HEADERS,"{FFFFFF}Charakter - Übersicht",string,"{FFFFFF}Weiter","{FFFFFF}Abbrechen");
return 1;
}
Alles anzeigen
Du musst mit einer Schleife arbeiten.
Im Teil von MaxChars > 1:
format(c1,512,"{FFFFFF}Neuen Charakter anlegen");
zu:
format(c1,512,"%s\n{FFFFFF}Neuen Charakter anlegen",c1);
Das ist nicht möglich, die Interior IDs sind fest vorgegeben.
Ob es dir möglich ist, weiß ich nicht.
Aber technisch ist es möglich
Stichwort Kamera Position, Textdraws als Buttons und den Skin setzen beim Klicken.
Vielleicht ist das ja was für dich, der Preis ist auf jeden Fall der Knaller:
Stimmt, du nutzt "spalte" zuvor noch in Arrays.
Nehme den Code aus Zeile 37 wieder vor an Zeile 10.
Schreibe dann in den formats anstelle von "spalte": "spalte+1"
Setze Zeile 10 vor Zeile 37 ein.
Danke, jedoch geht spalte nicht, wenn ich Rang auf Spalte 1 vergebe steht 0 im Chat.
Wie sieht dein Code jetzt aus?
Wie bekomme ich hier die Spalte raus? Aktuell wird immer die Spalte 1 angzeigt was aber nicht so sein sollte.
Anstatt der Schleife in Zeile 24 und in den formats "i-1" zu nutzen, entferne die Schleife und nutze anstatt "i-1" einfach "spalte", du gibst diese ja im Befehl schon mit an.
PS: Unterlasse bitte die Voll-Zitate, es macht keinen Sinn den gesamten vorherigen Post zu zitieren, er steht ja bereits vollständig drüber.
Nutze anstatt <||>: !=
Das steht für ungleich, was nicht größer und nicht kleiner entspricht.
Für 17,90€ anstatt 22,90€, hatte zufällig noch einen Gutscheincode über 5€ ohne MBW von eBay.
Das kannst du dann einfach so machen:
stock GetLabelColor(playerid)
{
new lvColor;
switch(AccountInfo[playerid][account_Admin])
{
case 1: lvColor = 0x7401DFFF; //Mapper
case 2: lvColor = 0x00AB1AFF; //Helfer
case 3: lvColor = 0xFE2EC8FF; //Probe Supporter
case 4: lvColor = 0xFE2EC8FF; //Supporter
case 5: lvColor = 0x717171FF; //Administrator
case 6: lvColor = 0x0000FFFF; //Manager
case 7: lvColor = 0x7401DFFF; //Scripter
case 8: lvColor = 0xFF0000FF; //Projektleiter
}
return lvColor;
}
Alles anzeigen
Dann kannst du das so nutzen:
Das kannst du dann einfach so machen:
stock GetAdminName(adminlevel, playerid, bool:colored = false)
{
#pragma unused adminlevel
new lvName[64];
if(colored) strcat(lvName, GetColoredName(playerid));
else strcat(lvName, AccountInfo[playerid][account_Name]);
return lvName;
}
oder:
stock GetAdminName(playerid, bool:colored = false)
{
new lvName[64];
if(colored) strcat(lvName, GetColoredName(playerid));
else strcat(lvName, AccountInfo[playerid][account_Name]);
return lvName;
}
Bei letzterem musst du dann das Admin Level noch aus den Funktionsaufrufen von GetAdminName entfernen.