AdminMod.de
https://www.adminmod.de/

Gibts einen Befehl der die Anzahl der Frags ausgibt?
https://www.adminmod.de/viewtopic.php?t=3877
Seite 2 von 3

Autor:  Sir Drink a lot [ 26.08.2002, 17:23 ]
Betreff des Beitrags: 

ich hoffe jetzt erschlägt mich nicht Blacky oder daRope gleich wieder, wenn ich mal wieder SessionID und UserIndex verwechsel.

Aber es ist ja so, dass der eine Bot einen UserIndex bekommt. Sagen wir mal 1.

Jetzt schmeisst Du ihn runter und 1 ist wieder frei. Jetzt holst Du einen anderen wieder rein und der kriegt jetzt wieder den UserIndex 1.

Mit dem UserIndex 1 sind aber noch die Frags des alten Bots gespeichert.

Also muss man folgendes machen:

#define CLEAN_SLATE 0
Code:
public plugin_connect(HLUserName,HLIP, UserIndex)
{
	if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) {
		FragCount[UserIndex]=CLEAN_SLATE;
	}
	return PLUGIN_CONTINUE;
}

public plugin_disconnect(HLUserName,UserIndex)
{
	if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) {
		FragCount[UserIndex]=CLEAN_SLATE;
		if(SpielerID == UserIndex){
			SpielerID =0;
		}
	}
	return PLUGIN_CONTINUE;
}
Das soll bewirken, wenn der Spieler, also der alte Bot, das Spiel verlässt, eben auch mit seinem UserIndex die Frags im Array FragCount gelöscht werden, damit wenn ein Anderer den freigewordenen UserIndex erhält, nicht auch die gespeicherten Frags übernimmt. (meine Deutsche Muttersprache hat schwer gelitten.....)


Hoffe, dass ist so korrekt. *nach Blacky und Ropey umschau und in Deckung geh*

Autor:  KlaraFall [ 26.08.2002, 17:54 ]
Betreff des Beitrags: 

alles klar. werde ich mal ausprobieren. so in der Art habe ich mir es aber vorgegestellt, das es so abläuft. vielen dank mal wieder für die schnelle Hilfe.

MfG KlaraFall

Autor:  [WING] Black Knight [ 26.08.2002, 23:22 ]
Betreff des Beitrags: 

Unglaublich!!!
Er hat es gelernt...

Oder um es mit einem Deiner Plugins auszudrücken:

IMPRESSIVE!

Autor:  KlaraFall [ 27.08.2002, 09:11 ]
Betreff des Beitrags: 

Code:
public plugin_connect(HLUserName, HLIP, UserIndex) {
	
  new Name[MAX_NAME_LENGTH];
  new WONID;
	
  if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) {
	
      playerinfo(UserIndex, Name, MAX_NAME_LENGTH,_,WONID,_,_);
      if (WONID != 0)
        FragCount[UserIndex] = CLEAN_SLATE;
		
  }
	
  return PLUGIN_CONTINUE;
}

public plugin_connect(HLUserName, HLIP, UserIndex) {
	
  new Name[MAX_NAME_LENGTH];
  new WONID;
	
  if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) {
	
      playerinfo(UserIndex, Name, MAX_NAME_LENGTH,_,WONID,_,_);
      if (WONID != 0)
        FragCount[UserIndex] = CLEAN_SLATE;
		
  }
	
  return PLUGIN_CONTINUE;
}
Ok! Das Prinzip scheint zu funktionieren. Muss mir also überhaupt
nichts merken. Wenn ein Spieler Disconnectet frage ich einfach ab, ob
er ein Bot ist oder nicht. Wenn ja, dann werden die Frags nicht gelöscht.
Connectet ein Spieler, frage ich auch ob dieser ein Bot ist. Wenn ja werden seine Frags nicht genullt. Er hat dann automatisch wieder die alte Frag Anzahl. Ist er ein Human wird genullt und er fängt normal an.
Das ganze funktioniert, weil wenn ein Bot im Spiel war und ein Human connectet auf einem alten BotIndex so fängt der Human bei null an. Der nächste Bot der diesen Index zugewiessen bekommt und danach auch genullt.

Meine Frage ist jetzt allerdings ob es Ratsam ist immer wieder die WONID zu ermitteln und zu vergleichen, oder wäre es Sinnvol in einem Array wie die Frag Anzahl zu speichern ob Bot oder nicht. Einfach mit true oder false.[/code]

Autor:  KlaraFall [ 17.09.2002, 08:14 ]
Betreff des Beitrags: 

hi alle zusammen!

hier ist jetzt der vorläufige Code. Ich denke allerdings das ihr bestimmt noch ein paar verbesserungs vorschläge habt
Code:
#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>


#define ACCESS_CONSOLE 131072


/* Moegliche Werte fuer Status */
#define CLEAN_SLATE 0
#define TAKEN_LEAD 1
#define TIED_LEAD 2
#define LOST_LEAD 3

/* Moegliche Werte fuer CheckOutputLead */
#define CONNECT 1
#define DISCONNECT 2
#define KILL 3
#define TK_SUICIDE 4

new FragCount[MAX_PLAYERS] = {CLEAN_SLATE,...};  /* speichert fuer jeden Spieler seine Frags */
new Status[MAX_PLAYERS] = {CLEAN_SLATE,...};     /* speichert fuer jeden Spieler seinen derzeitigen Status */   
new Sound[MAX_PLAYERS] = {CLEAN_SLATE,...};      /* speichert fuer jeden Spieler, ob er Sound hoeren moechte oder nicht */
new MostFrags = -1;                              /* speichert die hoechste Fragzahl ab  
new STRING_VERSION[MAX_DATA_LENGTH] = "v1.0";

public OutputLead(Index) {

	new WONID;
	new Name[MAX_NAME_LENGTH];
	new Msg[MAX_TEXT_LENGTH];
	playerinfo(Index, Name, MAX_NAME_LENGTH,_,WONID,_,_);
	if (WONID != 0) {
		if (Sound[Index] == 0) {
			switch(Status[Index]) {
				case TAKEN_LEAD: { 
					playsound(Name, "misc/takenlead.wav");
					snprintf(Msg,MAX_TEXT_LENGTH,"Du hast mit %d Frags die alleinige Fuehrung uebernommen", FragCount[Index]);
					messageex(Name,Msg,print_chat);
				}
				case TIED_LEAD: {
					playsound(Name, "misc/tiedlead.wav");
					snprintf(Msg,MAX_TEXT_LENGTH,"Du musst Dir leider mit %d Frags die Fuehrung mit anderen Spielern teilen", FragCount[Index]);
					messageex(Name,Msg,print_chat);
				}
				case LOST_LEAD: {
					playsound(Name, "misc/lostlead.wav");
					snprintf(Msg,MAX_TEXT_LENGTH,"Du hast die Fuehrung mit %d Frags verloren", FragCount[Index]);
					messageex(Name,Msg,print_chat);
				}
			}
		}
	}
	return PLUGIN_CONTINUE;
	
}

public CheckOutputLead(Index, Auswertung) {

	new maxplayers = maxplayercount();
	new Count;
	switch(Auswertung) {
		case CONNECT: {
			if (FragCount[Index] > MostFrags) {
				MostFrags = FragCount[Index];
				for(new i = 1; i <= maxplayers; i++) {
					if (Status[i] == TIED_LEAD || Status[i] == TAKEN_LEAD) {
						Status[i] = LOST_LEAD;
						OutputLead(i);
					}
				}
				Status[Index] = TAKEN_LEAD;
				OutputLead(Index); 
			}
			else if (FragCount[Index] == MostFrags) {
				Status[Index] = TIED_LEAD;
				OutputLead(Index);
				Count = AnzahlMostFrags();
				if (Count == 2) {
					for (new i = 1; i <= maxplayers; i++) {
						if (Status[i] == TAKEN_LEAD) {
							Status[i] = TIED_LEAD;
							OutputLead(i);
						}
					}
				}
			}
			else if (FragCount[Index] < MostFrags) {
				Status[Index] = LOST_LEAD;
			}
		}
		case DISCONNECT: {
			if (Status[Index] == TAKEN_LEAD) {
				Status[Index] = CLEAN_SLATE;
				MostFrags = ErmittelMostFrags();
				Count = AnzahlMostFrags();
				if (Count >= 2) {
					for (new i = 1; i <= maxplayers; i++) {
						if (FragCount[i] == MostFrags) {
							Status[i] = TIED_LEAD;
							OutputLead(i);
						}
					}	
				}	
				else {
					for (new i = 1; i <= maxplayers; i++) {
						if (FragCount[i] == MostFrags) {
							Status[i] = TAKEN_LEAD;
							OutputLead(i);
						}
					}	
				} 
			}
			else if (Status[Index] == TIED_LEAD) {
				Status[Index] = CLEAN_SLATE;
				Count = AnzahlMostFrags();
				if (Count == 1) {
					for (new i = 1; i <= maxplayers; i++) {
						if (Status[i] == TIED_LEAD) {
							Status[i] = TAKEN_LEAD;
							OutputLead(i);
						}
					}
				}	
			}
			else if (Status[Index] == LOST_LEAD) {
				Status[Index] = CLEAN_SLATE;
			}
		}
		case KILL: {
			if (FragCount[Index] > MostFrags) {
				MostFrags = FragCount[Index];
				if (Status[Index] == TIED_LEAD) {
					Status[Index] = TAKEN_LEAD;
					OutputLead(Index);
					for(new i = 1; i <= maxplayers; i++) {
						if (Status[i] == TIED_LEAD) {
							Status[i] = LOST_LEAD;
							OutputLead(i);
						}
					}
				}
			}
			else if (FragCount[Index] == MostFrags) {
				Status[Index] = TIED_LEAD;
				OutputLead(Index);
				Count = AnzahlMostFrags();
				if (Count == 2) {
					for (new i = 1; i <= maxplayers; i++) {
						if (Status[i] == TAKEN_LEAD) {
							Status[i] = TIED_LEAD;
							OutputLead(i);
						}
					}
				}
			}
		}
		case TK_SUICIDE: {
			if (Status[Index] == TAKEN_LEAD) {
				MostFrags -=1;
				Count = AnzahlMostFrags();
				if (Count >= 2) {
					for (new i = 1; i <= maxplayers; i++) {
						if (FragCount[i] == MostFrags) {
							Status[i] = TIED_LEAD;
							OutputLead(i);
						}
					}
				}
			}
			else if (Status[Index] == TIED_LEAD) {
				Status[Index] = LOST_LEAD;
				OutputLead(Index);
				Count = AnzahlMostFrags();
				if (Count == 1) {
					for (new i = 1; i <= maxplayers; i++) {
						if (Status[i] == TIED_LEAD) {
							Status[i] = TAKEN_LEAD;
							OutputLead(i);
						}
					}
				}
			}
		}
	}
	return PLUGIN_CONTINUE;

}

public ErmittelMostFrags() {

	new MaxFrags;
	new Durchlauf;
	new maxplayers = maxplayercount();
	for(new i = 1; i <= maxplayers; i++) {
		if (Status[i] != 0) {
			Durchlauf++;
			if (Durchlauf == 1) {
				MaxFrags = FragCount[i];
			}
			else {
				if (FragCount[i] > MaxFrags) {	
					MaxFrags = FragCount[i];
				}
			}
		}
	}
	return MaxFrags;
}

public AnzahlMostFrags() {

	new maxplayers = maxplayercount();
	new Anzahl = 0;
	for(new i = 1; i <= maxplayers; i++) {
		if (Status[i] != 0) {
			if (MostFrags == FragCount[i]) {
				Anzahl++;
			}
		}
	}
	return Anzahl;
}

public resetscore (Timer, Repeat, HLUserName, HLData) {

	for( new i = 1; i < MAX_PLAYERS; i++ ) {
		FragCount[i] = CLEAN_SLATE;
		Status[i] = TIED_LEAD;
	}
	MostFrags = 0;
	return PLUGIN_CONTINUE;
}

public lead_suicide (HLCommand,HLData,HLUserName,UserIndex) {

	new sID[MAX_NUMBER_LENGTH];
	new Weapon[MAX_NAME_LENGTH];
	new User[MAX_NAME_LENGTH];
	new Data[MAX_DATA_LENGTH];
	new Index;
	new WONID;
	convert_string( HLData, Data, MAX_DATA_LENGTH );
	strsplit(Data, " ", sID, MAX_NUMBER_LENGTH, Weapon, MAX_NAME_LENGTH);
	get_username(sID,User,MAX_NAME_LENGTH);
	Index = strtonum( sID );
	if(strcmp(Weapon, "grenade") == 0) {
		 FragCount[Index] -=1;
		 CheckOutputLead(Index, TK_SUICIDE);
		 
	}
	if(strcmp(Weapon, "world") == 0) {
		get_userWONID(User, WONID);
		if (WONID != 0) {
			FragCount[Index] -=1;
			CheckOutputLead(Index, TK_SUICIDE);
			
		}
	}
	return PLUGIN_HANDLED;
}

public HandleSay(HLCommand,HLData,HLUserName,UserIndex) {
 
	new Data[MAX_DATA_LENGTH];
	new Msg [MAX_TEXT_LENGTH];
	new User[MAX_DATA_LENGTH];
	convert_string(HLData,Data,MAX_DATA_LENGTH);
	convert_string(HLUserName,User,MAX_DATA_LENGTH);
	strstripquotes(Data);
        if(strcasecmp(Data, ".lead") ==0 ) {
        	if (Sound[UserIndex] == 0) {
        		Sound[UserIndex] = 1;
			snprintf(Msg,MAX_TEXT_LENGTH,"You won`t hear the sounds any longer. Use '.lead' if you want to enable them.");
			messageex(User,Msg,print_chat);
		}	
        	else { 
        		Sound[UserIndex]= 0;
			snprintf(Msg,MAX_TEXT_LENGTH,"You have enabled playing the sounds. Use '.lead' if you want to turn them off.");
			messageex(User,Msg,print_chat);
        	}
	}
        return PLUGIN_CONTINUE;
}

public lead_newround (HLCommand,HLData,HLUserName,UserIndex) {

	new Data[MAX_NAME_LENGTH];
	convert_string(HLData,Data,MAX_NAME_LENGTH);
	if(strcmp(Data, "Game_Commencing") == 0) 
		set_timer ("resetscore", 0, 0, Data);
	else if (strcmp(Data, "Restart_Round_(10_seconds)") == 0)
		set_timer ("resetscore", 10, 0, Data);
	else if (strcmp(Data, "Restart_Round_(9_seconds)") == 0)
		set_timer ("resetscore", 9, 0, Data);
	else if (strcmp(Data, "Restart_Round_(8_seconds)") == 0)
		set_timer ("resetscore", 8, 0, Data);
	else if (strcmp(Data, "Restart_Round_(7_seconds)") == 0)
		set_timer ("resetscore", 7, 0, Data);
	else if (strcmp(Data, "Restart_Round_(6_seconds)") == 0)
		set_timer ("resetscore", 6, 0, Data);
	else if (strcmp(Data, "Restart_Round_(5_seconds)") == 0)
		set_timer ("resetscore", 5, 0, Data);
	else if (strcmp(Data, "Restart_Round_(4_seconds)") == 0)
		set_timer ("resetscore", 4, 0, Data);
	else if (strcmp(Data, "Restart_Round_(3_seconds)") == 0)
		set_timer ("resetscore", 3, 0, Data);
	else if (strcmp(Data, "Restart_Round_(2_seconds)") == 0)
		set_timer ("resetscore", 2, 0, Data);
	else if (strcmp(Data, "Restart_Round_(1_seconds)") == 0)
		set_timer ("resetscore", 1, 0, Data);
				
	return PLUGIN_HANDLED;

}


public lead_kill (HLCommand,HLData,HLUserName,UserIndex) {

	new iIDA;
	new iIDV;
	new iTeamA;
	new iTeamV;
	new sID1[3];
	new sID2[3];
	new Attacker[MAX_NAME_LENGTH];
	new Victim[MAX_NAME_LENGTH]; 
	new Data[MAX_DATA_LENGTH];
	convert_string( HLData, Data, MAX_DATA_LENGTH );
	strsplit( Data, " ", sID1, 3, sID2, 3 );
	iIDA = strtonum( sID1 );
	iIDV = strtonum( sID2 );
	if(playerinfo(iIDA, Attacker, MAX_NAME_LENGTH,_,_,iTeamA)) {
		if(playerinfo(iIDV, Victim, MAX_NAME_LENGTH,_,_,iTeamV)) {
	        	if(iTeamV != iTeamA) {
				FragCount[iIDA] +=1;
				CheckOutputLead(iIDA, KILL);
				
			}
	                else {
	                     	FragCount[iIDA] -=1;
	                     	CheckOutputLead(iIDA, TK_SUICIDE);
	                     	
	                }
	        }
	}	
	return PLUGIN_CONTINUE;
	
}

public lead_entergame (HLCommand,HLData,HLUserName,UserIndex) {
	
	new Index;
	new WONID;
	new Data[MAX_DATA_LENGTH];
	new Name[MAX_NAME_LENGTH];
	convert_string(HLData, Data, MAX_DATA_LENGTH);
	Index = strtonum(Data);
	if (Index >= 1 && Index <= MAX_PLAYERS) {
		playerinfo(Index, Name, MAX_NAME_LENGTH,_,WONID,_,_);
		if (WONID != 0) {
			FragCount[UserIndex] = CLEAN_SLATE;
		}
		CheckOutputLead(Index, CONNECT);
		
	}
	return PLUGIN_CONTINUE;

}

public plugin_disconnect(HLUserName, UserIndex) {

	new Name[MAX_NAME_LENGTH];
	new WONID;
	if (UserIndex >= 1 && UserIndex <= MAX_PLAYERS) {
		playerinfo(UserIndex, Name, MAX_NAME_LENGTH,_,WONID,_,_);
		CheckOutputLead(UserIndex, DISCONNECT);
		
		if (WONID != 0) {
			FragCount[UserIndex] = CLEAN_SLATE;
		}
	}
	return PLUGIN_CONTINUE;
	
}


public plugin_init() {

	plugin_registerinfo("Taken the lead",".",STRING_VERSION);
	plugin_registercmd("lead_kill","lead_kill", ACCESS_CONSOLE, "");
	plugin_registercmd("lead_suicide","lead_suicide", ACCESS_CONSOLE, "");
	plugin_registercmd("lead_newround","lead_newround", ACCESS_CONSOLE, "");
	plugin_registercmd("lead_entergame","lead_entergame", ACCESS_CONSOLE, "");	
	plugin_registercmd("say","HandleSay",ACCESS_ALL);
		
	exec( "logd_reg 53 admin_command lead_suicide");
	exec( "logd_reg 62 admin_command lead_newround");
	exec( "logd_reg	57 admin_command lead_kill");
	exec( "logd_reg 51 admin_command lead_entergame");
	return PLUGIN_CONTINUE;
	
}


Autor:  KlaraFall [ 17.09.2002, 08:16 ]
Betreff des Beitrags: 

noch ein Soundfile

Autor:  KlaraFall [ 17.09.2002, 08:17 ]
Betreff des Beitrags: 

und noch eine Sounddatei

Autor:  Sir Drink a lot [ 17.09.2002, 21:08 ]
Betreff des Beitrags: 

ähm...Du kennst doch mein Impressive Plugin?

Wieso willst Du denn nochmal alles machen?
Ok. Dein Plugin hat noch eine nette Idee, dass Du jemandem sagst, mit wievielen Spielern man sich die Führung teilt.

Aber ansonsten macht es ja das selbe wie im Impressive-Plugin.

Aber nun gut:

für den Game_World event würde ich keinen strcmp benutzen.
Den kann man auch Byteweise abfragen. Schau mal, wie ich es im Impressive gemacht habe.

Gruß,
SDal

Autor:  KlaraFall [ 18.09.2002, 09:20 ]
Betreff des Beitrags: 

das ist wohl richtig, das es im Prinzip dein Plugin ist. Um die Frags zu zählen musste ich halt nur ein paar Anpassungen vornehemen. Mir ging es allerdings um die Soundausgabe mit den Quake Sounds. Takenlead, Tiedlead, Lostllead.

das Plugin funzt auch genauso wie in Quake 3. Mir war dein Plugin auch eine grosse Hilfe gewesen. habe mir auch schon überlegt daraus ein Plugin zu machen, da im schlimmsten Fall ziemlich viele Sounddateien auf einmal gespielt werden.

Falls also jemand einen Multikill macht, hat seinen Gegner mit einem Headi niedergestreckt und ist in Führung gegangen, dann sind das schon drei Sounds.

Würde es gerne dahingehend anpassen, das Spieler die eine Führungssound hören, dann auf die anderen Sounds in diesem Moment verzichten muss.

Autor:  Sir Drink a lot [ 18.09.2002, 10:52 ]
Betreff des Beitrags: 

Ok.

Das Impressive5.5 , welches ich im Thread Impressive 5.1 unter Plugins gepostet habe hat diese Quakesounds Taken the lead etc. drin.

Mit den 3 Sounds gleichzeitig stimmt. Das kann passieren.

Man muss also eine globale Variable "favoritesound" setzen.

Wenn Taken the lead, lost the lead oder tied for the lead errechnet wird, wird diese globale Variable auf 1 gesetzt und dient somit als hinweis für die anderen Sounds, dass diese nicht abgespielt werden.

Nach dem Abspielen der Quakesounds wird die globale V. wieder auf 0 gesetzt.

Hm...muss ich mal testen.

Gruß,
Marco

Autor:  redfield82 [ 18.09.2002, 11:11 ]
Betreff des Beitrags: 

mmhh. Wenn ich mir den vorläufigen Code kopiere und den code in amx umwandeln will bekomme ich folgende Fehlermeldungen:

plugin_logd_takenlead.sma(405) Error [1]: expected token: "*/", but found "-end of file-"
plugin_logd_takenlead.sma(405) Warning [203]: symbol is never used: "FragCount"
plugin_logd_takenlead.sma(405) Warning [203]: symbol is never used: "MostFrags"
plugin_logd_takenlead.sma(405) Warning [203]: symbol is never used: "Sound"
plugin_logd_takenlead.sma(405) Warning [203]: symbol is never used: "Status"

1 Error.

Hilfe :)

Autor:  KlaraFall [ 18.09.2002, 12:46 ]
Betreff des Beitrags: 

keine ahnung was da schief gelaufen ist, aber bei mir compiliert der code ohne fehler. ich habe den Quellcode aus dem forum kopiert und kompiliert läuft. vielleicht ist irgendetwas anderes schiefgelaufen
stelle dir meine sma zur Verfügung

die sound dateien hast du ja

Autor:  KlaraFall [ 18.09.2002, 15:16 ]
Betreff des Beitrags: 

Hi Sir drink a lot!

Habe jetzt mehr Zeit zu antworten. Gut, ich wusste nicht das Dein Impressive Plugin auch die
Sounddateien TakeLead, ... auch aussgibt. Zu dem Zeitpunkt als Du mir Deine Version als
Grundgerüst gepostet hast, habe ich nichts dergleichen sehen können. Klar dann hätte ich
mir auch einige Arbeit ersparen können. Darum ging es aber auch nicht. Ich war halt auf
einer LAN und die Leute haben mich mit Quake genervt. War halt eine Idee von mir um mein
erstes Plugin zu schreiben. Würde gerne Deine fertige Lösung sehen. Bin ein bischen Neugirig,
wie Du das ganze realisiert hast.

Bei dem Game_World Event habe ich bewusst das ganze ersteinmal mit strcmp realisiert,
da ich der Meinung war, das es der lesbarkeit des Codes gut tut. Habe Deine Abfrage
in Deinem Plugin natürlich gesehen und werde es auch noch so realisieren (das Relevante Byte abfragen).

Meine Frage an Dich ist, ob ich auch alle relevanten Strings vom Game_World Event abfange
oder gibt es vielelicht noch andere Strings auf die ich reagieren muss um die Frags zu nullen.
Ich fange ab: "Game_Commencing" und "Restart_Round_(10_seconds)". Gibt es noch andere?

Genauso weiss ich nicht ob ein Bot der sich mit Granate selber tötet auch einen Frag abgezogen bekommt.
In meinem Plugin gehe ich nämlich davon aus. Konnte keinen Bot dazu bekommen auf diese Weise zu sterben.

Kannst Du mir vielleicht sagen, wann vielleicht noch Punkte abgezogen werden können und wie die enstrechenden
Strings lauten.

Mit dem Abspielen der Sounds meinte ich das die Sounds weiterhin so an alle ausgegeben werden, allerdings
die Spieler die mit der Führung zu tuen haben, die Lead Sounds und der Rest wie gehabt.
Wenn ich Dich richtig verstanden habe, dann macht Spieler 1 einen Kill, das ganze war IMPRESSIVE und
er geht gleichzeitig in Führung. Alle müssen jetzt auf IMPRESSIVE verzichten nur weil Spieler eins
Taken the lead hört und vielleicht noch einer Lost Lead. Ich meine halt, alle hören IMPRESSIVE und der KIller
hört Taken the lead und noch einer halt Lost lead und kein Impressive. Ich denke halt dann müsste man
sich mehr merken als nur eine globale Variable, ob ein Führungsound ausgegeben wird.

Bitte melde Dich

MfG KlaraFall

Hatte noch einen Fehler beim reseten der Frags. Wer den Code haben will hier auch noch die sma Datei

Autor:  redfield82 [ 19.09.2002, 01:55 ]
Betreff des Beitrags: 

K thx hat gefunzt :wink:
Werds heut noch ausprobben wenn ich pennen war und sag dir dann bescheid ob mir was auffällt an Bugs oder sonstigem.

Autor:  Sir Drink a lot [ 19.09.2002, 08:23 ]
Betreff des Beitrags: 

Hi Klara!

Die fertige Version ist im Impressive 5.1 Thread. Zu finden im Forumsteil Plugins. Ich glaube, da sind jetzt alle Möglichkeiten drin, auf die man achten muss, um die Frags zu löschen.
Bots sind wirklich blöd. Keine Ahnung, was passiert, wenn sie sich mit einer Granate selber killen.
Zitat:
Wenn ich Dich richtig verstanden habe, dann macht Spieler 1 einen Kill, das ganze war IMPRESSIVE und
er geht gleichzeitig in Führung. Alle müssen jetzt auf IMPRESSIVE verzichten nur weil Spieler eins
Taken the lead hört und vielleicht noch einer Lost Lead. Ich meine halt, alle hören IMPRESSIVE und der KIller
hört Taken the lead und noch einer halt Lost lead und kein Impressive. Ich denke halt dann müsste man
sich mehr merken als nur eine globale Variable, ob ein Führungsound ausgegeben wird.
Stimmt. Da müsste ich mir dann nochmal was anderes überlegen....

Autor:  KlaraFall [ 19.09.2002, 11:06 ]
Betreff des Beitrags: 

alles klar. werde ich mir anschauen.

Autor:  KlaraFall [ 19.09.2002, 11:07 ]
Betreff des Beitrags: 

hi redfield82!

auch an dich vielen Dank. gib mir bescheid wenn dir bugs begegnen oder wenn du verbessungen für nötig hälst.

Autor:  redfield82 [ 19.09.2002, 13:19 ]
Betreff des Beitrags: 

Klar werd dir Backup geben :lol:

Autor:  KlaraFall [ 19.09.2002, 14:47 ]
Betreff des Beitrags: 

hi sir Drink ....!

habe dein impressive5.5 getestet. nach welchem Prinzip gibst du die Sounds aus? Wolltest Du es nicht wie bei Quake realisieren?

mir ist aufgefallen das es mit Bots nicht funktioniert zumindest wenn ich welche im laufendem Spiel rausschmeisse und wieder reinhole. Halt immer durcheinander. irgenwann höre ich dann gar nichts mehr, egal ob sich an der führung etwas ändert.

Autor:  Sir Drink a lot [ 21.09.2002, 01:28 ]
Betreff des Beitrags: 

Nein, bei Bots funktioniert es nicht.
Ich weiß. Bots behalten ihre Frags, wenn man einen rauswirft und wieder reinholt.

Aber jetzt extra noch eine Funktion einzubauen, nur damit man auch korrekt mit Bots das Plugin nutzen kann, halte ich nicht für nötig.

In der neuen AM Version gibt es die Funktion get_userfrags. Dann wird dieser Fehler behoben sein :-)

Und ich habe einen Array gespart. Und vieles mehr :-)

Seite 2 von 3 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/