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

TK-HE Plugin
https://www.adminmod.de/viewtopic.php?t=1671
Seite 1 von 2

Autor:  Tomy Tom [ 28.02.2002, 18:06 ]
Betreff des Beitrags:  TK-HE Plugin

Da ja hier eine fähige Leute sind, stelle ich einfach mal die Frage, ob es möglich ist ein Plugin zu programmieren, welchen folgende Basis hat:

Nach einem TK soll der TKler die nächste Runde aussetzten (so wie's eben bei TK_Punish 1 eben der Fall ist).
Allerdings stelle ich mir vor das jemand nicht mit TK_Punish bestraft wird, wenn dieser eine TK nach seinem Tod begeht.

Mit anderen Worten, falls ein Teammate mit einer scharfen HE getötet wird und ein anderes Teammate durch die HE getötet wird, soll kein TK_Punish erfolgen, da ja der jenige der die HE hatte nichts dafür kann.

Ist sowas machbar ????

Autor:  Sir Drink a lot [ 28.02.2002, 18:18 ]
Betreff des Beitrags: 

Hab da mal was von ner Cvar gehört..
Wenn es die gibt dann
wäre es einfacher, diese cvar:
mp_friendly_grenade_damage "0"
in die server.cfg bzw. listenserver.cfg
einzustellen ?

Autor:  Tomy Tom [ 02.03.2002, 01:11 ]
Betreff des Beitrags: 

Naja die Sache mit dem mp_friendly_grenade_damage "0" wäre natürlich eine Alternative, aber auf den meisten Servern im I-Net die mp_friendly_grenade_damage auf "1" zudem entspricht es durchaus der Realität das Granaten auch Teammates verletzen bzw. töten können ;)

Wie schon erwähnt das Plugin soll ja nur dann greifen, wenn ein Toter mit seiner HE einen TK begeht.

Müsste doch eigentlich machbar sein oder ???

Autor:  Sir Drink a lot [ 02.03.2002, 02:40 ]
Betreff des Beitrags: 

tja, da müsste man abfragen, ob die waffe eine granate war, die ein Teamkollege geworfen hat.

Dann ein logd_event round_start....

wenn die waffe eine granate war kein player kill...
wenn andere waffe...dann player kill...

aber alles ohne tkpunish 1

so sieht das Plugin Konzept aus...nicht schwer,oder :-) ? Also auf ihr Plugin Schreiber...

Autor:  Tomy Tom [ 13.03.2002, 08:21 ]
Betreff des Beitrags: 

Öhem, ich hab nun vor kurzen ein solches Plugin gesehen, daß genauso funktioniert wie ich es mir vorgestellt habe, leider weiß ich weder den Namen, noch woher ich's bekommen könnte.

Habt Ihr vielleich da eine Adresse oder das Plugin selbst ???

Autor:  Wookie [ 13.03.2002, 12:01 ]
Betreff des Beitrags: 

dann such doch einfach wieder den server
und frag ein admin da

Autor:  Tomy Tom [ 13.03.2002, 20:41 ]
Betreff des Beitrags: 

Zitat:
dann such doch einfach wieder den server
und frag ein admin da
Recht witzig, damüsste ich ja nur die knapp 3500 Server zusuchen die ich in den letzten Monaten besucht habe und dann auch noch das Glück haben einen Admin dort zu treffen der mir darüber Auskunft geben kann !!!

Das ist ja einfach, da hätte ich ja selbst drauf kommen können :roll: :roll:

Autor:  emmi2 [ 03.04.2002, 20:16 ]
Betreff des Beitrags: 

wenn ein teammitglied im "sterben" die he fallen lässt, entspricht es ja auch der realität dass dann noch leute verletzt werden auch wenns die eigenen sind.......in diesem sinne entweder mp_friendly_grenade_damage "0" oder "1" so wie es beliebt.

emmi

Autor:  Tomy Tom [ 04.04.2002, 21:51 ]
Betreff des Beitrags: 

Zitat:
wenn ein teammitglied im "sterben" die he fallen lässt, entspricht es ja auch der realität dass dann noch leute verletzt werden auch wenns die eigenen sind.......in diesem sinne entweder mp_friendly_grenade_damage "0" oder "1" so wie es beliebt.

emmi
Das ist ja auch OK so, aber was eben nicht gerade sein muß ist das jemand dann durch TK_PUNISH die nächste Runde aussetzt, nur weil einer oder mehrere Teammates mal wieder so blöd waren in die HE zu rennen.

Autor:  netkowalski [ 05.04.2002, 13:28 ]
Betreff des Beitrags: 

Ich denke ich nehme mich der Sache ma an, dauert aber vielleicht etwas länger!!!

kowalski

Autor:  Tomy Tom [ 06.04.2002, 13:27 ]
Betreff des Beitrags: 

Zitat:
Ich denke ich nehme mich der Sache ma an, dauert aber vielleicht etwas länger!!!

kowalski
ThX !!! :D

Autor:  netkowalski [ 10.04.2002, 13:56 ]
Betreff des Beitrags: 

So, bin fertig!
Das einzige Problem ist: Ich weiß nicht wann die Runde wirklich anfängt!
Ich háb das so gelöst: Ich stelle fest wan sie zuende ist und starte das killen der TKler dann mit 7 Sekunden Verzögerung!

Wenn das zu kurz ist einfach melden!

Hier der Code:

Code:
/*
"The advanced way to punish TK's!" - Plugin
It needs LogD and log "on" and mp_logdetail 3
For help write: netkowalski@web.de or UIN: 120528390
(c) by [TEaM]walski 2002
*/
#include <core> 
#include <console> 
#include <string> 
#include <admin> 
#include <adminlib> 

#define ACCESS_CONSOLE 131072 
#define ACCESS_ADMIN 131071
new STRING_VERSION[MAX_DATA_LENGTH] = "0.1"; 
new NRKill[MAX_PLAYERS];
new HAI=1;
new OnOff=0;

public tkplugin_slay()
{
	new Name[MAX_NAME_LENGTH];
	new sI[MAX_DATA_LENGTH];
	for (new i=1;i<HAI+1;i=i+1)
      	{
		if (NRKill[i]!=0)
      		{
			numtostr(NRKill[i],sI);
      			get_username(sI,Name,MAX_NAME_LENGTH);
      			execclient(Name,"kill");
      			centersay("SLAYED FOR TK LAST ROUND",5,255,0,0);
      			NRKill[i]=0
      		}
      	}
      	return PLUGIN_HANDLED;
}
	
public tkplugin_kill( HLCommand,HLData,HLUserName,UserIndex ) 
{	
   	if (OnOff!=0)
   	{
   		new iIDA; 
   		new iIDV; 
   		new sIDA[MAX_NAME_LENGTH]; 
   		new sIDV[MAX_NAME_LENGTH]; 
   		new Data[MAX_DATA_LENGTH];
   		new Team1;
   		new Team2;
   		new Dead;
   		new UID;
   		new WONID;
	   	   	         
	   	convert_string( HLData, Data, MAX_DATA_LENGTH ); 
	   	strsplit(Data," ",sIDA,MAX_NAME_LENGTH,sIDV,MAX_NAME_LENGTH); 
	       	iIDA = strtonum(sIDA); 
	   	iIDV = strtonum(sIDV); 
	   	playerinfo(iIDA, sIDA, MAX_NAME_LENGTH, UID, WONID, Team1, Dead);
	   	playerinfo(iIDV, sIDV, MAX_NAME_LENGTH, UID, WONID, Team2);
	   	if (Team1==Team1 || Dead==0)
	   	{
   			NRKill[HAI]=iIDA
   			HAI=HAI+1
   		}
   		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
	
public tkplugin_reset(HLCommand,HLData,HLUserName,UserIndex,Param) 
{
	if (OnOff!=0)
	{
		new Data[MAX_NAME_LENGTH]; 
		convert_string(HLData,Data,MAX_NAME_LENGTH); 
    
	   	if(   strcmp(   "Round_Start", Data   ) != 0 )
	   	{
      			set_timer("tkplugin_slay",7,1);
      		}
      		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}

public tkplugin_onoff( HLCommand,HLData,HLUserName,UserIndex)
{
	new Data[MAX_DATA_LENGTH];
	new User[MAX_NAME_LENGTH];
	new Text[MAX_DATA_LENGTH];
	new On;
	convert_string(HLData,Data,MAX_DATA_LENGTH);
	convert_string(HLUserName,User,MAX_NAME_LENGTH);
	if (strlen(Data)==0)
	{
		snprintf(Text,MAX_DATA_LENGTH,"Use of this command:^ntkpplugin_onoff^n0 to turn off, 1 to turn it on.^nAt the moment it is: %i",OnOff);
		messageex(User,Text,print_console);
		return PLUGIN_HANDLED;
	}
	snprintf(Text,MAX_DATA_LENGTH,"The TK-punish is now %s",Data);
	messageex(User,Text,print_console);
	set_vaultdata("tkpunish_onoff", Data)
	On=strtonum(Data);
	OnOff=On;
	return PLUGIN_HANDLED;
}
	

public plugin_init() 
{ 
   plugin_registerinfo("TK-Script","An advanced way for TK-punishment",STRING_VERSION); 
   plugin_registercmd("tkplugin_kill", "tkplugin_kill", ACCESS_CONSOLE, ""); 
   plugin_registercmd("tkplugin_reset", "tkplugin_reset", ACCESS_CONSOLE, ""); 
   plugin_registercmd("tkplugin_onoff", "tkplugin_onoff", ACCESS_ADMIN, ""); 
    
   exec( "logd_reg 57 admin_command tkplugin_kill" ); 
   exec( "logd_reg 62 admin_command tkplugin_reset" ); 
   
   new Data[MAX_DATA_LENGTH];
   new On;
   get_vaultdata("tkpunish_onoff", Data, MAX_DATA_LENGTH);
   On=strtonum(Data);
   OnOff=On;
        
   return PLUGIN_CONTINUE; 
} 
Viel Spaß!

Und wie immer Bugs und Fragn in diesen Thread!!

kowalski

Autor:  Biohazard1 [ 10.04.2002, 14:14 ]
Betreff des Beitrags: 

Wie nennst du das Plugin denn, Kowalski ?

Kleiner Tip: Schreib doch über das Plugin einen Kommentar mit dem Namen des Plugins und deinem, so weiß man später auch noch wer es programmiert hat und wem man dafür danken muß :)

Bio

Autor:  Tomy Tom [ 12.04.2002, 17:06 ]
Betreff des Beitrags: 

Hi,

bin leider erst jetzt zum testen gekommen.

Leider bekomme ich schon beim kompilieren des Codes ein paar Fehlermeldungen, die da lauten (ich hab dasPlugin mal PLUGIN_HETK_PUNISH genant):

plugin_hetk_punish.sma(29) Warning [217]: loose indentation
plugin_hetk_punish.sma(35) Warning [217]: loose indentation
plugin_hetk_punish.sma(55) Warning [217]: loose indentation
plugin_hetk_punish.sma(56) Warning [217]: loose indentation
plugin_hetk_punish.sma(66) Warning [217]: loose indentation
plugin_hetk_punish.sma(76) Warning [217]: loose indentation
plugin_hetk_punish.sma(80) Warning [217]: loose indentation

Naja zumdem finde ich die Verzögerung von 7 Sekunden recht lange, da es einige gibt die ja da schon wieder voll ausgerüstet sind und sich dann schwarz ärgern, wenn diese dann beim loslaufen sterben.

Eine Verzögerung von 1 Sekunde wäre da schon besser :wink:

Autor:  Biohazard1 [ 12.04.2002, 17:10 ]
Betreff des Beitrags: 

Es sind Warnings, keine Fehler, sie besagen das der Quellcode an einigen Stellen eingerückt werden muß. Du kannst sie aber getrost vergessen.

Bio

Autor:  Tomy Tom [ 12.04.2002, 17:16 ]
Betreff des Beitrags: 

Danke für die Aufklärung !!!
Wieder was dazu gelernt :wink:

So kommt's eben wenn man sich mit der Sache nicht auskennt !!

Ok, dann teste ich mal das Plugin, aber die Verzögerung von 7 Sekunden finde ich dennoch recht lange.

Autor:  [COLA]*Whiskey [ 12.04.2002, 18:40 ]
Betreff des Beitrags: 

man sollte den button neues thema aus einem beitrag herrausnehmen

Autor:  netkowalski [ 13.04.2002, 10:50 ]
Betreff des Beitrags: 

Die Verzögerung von 7 Sekunden ist ab dann, wenn die Bombe explodiert, alle von einem Team tod sind usw...
Also sie wird schon am Rundenende gestartet!!!!
Und bis die nächste Runde wieder anfängt dauert das nunmal seine Zeit!!!

7 Sekunden sind schon gut!

kowalski

Autor:  Tomy Tom [ 13.04.2002, 12:14 ]
Betreff des Beitrags: 

Also ich hab das Plugin jetzt mal getestet (ich kann's nur mit 2 PC's).
Leider fuktioniert das Plugin nicht so wie ich mir das vorstelle.

Also LOGD inst installier und läuft und steht auf DETAIL 3.

Wenn mich jetzt mein TEAMMATE killt und er dann durch meine scharfe HE ebenfalls draufgeht, sind wir beide in der nächsten Runde Tod.
Eigentlich sollte ja ich nicht sterben und weiter machen können.

Muß ich noch was einstellen oder hab ich irgendwas vergessen ???

Autor:  netkowalski [ 13.04.2002, 12:28 ]
Betreff des Beitrags: 

also ich habs mit bots getestet und da is es gelaufen!
ich wurde abgeballert und hab jemanden durch ne he getk't und war nächste runde sehr lebendig!

kowalski

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