You are not logged in.

1

Saturday, March 7th 2009, 8:27pm

Variablen in ESP

Hallo,

habe mal ne frage. Wie kann ich mit Variablen in ESP arbeiten?

Möchte sie sozusagen erstellen wie im normalen ES mit es_set, sie im Script ändern, und wenn es geht auch rechnen.

Mal als beispiel die alte Form:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
block load 
{ 
        es_xset variable 0 
} 

event round_start 
{ 
        variable 1 
}

event player_spawn
{
        if (event_var(es_userteam) == 2) then es_math variable + 1 
}

Gibt es den befehl es_math auch in ESP. Im Wiki habe ich den nicht gefunden.

Danke

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

2

Saturday, March 7th 2009, 10:20pm

Re: Variablen in ESP

Hi.
Hier ist das Python äquivalent zu deinem Code:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import es

def load():
    global variable
    variable = 0

def round_start(event_var):
    global variable
    variable = 1

def player_spawn(event_var):
    global variable
    
    if event_var["es_userteam"] == "2":
        variable += 1


Du kannst dir hier noch mal ein paar Grundlagen anschauen: http://www.sourceserver.info/viewtopic.php?f=43&t=1106">viewtopic.php?f=43&t=1106<

~ Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

3

Saturday, March 7th 2009, 10:34pm

Re: Variablen in ESP

Danke dir erstmal...

Habe deine Anleitung schon durch. Super gemacht. Und mit dem Beispiel hier komm ich auch weiter.

Doch ein paar Fragen habe ich noch.

Für was ist eigentlich die "def load()" - Funktion?

Wie kann man den Ausdruck "variable += 1" verstehen? --> mir ist klar das Phyton wahrscheinlich mit dem "+" den Wert zur Variable addiert. Aber warum das"="?

Grüße

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

4

Saturday, March 7th 2009, 10:42pm

Re: Variablen in ESP

Hi.
Die load()-Funktion wird immer dann ausgeführt, wenn du das Script mit es_load startest. unload() eben bei es_unload.

Vielleicht verstehst du das so besser:

Source code

1
variable += 1
ist das gleiche wie

Source code

1
variable = variable + 1


Bei ESP und ESS gibt es den Unterschied, dass EventScripts Intern alles in den Variablen gespeichert hat. D.h. das ausgerechnete mit es_math schreibt EventScripts direkt in die Variable, bei Python musst du der Variable den Wert eben neu zuweisen, damit dieser in ihr gespeichert wird.

~ Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

5

Saturday, March 7th 2009, 10:45pm

Re: Variablen in ESP

Perfekt... So stell ich mir Hilfe vor.

Habe noch was vergessen. du schreibst in deinem Code:

Source code

1
if event_var["es_userteam"] == "2":


Warum geht die 2 nicht ohne den "".
Ist das Userteam nicht als Ganzzahl hinterlegt?

Chrisber

Administrator

Posts: 1,030

Location: localhost

wcf.user.option.userOption53: Ja

  • Send private message

6

Saturday, March 7th 2009, 10:52pm

Re: Variablen in ESP

Hi.
Nein, das habe ich im Tutorial wohl vergessen zu erwähnen: ALLE event_var's sind IMMER vom Typ string. Eine Konvertierung schafft Abhilfe, falls es dir lieber ist:

Source code

1
if int(event_var["es_userteam"]) == 2:


~ Chris
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.