Forum

> > CS2D > Scripts > Drop Hook bei Granaten
Forums overviewCS2D overview Scripts overviewLog in to reply

German Drop Hook bei Granaten

10 replies
To the start Previous 1 Next To the start

old Drop Hook bei Granaten

Anti-Grav
User Off Offline

Quote
Hallo,

Es gibt ja diesen Hook "Drop" womit man prüfen kann ob der Spieler eine Waffe fallen lässt (mit G). Aber mit Granaten geht das nicht. Gibt es da alternativen zu "Drop"?

Danke

old Re: Drop Hook bei Granaten

Bowlinghead
User Off Offline

Quote
Jede Waffe in CS2D hat eine eigene ID. Messer hat z.B. 50, und die HE-Granate 51.

Wenn wir uns jetzt in der info.txt die Zeile 206 ansehen finden wir folgenes:
1
2
3
4
5
6
7
8
9
10
11
12
drop(id,iid,type,ain,a,mode,x,y)			on drop
-id: player id
-iid: item id
-type: item type
-ain: ammo in weapon / item count
-a: additional ammo
-mode: item mode (silencer/laser color/...)
-x: drop x position (tiles)
-y: drop y position (tiles)
>return:	0 - proceed normally (drop?)
		1 - don't drop
		2 - drop and  never fade out the item

Wenn du jetzt sagen willst, das der folgene Code nur mit Granaten geht, machst du folgenes (Beispiel für HE-Id= 51)
1
2
3
4
5
6
addhook("drop","grenadedroplolwaswirdgeschehen?")
function grenadedroplolwaswirdgeschehen?(id,iid)
	if (iid=51) then
		-- Code
	end
end

Oder habe ich deine Frage völlig falsch verstanden?

old Re: Drop Hook bei Granaten

Anti-Grav
User Off Offline

Quote
Ne die Frage hast du richtig verstanden.

Nur:

1
2
3
4
if (iid=51) then
	msg("Geht")
	return 0
end

Geht nicht. Hook ist drin.

Ist if XX==1 Then das gleiche wie if (xx=1) then ?

old Re: Drop Hook bei Granaten

Bowlinghead
User Off Offline

Quote
Nein. Weil "X" groß, und "x" klein ist.

Aber die "(,)" Klammern kann man setzen - muss man aber nicht (Bei diesem fall!). Meistens nur zur Überischt.

Bist du sicher das in deinem Addhook der Parameter "iid" ist? Und bist du sicher das du die Funktion geschlossen hast mit end?

old Re: Drop Hook bei Granaten

Anti-Grav
User Off Offline

Quote
Bei XX oder xx meinte ich sowas wie idd.
Ich habe den Code 1:1 kopiert nur es tut sich nichts. Und das ? musste weg. Es verursachte immer einen Error.

Warum bei addhook idd? Das muss doch bei function

old Re: Drop Hook bei Granaten

Bowlinghead
User Off Offline

Quote
Wie??? Fail...
Der addhook ist drop! Das heißt, alles was (Sagen wir mal) in dieser Addhook-Funktion steht, wird NUR ausgeführt, wenn jemand etwas dropt.

Das "iid" ist ein parameter der funktion

Code has written
addhook("drop","Variable")
function Variable(id,iid,)


id = Spieler ID
Iid = Item-Id,
drop = Addhook Name
Variable = Die Variable zum richtigen Hook.


Also versuche diesen Code nochmal
1
2
3
4
5
6
addhook("drop","sorrywegendemfragezeichem")
function sorrywegendemfragezeichem(id,iid)
if iid==51 then
return 0;
end
end

Ich habe denn fehler gefunden.
Bei If Schleifen muss man immer "==" machen.
"==" - Vergleicht
"=" - Ergebnis
Bsp.
1
2
3
4
5
6
7
8
9
10
11
12
function initArray(m)
	local array = {}
	for i = 1, m do
		array[i]=0
	end
	return array
end
drop = initArray(32)
addhook("drop","lol")
function lol(id)
	drop[id]=1
end

old Re: Drop Hook bei Granaten

Bowlinghead
User Off Offline

Quote
Achso...
1
2
3
4
5
6
addhook("projectile","projectile_hook")
function projectile_hook(id,w,x,y)
	if w==51 then
		--Code
	end
end
To the start Previous 1 Next To the start
Log in to reply Scripts overviewCS2D overviewForums overview