Ich schau später / morgen mal rüber.
Gitlab gehört BF und kostet 5 Euro Monatlich ?
Beiträge von Kasakow
-
-
Und die PWN verbleibt dann nicht auf dem Windows vServer ?
-
Habe es gerade ausprobiert. Es reagiert immer noch nicht.
//EDIT
@Kaliber
Crashdetect gibt mir nicht aus.Meine Tabellenstruktur:
Es wird auf jeden Fall was in die Log gepostet:
-
mysql_log(LOG_ALL);else print(">> [MYSQL]: Die Verbindung zur Datenbank konnte NICHT erfolreich hergestellt werden. Der Server wird nun heruntergefahren."),
Mach mal das else eine Zeile drunter.
-
Um das richtig zu verstehen, also das ganze funktioniert jetzt..
Ich lade das Skript bei Gitlab hoch, der Windows Server zieht es sich, kompiliert es, und sagt mir bescheid ? und die Amx.. ist auch gleich im Windows Ordner, beim Server? -
@Kaliber
Ich konnte mich Relativ okay in deinen Code hineinversetzen.
Aktuell funktioniert er, so aber auch nicht, also es passiert nach Eingabe des Commands immer noch nichts.
Ich bekomme in meiner LogCore eine Meldung. -
new query[MAX_PLAYERS_NAME+1];
Also allein da, würde es scheitern. Schicke doch noch damit einen Query weg..
Ich schaue mir deinen Code morgen mal genauer an, bin jetzt schlafen.. sollte auch nicht um die Uhrzeit am Skript sitzen, das geht immer Schief. -
Ja, nutze ProtocolRead nur in diesen Codes.
Ich habe noch nicht mit LIMIT gearbeitet und daher ist es mir noch nicht im Begriff, wie ich es umsetzen soll.
Ja ich habe es beim Abschicken auch gemerkt, ich optimiere meine Array Größen dann immer mal wieder im Laufe der Woche an eine ordentliche ausreichende Größe an.ProtocolRead[P_MAX][600][3] | So habe ich es deklariert.
-
Nutze doch bitte die PAWN Box für solch Quellcodes, danke!
Ja, also.. ich nehme an dass du die soweit die neuste Version von BlueG nutzt, so wie fast jeder heutzutage.
Von daher, wird das so nicht funktionieren.
Schicke anstatt deinem Funktionsaufruf, einen Query mit einer Aufforderung an die Datenbank, eine Spalte zu markieren unter wie folgtem Namen: "playername". In dem Callback, arbeitest du dann mit dem Cache der dir zur Verfügung steht.
Früher ging das noch .. bei R5 habe ich das mal so angewendet mit mysql_num_rows(); unter der gleichen Funktion.
Sprich, so wie ich es dir Oben geschickt habe. -
Ok dachte ich mir
auf jeden Fall.
Brauche aber die Funktion so dass er das Return
Was soll es denn für eine Funktion werden?
Ich bezweifle es nämlich, dass du was damit Anfangen kannst, wenn er bei beiden Reihen Abfragen den Zahlenwert 1 zurückgibt. -
Leider führt er den Code nicht ordnungsgemäß aus.
Auch wenn ich einen fehlenden Datensatz suchen möchte, gibt er mir die Fehlermeldung nicht aus.
Ich möchte dass das System mir pro Seite im Dialog, 10-20 Einträge Zeigt vom Spieler.
Ich habe auch gemerkt, das der Code ziemlich Recourcenfressend ist, die Dateigröße wurde auf einen Schwung viel größer.Quellcode:
ocmd:pp(playerid, params[])
{
if(pInfo[playerid][pAdmin] < 6)return 1;
new query[256];
if(sscanf(params, "s", query))return SCM(playerid, COLOR_GREY, "Befehl: /pp [Name]");
mysql_format(handle, query, sizeof query, "SELECT * FROM playerprotocol WHERE Name='%e'", query),
mysql_pquery(handle, query, "PlayerQuery", "d", PLAYER_QUERY_PPROTOCOL);
return 1;
}case PLAYER_QUERY_PPROTOCOL:
{
if(!rows)return SCM(playerid, COLOR_LESSRED, "Es wurde kein Eintrag gefunden.");
SetPVarInt(playerid, "ProtocolStep", rows);
new str[1024];
str = "Datum\tUhrzeut\tInhalt\n";
for(new i;i<rows;i++)
{
cache_get_value_name(i, "Datum", ProtocolRead[playerid][i][0], 600),
cache_get_value_name(i, "Uhrzeit", ProtocolRead[playerid][i][1], 600),
cache_get_value_name(i, "Inhalt", ProtocolRead[playerid][i][2], 600);
if(i <= 9)
{
if(strlen(ProtocolRead[playerid][i][2]) > 0)
{
format(str, sizeof str, "%s%s\t%s\t%s\n", str, ProtocolRead[playerid][i][0], ProtocolRead[playerid][i][1], ProtocolRead[playerid][i][2]);
}
}
}
ShowPlayerDialog(playerid, D_PP, DIALOG_STYLE_TABLIST_HEADERS, "Spielerprotokoll", str, "Schließen", "");
}case D_PP:
{
if(!response || listitem || GetPVarInt(playerid, "ProtocolStep") >= countProtoStep(playerid))
{
SCM(playerid, COLOR_GREY, "Du hast entweder das Fenster geschlossen oder es sind keine weiteren Einträge vorhanden!");
return 1;
}
query = "Datum\tUhrzeit\tInhalt\n";
for(new k = GetPVarInt(playerid, "ProtocolStep"), i; i<k+10;i++)
{
format(query, sizeof query, "%s%s\t%s\t%s", ProtocolRead[playerid][i][0], ProtocolRead[playerid][i][1], ProtocolRead[playerid][i][2]),
SetPVarInt(playerid, "ProtocolStep", GetPVarInt(playerid, "ProtocolStep") + 1);
}
ShowPlayerDialog(playerid, D_PP, DIALOG_STYLE_TABLIST_HEADERS, "Spielerprotokoll", query, "Schließen", "");
}stock countProtoStep(playerid)
{
new counter;
for(new i;i<sizeof ProtocolRead;i++)
{
if(strlen(ProtocolRead[playerid][i][2]) > 0)counter ++;
}
return counter;
} -
Schöne dargestellte Grafik!
Die Frage die ich mir persönliche Stelle, wie soll ich das Umsetzen? Also bin gerne bereit mitzulesen und dann etwas rum zuprobieren. Klingt zwar komplexer, aber umso mehr sinnvolles Zeug in meiner Kugel rumschwirrt, um so besser! -
Weil du den Cache erst in einem Callback auswerten lassen kannst.
Aber noch vorab, du brauchst bei einer zweiseitigen Abfrage, kein return verwenden.
Weil er wird bei dieser Abfrage Methode nicht das andere von beiden auch noch ausführen.Daher schreibe es mal so:
new query[128];
mysql_format(handle, query, sizeof(query), "SELECT ID FROM Accounts WHERE Name = '%e'", Name),
mysql_pquery(handle, query, "Callback", "d", playerid); //d oder i für einen runden Zahlenwertforward Callback(playerid); //Kann beliebig umbenannt werden
public Callback(playerid)
{
new rows;
cache_get_row_count(rows);
if(rows == 0)
{
}
else
{
}
} -
Ich kompiliere mein Skript standardmäßig mit Pawno.
-
Also der Hauptgrund ist ja eigentlich, das mein Prozessor einfach zu lange braucht, wenn das Skript größer ist.
-
Biete mich immer noch an, falls Interesse besteht, weiste du ja, wo du mich findest.
-
Ich sage mal so, ich bin wie erwähnt in ferner Zukunft via Remote Desktop am Skripten und möchte dass man ein Passwort braucht um auf das Skript zuzugreifen.
-
Ich habe leider gerade einen Impulskauf getätigt und mir eine Lizenz für die PawnIT IDE geholt, warte gerade noch auf den Entwickler dass er sich mit mir in Kontakt setzt bezüglich meines Erhalts der Lizenz.
Finde es wirklich Schade, dass das Programm nicht weiter entwickelt wird. Hat jemand eine alternative für mich? Ich benutze in ferner Zukunft einen Windows Dedicated Server und und kompiliere auch auf dem System, ich möchte aber so ein tolles Features wie bei der PawnIT IDE mit der verschlüsselten PAWN Datei? Kennt da jemand was ähnliches? -
Frage mich gerade wieso du das Fahrzeug in eine neu erstellte Sektorenbezogene Variable lädst und nicht in das Array mit der Enumerator Verbindung.
Kannst du mir folgen?
-
Wenn du dich bitte etwas konkreter und verständlicher ausdrücken würdest, dann könnte man dich eventuell besser nachvollziehen. Weil aufgrund der Unklarheit bezüglich des Sachverhaltes, kann ich dir zum Beispiel, nicht helfen.