Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Schrubber

Anfänger

  • »Schrubber« ist der Autor dieses Themas

Beiträge: 4

Rootserver vorhanden: Nein

  • Nachricht senden

1

Mittwoch, 5. Juni 2013, 20:06

[Gelöst] MapCycle-Datenbankabgleich funktioniert nicht

Guten Tag,

ich hab hier ein kleines Script geschrieben, was eine Datenbanktabelle auslesen soll & den dort stehenden Inhalt in die MapCycle.txt schreiben soll. Zur Übersicht hab ich die Schreib-Funktion erstmal weggelassen, sodass die Daten, welche in der Datenbank stehen, nur erstmal ausgegeben werden sollen. Jedoch liegt hier mein Problem:

Der Befehl SQL_TQuery() wird nicht ausgeführt, sondern einfach übersprungen. Keine Fehlermeldung in der Console oder beim kompilieren. Komme da irgendwie nicht mehr weiter :( Vielleicht hat einer von euch eine Idee?

Spoiler Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <sourcemod>

#define plugin_version "0.1 alpha"
#define plugin_name "Maple-Maniac"

new Handle:hDatabase = INVALID_HANDLE;
new Handle:serverid = INVALID_HANDLE;

public Plugin:myinfo =
{
	name = "Maple-Maniac",
	author = "Schrubber",
	description = "Easy MapCycle-Management for YOUR server",
	version = plugin_version,
	url = " "
};

public OnPluginStart() {
	serverid = CreateConVar("sm_maplemaniac_sid", "31", "ServerID for the database", FCVAR_PLUGIN);
	RegAdminCmd("sm_reloadmaplemaniac", ReloadMapleManiac, ADMFLAG_ROOT);    	
	InitDB();
}

public InitDB() {
	decl String:error[255];
	hDatabase = SQL_Connect("mapcycle", false, error, sizeof(error));
	if (hDatabase == INVALID_HANDLE) {
		SetFailState("SQL error: %s", error);
	}
	GetMapCycle();
}

public Action:ReloadMapleManiac(client, args) {
	InitDB();
	return Plugin_Handled;
} 

public GetMapCycle() {
	decl String:table[256], String:query[512];
	GetConVarString(serverid, table, sizeof(table));
	Format(query, sizeof(query), "SELECT mapcycle FROM `maplemaniac_current` WHERE serverid = '%d';",GetConVarInt(FindConVar("sm_maplemaniac_sid"))); 
	SQL_TQuery(hDatabase, SQL_GetInfo5, query);
}

public SQL_GetInfo5(Handle:owner, Handle:hndl, const String:error[], any:data) {
	new String:maps[255];
	LogMessage("Test: GetInfo5");
	if (hndl == INVALID_HANDLE) {
    	LogError("[Maple-Maniac] SQL Getting Maps Error: %s", error);
	} else if (SQL_FetchRow(hndl)) {
    	SQL_FetchString(hndl, 0, maps, sizeof(maps));
	}
	LogMessage(maps);
}


Es handelt sich um Zeile 42 (SQL_TQuery(hDatabase, SQL_GetInfo5, query), bzw. Zeile 45-Zeile 54 (public SQL_GetInfo5 { ... }..


Grüße,
Schrubber

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Schrubber« (5. Juni 2013, 21:59)


2

Mittwoch, 5. Juni 2013, 20:14

Wozu was eigenes schreiben wenn es ähnlich oder genau so schon gibt.
https://forums.alliedmods.net/showthread.php?t=179086

Schrubber

Anfänger

  • »Schrubber« ist der Autor dieses Themas

Beiträge: 4

Rootserver vorhanden: Nein

  • Nachricht senden

3

Mittwoch, 5. Juni 2013, 20:21

Ist schwer zu erklären. Sagen wirs so: Die Funktionen, die ich noch einbauen möchte, sind mir dem von dem Herren geschriebenen Script nicht so einfach realisierbar. Er z.B: erstellt für den Server eine Tabelle mit genau 1ner Tabelle, wo er Zeile für Zeile eine Map einträgt. Das hat zur Folge, dass man für jeden Server, auf dem das Script läuft, eine eigene Tabelle erstellen muss. Ist für 2-3 Server noch übersichtlich, aber für meine größere Planung unvorteilhaft.

Aber davon abgesehen, hat das ja eigentlich nichts mit dem zu tun. Oder würde sich der Fehler beseitigen, wenn der Herr das Script nicht erstellt hätte? Glaube nicht :-/

TeC

Anfänger

Beiträge: 45

Rootserver vorhanden: Ja

  • Nachricht senden

4

Mittwoch, 5. Juni 2013, 20:50

Habe das mal ein wenig umgestellt.
»TeC« hat folgende Datei angehängt:
  • maniac.sp (1,5 kB - 96 mal heruntergeladen - zuletzt: 24. Dezember 2023, 04:25)

Schrubber

Anfänger

  • »Schrubber« ist der Autor dieses Themas

Beiträge: 4

Rootserver vorhanden: Nein

  • Nachricht senden

5

Mittwoch, 5. Juni 2013, 21:36

Hey,

danke für die Antwort. Jedoch weiterhin das gleiche Problem: SQL_GetInfo5 wird NICHT aufgerufen.

TeC

Anfänger

Beiträge: 45

Rootserver vorhanden: Ja

  • Nachricht senden

6

Mittwoch, 5. Juni 2013, 21:40

Hab ich natürlich vorher durchgetestet - läuft bei mir.

SQL_TConnect und Co. an deine MySQL Konfiguration angepasst? Logs?

Schrubber

Anfänger

  • »Schrubber« ist der Autor dieses Themas

Beiträge: 4

Rootserver vorhanden: Nein

  • Nachricht senden

7

Mittwoch, 5. Juni 2013, 21:47

Hey,

gerade meine Logs durchgesehen. Hat wohl jemand den Spalten-Namen geändert & nicht bescheid gegeben.... Nun gehts :) Vielen Dank.

Grüße,
Schrubber

Ähnliche Themen