You are not logged in.

KmK

Unregistered

1

Sunday, October 21st 2012, 10:34pm

Knife Begrenzung 1x knife pro Runde

Hallo,
Ich suche ein Plugin womit man beim zweiten mal knifen geslayt wird oder man einfach eine begrenzung hat.
das man nur einmal knifen kann.
Habe selbst schon danach gesucht, und leider nichs gefunden
Hoffe es kann mir jemand helfen ;)

Bara

Professional

Posts: 834

wcf.user.option.userOption53: Ja

  • Send private message

2

Sunday, October 21st 2012, 10:35pm

1 Thread reicht brauchst nicht gleich 3 aufmachen

Jackmaster

Super Moderator

Posts: 660

wcf.user.option.userOption53: Ja

  • Send private message

3

Sunday, October 21st 2012, 10:53pm

Spoiler Spoiler

Source code

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# =============================================================================
# >> Import
# =============================================================================

import es

# =============================================================================
# >> Cfg
# =============================================================================

MAX_MESSERN = 1

# =============================================================================
# >> Cfg Ende
# =============================================================================

# =============================================================================
# >> Dictionary
# =============================================================================

playerDict = {}

# =============================================================================
# >> Load & Unload-Block
# =============================================================================

def load():
	for a in es.getUseridList():
		steamid = es.getplayersteamid(a)
		playerDict[steamid] = 0
		
	es.addons.registerTickListener(tickListen)
		
def unload():
	playerDict.clear()
	es.addons.unregisterTickListener(tickListen)
	
# =============================================================================
# >> Ticklistener, Art Timer
# =============================================================================

def tickListen():
	for a in es.getUseridList():
		attack = es.getplayerprop(a, 'CBaseCombatCharacter.bcc_localdata.m_flNextAttack')
		dead = es.getplayerprop(a, 'CCSPlayer.baseclass.pl.deadflag')
		steamid = es.getplayersteamid(a)
		if not steamid in playerDict:
			playerDict[steamid] = 0
			if dead:
				return
			if getActiveWeapon(a) == "weapon_knife":
				if attack => 0:
					playerDict[steamid] += 1
					if playerDict[steamid] == MAX_MESSERN:
						es.cexec(a, "kill")
						
# =============================================================================
# >> Returned aktive Waffe
# =============================================================================
			
			
def getActiveWeapon(userid):
	handle = es.getplayerprop(userid, 'CBaseCombatCharacter.m_hActiveWeapon')
	index = es.getindexfromhandle(handle)
	return es.entitygetvalue(index, 'classname')
	
# =============================================================================
# >> Gameevent Spawn
# =============================================================================
	
def player_spawn(ev):
	userid = ev["userid"]
	playerDict[es.getplayersteamid(userid)] = 0


Probier das mal.

This post has been edited 1 times, last edit by "General_V" (Oct 22nd 2012, 5:44pm)


General_V

Super Moderator

Posts: 1,043

Location: Mönchengladbach

Occupation: Brückenkranführer / Staplerfahrer

wcf.user.option.userOption53: Nein

  • Send private message

4

Monday, October 22nd 2012, 5:44pm

spoiler in Zukunft benutzen, Danke

Impact

Super Moderator

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

5

Monday, October 22nd 2012, 5:59pm

Jack, dein Plugin hat einen relativ großen Overhead für diese simple Aufgabe.
Hook doch einfach das PlayerDeath Event, prüfe ob es ein Messer war und erhöhe eine Variable.
Wenn die Variable über 1 ist dann führe eine Aktion aus, einen Ticklistener dafür zu verwenden ist nicht wirkliche gutes Coding.
Es ist nun wirklich nicht notwendig 66 mal die Sekunde zu prüfen ob jemand gerade ein Messer hat und damit IN_ATTACK ist.
Mal abgesehen davon wird man direkt mit dem ersten Messestich gekillt wenn man den Wert auf 1 hat.
Zudem wird es wohl so sein dass man wenn man attackiert nicht unbedingt jemanden dabei tötet, falls ich den Code falsch interpretiert habe verzeih mir.

So, genug geflamed^^

MfG
Impact

This post has been edited 2 times, last edit by "Impact" (Oct 22nd 2012, 6:05pm)


KmK

Unregistered

6

Monday, October 22nd 2012, 6:17pm

Hilfe pls.

Hallo also sry aber kenn mich nicht ganz so aus.
Könntest du mir erklären, wie ich das nach deiner Methode machen muss ?

Und bei JackMaster´s Methode müsste ich es eigentlich so machen oder:
Text was er geschickt hat einfügen und als knife.py speichern.
Dann einfügen bei eventscripts/knife/knife.py
Und in die autoexec reinschreiben es_load knife.?

Impact

Super Moderator

Posts: 1,276

wcf.user.option.userOption53: Nein

  • Send private message

7

Monday, October 22nd 2012, 6:31pm

Ich supporte wie in meiner Signatur zu sehen ist kein Eventscripts, das waren einfach nur Tipps an Jackmaster.

MfG
Impact

Jackmaster

Super Moderator

Posts: 660

wcf.user.option.userOption53: Ja

  • Send private message

8

Monday, October 22nd 2012, 7:20pm

Er wollte doch das man nur einmal knifen kann, deswegen check ich sobald er knifet :D
Und das man muss man als .py abspeichern

KmK

Unregistered

9

Monday, November 5th 2012, 7:45pm

Fehlermeldung am Server

Das ist die Fehlermeldung am Server bei dem knife Plugin.

*** EventScripts caught an exception:
Traceback (most recent call last):
File "/home/Kundennummer/server/css_test/css/cstrike/addons/eventscripts/es.py", line 409, in loadModuleAddon
newaddon = __import__(importname)
File "/home/Kundennummer/server/css_test/css/cstrike/addons/eventscripts/knife/knife.py", line 52
if attack => 0:

^
SyntaxError: invalid syntax
Could not open script for addons/eventscripts/knife/es_knife.txt
Error source (console): (no script)

Hoffe du kannst mir dabei helfen ;)