Sie sind nicht angemeldet.

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

1

Mittwoch, 27. Juli 2011, 23:23

Mapvote Script gesucht (Scripting Anfrage)

Nabend....

Ich hätte gerne ein modifiziertes Mapvote Plugin.

Zur Sache: Wir nutzen zZ den standartmäßigen SM mapchooser. Der Vote wird 5:00min vor Mapende gestartet.
Zugegriffen wird auf eine von mir festgelegte votemapslist.txt

Spoiler Spoiler

/* For the "mapchooser" plugin */
"mapchooser"
{
"file" "votemaplist.txt"


Nun hätte ich aber gerne die Option, das diese dazugehörige votemapslist, nach Anzahl der Spieler verändert wird.

Beispiel:

- das Plugin ruft 5:05min vor Ende der Map ab, wieviele Spieler online sind. (Oder halt generell 5 Sekunden vor dem Vote)
- sind x Spieler online, wird votemaplist.txt abgeruft
- sind x Spieler online wird votemaplist2.txt abgeruft

Vorraussetzung wäre natürlich, dass man die Spieleranzahl einstellen kann, ab wann welche Liste abgerufen wird.

Vorteil so eines Plugins wäre, dass man die verfügbaren Maps, direkt an die Spieler angleichen kann, ohne das ein
Admin online sein muss. Mehr als 2 mögliche Listen wären viell. für einige hier auch sinnvoll - wäre aber nun für
mich persönlich nicht vonnöten.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »TempletonPeck« (27. Juli 2011, 23:47)


Kathy

Fortgeschrittener

Beiträge: 523

Wohnort: München

Beruf: Roaster/Freelance Editor

Rootserver vorhanden: Ja

  • Nachricht senden

2

Donnerstag, 28. Juli 2011, 03:57

Kleiner Gedankenschubser.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* For the "mapchooser" plugin */
"mapchooser"
{
stock GetRealClientCount( bool:inGameOnly = true ) {
	new count = 0;
	for( new i = 1; i <= GetMaxClients(); i++ ) {
		if( ( ( inGameOnly ) ? IsClientInGame( i ) : IsClientConnected( i ) ) && !IsFakeClient( i ) ) {
			count++;
		}
	}
	return count;
if (count < 5);
	{
	"file" "votemaplist.txt"
	}
else if (count > 5);
	{
	"file" "votemaplist2.txt"
	}
}


NTcgNjggNmYgNjEgMmUgMjAgNDQgNjUgNmEgNjEgMjAgNzYgNzUgMmU=

Wer weiss was das ist?

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

3

Donnerstag, 28. Juli 2011, 18:16

L 07/28/2011 - 12:34:20: Info (map "de_cbble") (file "errors_20110728.log")
L 07/28/2011 - 12:34:20: [SM] Could not parse file "/home/gs/css-public/orangebox/cstrike/addons/sourcemod/configs/maplists.cfg"
L 07/28/2011 - 12:34:20: [SM] Error on line 51 (col 26): Line contained too many invalid tokens
L 07/28/2011 - 12:34:20: [SM] Could not parse file "/home/gs/css-public/orangebox/cstrike/addons/sourcemod/configs/maplists.cfg"
L 07/28/2011 - 12:34:20: [SM] Error on line 51 (col 26): Line contained too many invalid tokens
L 07/28/2011 - 12:34:20: [SM] Could not parse file "/home/gs/css-public/orangebox/cstrike/addons/sourcemod/configs/maplists.cfg"
L 07/28/2011 - 12:34:20: [SM] Error on line 51 (col 26): Line contained too many invalid tokens
L 07/28/2011 - 12:34:20: [SM] Could not parse file "/home/gs/css-public/orangebox/cstrike/addons/sourcemod/configs/maplists.cfg"
L 07/28/2011 - 12:34:20: [SM] Error on line 51 (col 26): Line contained too many invalid tokens
L 07/28/2011 - 12:34:20: [SM] Could not parse file "/home/gs/css-public/orangebox/cstrike/addons/sourcemod/configs/maplists.cfg"
L 07/28/2011 - 12:34:20: [SM] Error on line 51 (col 26): Line contained too many invalid tokens


Keine Ahnung wo ich da die Tippfehler drinhab. Vielleicht kannst du mir den Code ja mal in der cfg selbst einfügen und wieder hochladen.
Das wäre echt knorke :lovu:

Kann die Datei aufgrund der Dateiendung nicht hochladen, also hier ein externer Link.

http://www.file-upload.net/download-3620…plists.cfg.html

4

Freitag, 29. Juli 2011, 10:26

L 07/28/2011 - 12:34:20: Info (map "de_cbble") (file "errors_20110728.log")
L 07/28/2011 - 12:34:20: [SM] Could not parse file "/home/gs/css-public/orangebox/cstrike/addons/sourcemod/configs/maplists.cfg"
Ist jetzt nur eine Vermutung, aber "invalid token" könnte der Bindesstrich bei "css-public" sein. Ich erinnere mich dunkel, dass ich damit auch schon mal Probleme hatte und verwende statt dessen immer einen Unterstrich.

Ansonsten ist die Idee wirklich super und es wäre toll, wenn das umsetzbar wäre.
Wir haben auch oft das Problem, dass nur wenige Spieler da sind und dann immer die allergrößten Maps voten und dann hinterher meckern/abzuhauen.

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

5

Freitag, 29. Juli 2011, 10:51

Wie du siehst, bezieht sich die fehlermeldung auf die maplist.cfg

"/home/gs/css-public/orangebox/cstrike/addons/sourcemod/configs/maplists.cfg"

Ausserdem trat der Fehler erst nach Bearbeitung selbiger auf. Nachdem ich den Code wieder zurückgesetzt habe, läuft alles wieder
normal.

fluxX

Super Moderator

Beiträge: 1 056

Wohnort: Österreich

Beruf: IT Systemadministrator

Rootserver vorhanden: Ja

  • Nachricht senden

6

Freitag, 29. Juli 2011, 23:41

schau mal hier -> Mapvote Plugin
das kann halt viel mehr ^^

  • »TempletonPeck« ist der Autor dieses Themas

Beiträge: 2 498

Wohnort: Schwelm

Beruf: Immobilien-Verwalter / Serveradministrator

Rootserver vorhanden: Nein

  • Nachricht senden

7

Dienstag, 2. August 2011, 14:14

Problem ist, dass dieses Plugin die nextmap selber setzt. Wir wollen aber schon den Vote nutzen.

MadMakz

Super Moderator

Beiträge: 1 878

Wohnort: ~#

Rootserver vorhanden: Ja

  • Nachricht senden

8

Dienstag, 2. August 2011, 16:39

glaube weniger das der code in die /configs/maplists.cfg als in die mapchooser.sp(.smx) kommt ;)

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
stock GetRealClientCount(bool:inGameOnly = true)
{
	new clients = 0
	for(new i = 1; i <= MaxClients; i++)
	{
		if(((inGameOnly) ? IsClientInGame(i) : IsClientConnected(i)) && !IsFakeClient(i))
		{
			clients++
		}
	}
	return clients
}

public OnConfigsExecuted()
{
	if (GetRealClientCount() < 5)
	{
		if (ReadMapList(g_MapList,
						 g_mapFileSerial, 
						 "mapchooser",
						 MAPLIST_FLAG_CLEARARRAY|MAPLIST_FLAG_MAPSFOLDER)
			!= INVALID_HANDLE)
	}
	else
	{
		if (ReadMapList(g_MapList,
						 g_mapFileSerial, 
						 "mapchooser2",
						 MAPLIST_FLAG_CLEARARRAY|MAPLIST_FLAG_MAPSFOLDER)
			!= INVALID_HANDLE)
	}


schwebt mir da im kopf. :)

zusätzlich nochmal triggern kurz bevor der mapvote startet (siehe dazu SetupTimeleftTimer()) am besten den code ab "if (GetRealClientCount() < 5)" in eine eigene funktion packen damit man ihn einfacher callen kann in "onconfigsexecuted" & "setuptimelefttimer" bzw dort wo der vote getriggert wird -> "InitiateVote".


in die maplsit.cfg kommt dann noch der neue eintrag für mapchooser2,der auf die maplist datei zeigt die bei mehr als X (hier 4) spielern benutz werden soll

soweit meine theorie, hab leider keine server zum testen, es weiter auszuarbeiten.

Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von »MadMakz« (2. August 2011, 17:15)


Ähnliche Themen