danke soweit ehm das müsste ich mir morgen angucken bin heute nicht mehr am Rechner
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
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
-
-
Hab bei Discord-Connector ein Problem, die Commands die ich erstellt habe werden ausgegeben wenn ich die anderen Commands von 'nem Bot wie z.B Unbelievableboat nutze, z.B /clear, da wird der Command von meinem Bot auch returnt.
public DCC_OnMessageCreate(DCC_Message:message)
{
new string[500],
mstring[16],
DCC_User:author;
DCC_GetMessageContent(message, mstring);
DCC_GetMessageChannel(message, prpchannel);
new bool:is_bot;
DCC_IsUserBot(author, is_bot);
if(is_bot)
return 0;
if(!strcmp(mstring, "/players"))
{ -
Die einzige Möglichkeit ist dann bei einen der Bots den Commandprefix zu ändern.
-
Die einzige Möglichkeit ist dann bei einen der Bots den Commandprefix zu ändern.
Liegt nicht daran, der Bot returnt es wenn ein Bot was eingebettet hat, z.B /help oder x!help.
-
Du erstellst zwar die Variable DCC_User:author aber gibt dieser Variable nirgends einen Wert. Ich denke mal es gibt eine eine Funktion wie DCC_GetMessageAuthor(message, author); oder so ähnlich, sonst wird die Bot Abfrage wahrscheinlich immer false returnen.
-
Du erstellst zwar die Variable DCC_User:author aber gibt dieser Variable nirgends einen Wert. Ich denke mal es gibt eine eine Funktion wie DCC_GetMessageAuthor(message, author); oder so ähnlich, sonst wird die Bot Abfrage wahrscheinlich immer false returnen.
Jo klappt, danke dir, hab die Funktion verschlampt.
-
Hallo!
Ich bekome im MySQL Logimmer folgenden Fehler:
Code[15:24:20] [ERROR] cache_get_value_name_int: field 'id' not found [15:24:20] [ERROR] cache_get_value_name_int: field 'adminrang' not found [15:24:20] [ERROR] cache_get_value_name_int: field 'whitelist' not found [15:24:20] [ERROR] cache_get_value_name_float: field 'x' not found [15:24:20] [ERROR] cache_get_value_name_float: field 'y' not found [15:24:20] [ERROR] cache_get_value_name_float: field 'z' not found [15:24:20] [ERROR] cache_get_value_name_float: field 'r' not found [15:24:20] [ERROR] cache_get_value_name_int: field 'interior' not found [15:24:20] [ERROR] cache_get_value_name_int: field 'welt' not found
Diese Zeilen stehen bei OnUserLogin so drinund in der DB sind die Felder ebenso vorhanden.
Woran kann das liegen?MfG
-
Zeig uns Mal die Query und wie die Tabelle in PHPmyadmin aussieht.
-
Deine Query?
E: Leon war schneller...dieser Mistkerl
-
Code
new query[256]; mysql_format(handle, query, sizeof(query), "SELECT * FROM `accounts` WHERE `name` = '%e' AND `passwort` = MD5('%e')",SpielerDaten[playerid][player_Name], inputtext); mysql_pquery(handle, query, "OnUserLogin", "d", playerid);
Das ist die Query beim Login Dialog
Edit: Meine DB: https://prnt.sc/p27yqw
Jetzt sagt mirder Log folgendes noch dazu:
Code[15:49:17] [ERROR] error #1054 while executing query "UPDATE `accounts` SET `adminrang` = '0', `whitelist` = '0', `x` = '1958.378296', `y` = '1343.157227', `z` = '15.374607', `r` = '269.142487', `interior` = '0', `welt` = '0' WHERE `id` = '0'": Unknown column 'whitelist' in 'field list'
Die Schreibweise sollte aber richtig sein.
-
-
An der Query ist nichts falsch. Zeig uns also Mal bitte wie die Tabelle accounts in PHPmyadmin aussieht.
-
Fehler gefunden: Ich hab wohl versehentlich die falschen DB Daten kopiert. Danke für eure Hilfe!
MfG
-
Guten Tag zusammen,
ich hätte mal eine Frage an euch, ich suche eine Alternative zu PVar's, gibt es da etwas ?
Möchte gerne, alle meine Systeme in eine Separate Include Schreiben, was mit natürlich mit einem Enum möglich wäre,
diese aber dann irgendwie alle immer zusammen hängen, was z.B bei PVar's ja nicht der Fall sein muss.
Hoffe Ihr versteht was ich meine.LG,
●●● ► MGPK ◄ ●●● -
Guten Abend!
Gibt es eine Lösung um den Spawnbutton zu verstecken?
Momentan habe ich es so, aber hierbei fleige ich immer durch die Luft.
Code
Alles anzeigenpublic OnPlayerRequestClass(playerid) { if(!SpielerDaten[playerid][player_Eingeloggt]) //SetPlayerPos(playerid,2090.5776,1743.2261,10.6719); //SetPlayerCameraPos(playerid,2092.3242,1746.4900,10.6797); //SetPlayerCameraLookAt(playerid,2092.3242,1746.4900,10.6797); //SetPlayerFacingAngle(playerid,348.7013); SetSpawnInfo(playerid,0,187,2090.5776,1743.2261,10.6719,348.7013,0,0,0,0,0,0); //SpawnPlayer(playerid); { query } TogglePlayerSpectating(playerid, true); return 1; }
-
Guten Abend!
Gibt es eine Lösung um den Spawnbutton zu verstecken?
Momentan habe ich es so, aber hierbei fleige ich immer durch die Luft.
Code
Alles anzeigenpublic OnPlayerRequestClass(playerid) { if(!SpielerDaten[playerid][player_Eingeloggt]) //SetPlayerPos(playerid,2090.5776,1743.2261,10.6719); //SetPlayerCameraPos(playerid,2092.3242,1746.4900,10.6797); //SetPlayerCameraLookAt(playerid,2092.3242,1746.4900,10.6797); //SetPlayerFacingAngle(playerid,348.7013); SetSpawnInfo(playerid,0,187,2090.5776,1743.2261,10.6719,348.7013,0,0,0,0,0,0); //SpawnPlayer(playerid); { query } TogglePlayerSpectating(playerid, true); return 1; }
public OnPlayerRequestClass(playerid, classid)
{
SetSpawnInfo(playerid, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0);
TogglePlayerSpectating(playerid, 1);
SpawnPlayer(playerid);
SetTimerEx("SkipOnPlayerRequestClass", 100, false, "i", playerid);
return 1;
}//Irgendwo außerhalb eines publics
forward SkipOnPlayerRequestClass(playerid);
public SkipOnPlayerRequestClass(playerid)
{
SpawnPlayer(playerid);
TogglePlayerSpectating(playerid, 0);
return 1;}
-
Der Spawnbutto ist zwar weg, jedoh fall ich während em Login immer auf den Nullpunkt.
-
Der Spawnbutto ist zwar weg, jedoh fall ich während em Login immer auf den Nullpunkt.
-
Diese Fubktion benutze ich bereits. Immer wenn ich das Passwort falsch eingebe lande ich am Nullpunkt.
Edit:
Ich habs jetzt mal ohne der Funktion von Colney getestet, wenn ich bei OnPlayerRequestClass
TogglePlayerSpectating(playerid, true); reinschreibe und beim Logindialog ei falsches Psswort eingebe lade ich am Nullpunkt, jeoch wen TogglePlayerSpectating(playerid, true); nicht vorhanen ist, steht nur dass das Passwort falsch ist.Der Login Dialog
Code
Alles anzeigencase DIALOG_LOGIN: { new string[64]; if(!response)return Kick(playerid); if(strlen(inputtext) < 6 || strlen(inputtext) > 24) { format(string,sizeof(string),"{FFFFFF}Der Account {E8BD1A}%s {FFFFFF}wurde gefunden\nBitte gebe das Passwort ein",SpielerDaten[playerid][player_Name]); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung",string, "{FFFFFF}Weiter", "{FFFFFF}Abbrechen"); } new query[256]; mysql_format(handle, query, sizeof(query), "SELECT * FROM `accounts` WHERE `name` = '%e' AND `passwort` = MD5('%e')",SpielerDaten[playerid][player_Name], inputtext); mysql_pquery(handle, query, "OnUserLogin", "d", playerid); TogglePlayerSpectating(playerid, false); return 1;
OnUserLogin
Code
Alles anzeigenCALLBACK: OnUserLogin(playerid) { new rows,string[500]; cache_get_row_count(rows); if(rows == 0) { format(string,sizeof(string), "Dieses Passwort ist falsch"); SendClientMessage(playerid,WEISS,string); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen"); } else { cache_get_value_name_int(0, "id", SpielerDaten[playerid][player_ID]); cache_get_value_name_int(0, "adminrang", SpielerDaten[playerid][player_Admin]); cache_get_value_name_int(0, "whitelist", SpielerDaten[playerid][player_Whitelist]); cache_get_value_name_float(0, "x", SpielerDaten[playerid][player_Spawn][0]); cache_get_value_name_float(0, "y", SpielerDaten[playerid][player_Spawn][1]); cache_get_value_name_float(0, "z", SpielerDaten[playerid][player_Spawn][2]); cache_get_value_name_float(0, "r", SpielerDaten[playerid][player_Spawn][3]); cache_get_value_name_int(0, "interior", SpielerDaten[playerid][player_Interior]); cache_get_value_name_int(0, "welt", SpielerDaten[playerid][player_Welt]); SpawnPlayer(playerid); SpielerDaten[playerid][player_Eingeloggt] = true; format(string,sizeof(string),"{FFFFFF}Willkommen zurück, {ab258a}%s[%d]",SpielerDaten[playerid][player_Name],playerid); SendClientMessage(playerid,WEISS,string); new string1[128]; format(string1,sizeof(string1),"%s[%d] hat den Server betreten",SpielerDaten[playerid][player_Name],playerid); SendClientMessageToAll(WEISS,string1); } return 1; }
-
Diese Fubktion benutze ich bereits. Immer wenn ich das Passwort falsch eingebe lande ich am Nullpunkt.
Edit:
Ich habs jetzt mal ohne der Funktion von Colney getestet, wenn ich bei OnPlayerRequestClass
TogglePlayerSpectating(playerid, true); reinschreibe und beim Logindialog ei falsches Psswort eingebe lade ich am Nullpunkt, jeoch wen TogglePlayerSpectating(playerid, true); nicht vorhanen ist, steht nur dass das Passwort falsch ist.Der Login Dialog
Code
Alles anzeigencase DIALOG_LOGIN: { new string[64]; if(!response)return Kick(playerid); if(strlen(inputtext) < 6 || strlen(inputtext) > 24) { format(string,sizeof(string),"{FFFFFF}Der Account {E8BD1A}%s {FFFFFF}wurde gefunden\nBitte gebe das Passwort ein",SpielerDaten[playerid][player_Name]); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung",string, "{FFFFFF}Weiter", "{FFFFFF}Abbrechen"); } new query[256]; mysql_format(handle, query, sizeof(query), "SELECT * FROM `accounts` WHERE `name` = '%e' AND `passwort` = MD5('%e')",SpielerDaten[playerid][player_Name], inputtext); mysql_pquery(handle, query, "OnUserLogin", "d", playerid); TogglePlayerSpectating(playerid, false); return 1;
OnUserLoginCode
Alles anzeigenCALLBACK: OnUserLogin(playerid) { new rows,string[500]; cache_get_row_count(rows); if(rows == 0) { format(string,sizeof(string), "Dieses Passwort ist falsch"); SendClientMessage(playerid,WEISS,string); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen"); } else { cache_get_value_name_int(0, "id", SpielerDaten[playerid][player_ID]); cache_get_value_name_int(0, "adminrang", SpielerDaten[playerid][player_Admin]); cache_get_value_name_int(0, "whitelist", SpielerDaten[playerid][player_Whitelist]); cache_get_value_name_float(0, "x", SpielerDaten[playerid][player_Spawn][0]); cache_get_value_name_float(0, "y", SpielerDaten[playerid][player_Spawn][1]); cache_get_value_name_float(0, "z", SpielerDaten[playerid][player_Spawn][2]); cache_get_value_name_float(0, "r", SpielerDaten[playerid][player_Spawn][3]); cache_get_value_name_int(0, "interior", SpielerDaten[playerid][player_Interior]); cache_get_value_name_int(0, "welt", SpielerDaten[playerid][player_Welt]); SpawnPlayer(playerid); SpielerDaten[playerid][player_Eingeloggt] = true; format(string,sizeof(string),"{FFFFFF}Willkommen zurück, {ab258a}%s[%d]",SpielerDaten[playerid][player_Name],playerid); SendClientMessage(playerid,WEISS,string); new string1[128]; format(string1,sizeof(string1),"%s[%d] hat den Server betreten",SpielerDaten[playerid][player_Name],playerid); SendClientMessageToAll(WEISS,string1); } return 1; }
Ich denke mal @Kaliber und @LeonMrBonnie sind da Erfahrener als ich. Ich sehe da keinen Fehler.
-
Nimm das TogglePlayerSpectating(playerid, false) aus dem Login Dialog und Pack es stattdessen über das SpawnPlayer, bei der richtigen Passworteingabe im OnUserLogin Callback.