Seite 2 von 2

Re: Half Life 2 Deathmatch

Verfasst: Sonntag 16. September 2012, 11:09
von Painkiller
Ich danke euch trotzdem für die erklären.

Denn ich bin tatsache davon ausgegangen das alles zusammen hängt des python python ist.
Aber des es dort unterteilungen gibt bin ich nicht von ausgegangen.


Ich werde "versuchen" mich dort rein zu lesen.

GG Painkiller

Re: Half Life 2 Deathmatch

Verfasst: Sonntag 16. September 2012, 11:39
von Hyperion
Painkiller hat geschrieben: Aber des es dort unterteilungen gibt bin ich nicht von ausgegangen.
Python an sich ist immer gleich. Aber um ein spezifisches Problem zu lösen, muss man sich sowohl im Kontext als auch in den dafür gedachten Bibliotheken auskennen. Das ist auch nichts Python spezifisches, sondern gilt für jedes Programmierproblem und jede Sprache.

Ich könnte aus dem Stand jetzt kein Programm schreiben, welches die Umlaufbahnen der Planeten um die Sonne berechnet. Ich kenne mich dafür schlicht in der Problemdämäne "Kepplersche Himmelsmechanik" nicht aus. Das Werkzeug dazu, nämlich Python, beherrsche ich indes sicherlich gut genug. Nur nützt mir das alleine eben nichts.

Bei Deinem Problem kommt noch hinzu, dass man sich sowohl in der Domäne (HL2-Engine, Serverprozesse, Infrastruktur, usw) als auch in der dazugehörigen Programmbibliothek auskennen müsste, um das Problem zu lösen. Diese beiden Voraussetzungen erfüllt hier eben augenscheinlich niemand. Daher kann man Dir nur vage Tipps geben (wie ich es gleich zu Beginn versuchte) oder eben zeigen, wie *Du selber* das Problem lösen könntest. Denn in diesem Falle gibt es eben nur zwei Möglichkeiten:

Du lernst Python (zumindest ein wenig) und eignest Dir das fehlende Werkzeug an, da Du Dich in der Domäne bereits bestens auskennst. Oder einer von uns arbeitet sich in die Domäne ein (Installiert sich einen HL2-Server oder was auch immer, schaut sich die Lib an, usw). Für ersteres brauchst Du nur selber Motivation und Ansporn, für letzteres müsstest Du jemanden motivieren - und das ist offensichtlich ungleich schwerer...

Re: Half Life 2 Deathmatch

Verfasst: Montag 17. September 2012, 18:33
von Brainsucker
Hallo,


Ich kann dir zumindest sagen, dass es_fire dein weg zum Ziel ist. Leider habe ich selber mich nie gut genug damit auseinandergesetzt um dir hier auf die schnelle weiter zu helfen. Allerdings hast du ja bereits den Tipp bekommen dich in der Developer Wiki schlau zu machen. Das kann ich dir ebenfalls empfehlen.


Desweiteren hättest du die möglichkeit mal die playerlib.py Datei zu öffnen und in der Klasse Player die Funktion _burn anzuschauen. Damit könntest du zumindest die Feuereffekte realisieren, wenn du die Funktion deinen vorstellungen anpasst.


Ansonsten kannst du dich im ESAM ebenfalls schlau machen, indem du Addons suchst, die eine ähnliche Funktion erfüllen wie du es dir vorstellst und diese dann anpasst.

Re: Half Life 2 Deathmatch

Verfasst: Montag 17. September 2012, 20:14
von Painkiller
Cool Cool danke

nur wo finde ich die playerlib.py datei?

und im eventscript forum gibs fast nur sachen für CSS

Re: Half Life 2 Deathmatch

Verfasst: Montag 17. September 2012, 20:27
von Painkiller
gefunden mal sehen was da los is ^^

Re: Half Life 2 Deathmatch

Verfasst: Donnerstag 20. September 2012, 19:23
von Painkiller
@ Hyperion du hattest recht wenn ich grenade_frag statt rpg_missle eingebe funktioniert es bei der granate und bei der smg granate hab ich es auch schon

jetzt liegt nur noch ein einziger fehler im script er lädt keine vtf und vmt dateien zum wechseln,

Code: Alles auswählen

def fragcloud(userid):
        clouds = es.createentitylist("env_ar2explosion")
        es.server.queuecmd("es_xgive %s env_ar2explosion"% userid)
        es.server.queuecmd("es_fire %s env_ar2explosion addoutput 'Material particle/particle_smokegrenade1.vmt'"% userid)
        es.server.queuecmd("es_fire %s env_ar2explosion explode"% userid)
        gamethread.delayed(8, es.server.queuecmd, ("es_fire %s env_ar2explosion Kill"% userid))
        for cloud in clouds:
                gamethread.delayed(10, es.server.queuecmd, ("es_fire %s %s Kill"% (userid, cloud)))
das sollte der teil er lädt diese datei noch nicht mal runter wenn man auf den server joint
und der effekt funktioniert trotzdem komischer weise

(particle_smokegrenade1.vmt + particle_smokegrenade1.vtf habe ich mal bei einem US server runter geladen und dieser effekt sieht komplett anders aus wie der den dieses script bewirkt)

vielleicht weis ja jemand von euch warum er diese dateien nicht lädt?

Re: Half Life 2 Deathmatch

Verfasst: Freitag 21. September 2012, 16:50
von Dav1d
Du musst die Datei "downloadable" machen: http://www.eventscripts.com/pages/Downloadable

Ich glaube das ging mit `es.stringtable` in Python.

Re: Half Life 2 Deathmatch

Verfasst: Sonntag 23. September 2012, 20:13
von Painkiller
Auch damit hatte es nicht geholfen

Re: Half Life 2 Deathmatch

Verfasst: Mittwoch 10. Oktober 2012, 16:45
von Painkiller
Ok es ist geschafft es Funktioniert Entlich ^^

ich habe jemanden gefunden der mir sehr gut geholfen hatt.


nun habe ich ein neues Problem
ich möchte gerne einen Text anzeigen lassen
wer wem gekillt hatt und
alle 2 Minuten, wer der Beste ist im Moment und welche KDR hat er (so etwas wie "Name ist mit einem Kdr von 2,52 führen"). Das sollte nur pro Karte gezählt werden, so dass es nicht nötig ist, um eine Datenbank zu erstellen.

am besten oben links in der bildschirm Ecke.

So wie in diesem Vidieo mit dem einblende effekt: http://www.youtube.com/watch?v=Lyjkedb9 ... ure=relmfu

vielen dank schon einmal

Re: Half Life 2 Deathmatch

Verfasst: Mittwoch 10. Oktober 2012, 23:20
von anogayales
Am besten liest du die Dokumentation von dem Modul, falls es keine gibt können wir dir ja auch nicht helfen. Wenn Deutsch nicht deine erste Sprache ist, sei dir verziehen, aber bitte, bitte, bitte SCHREIB DOCH MAL korrektes Deutsch. Rechtschreibung finde ich ja gar nicht mal so tragisch, aber den Satz: "Name ist mit einem Kdr von 2,52 führen" hättest du doch einfach weg lassen können.

Re: Half Life 2 Deathmatch

Verfasst: Donnerstag 11. Oktober 2012, 07:44
von Painkiller
Jo hätte,

ich habe es aus dem englischen ins deutsche übersetzt mit dem google translater.
Den jeder so gut findet, ich bin der meinung des der der letzte mist ist.
Aber ich habe es trotzdem einfach kopiert und eingefügt.
Am besten liest du die Dokumentation von dem Modul, falls es keine gibt können wir dir ja auch nicht helfen.
Ich gehe davon aus des das damit was zu tuhen hatt: https://developer.valvesoftware.com/wiki/Game_text

Ich habe hier auch mal ein Beispiel für euch, was aber leider nicht alles anzeigt was ich gern hätte und leider nur die hälfte da nicht genügend zeichen vorhanden sind.
das heisst es steht nur "player x killt play" statt "player x killt player y"

Code: Alles auswählen

import es
import msglib

# Set the RGB values for the toptext message
MESSAGE_RED_VALUE = 255
MESSAGE_GREEN_VALUE = 0
MESSAGE_BLUE_VALUE = 0

# Set the message duration
# Note that a new message can not be sent while another is active
MESSAGE_DURATION = 1


def player_death(event_var):

    # Set the text to be displayed
    text = '%s killed %s with %s' % (
        event_var['es_attackername'], event_var['es_username'], event_var['weapon'])

    # Create the toptext message
    toptext = msglib.VguiDialog(
        title=text, level=5, color='%s %s %s 255'%(MESSAGE_RED_VALUE, MESSAGE_GREEN_VALUE,
        MESSAGE_BLUE_VALUE), time=MESSAGE_DURATION, mode=msglib.VguiMode.MSG)

    # Loop through all players on the server
    for userid in es.getUseridList():

        # Send the message to the player
        toptext.send(userid)


Villeicht könnte mir jemand den Rest dazu fügen vielen dank schon einmal.

Re: Half Life 2 Deathmatch

Verfasst: Freitag 12. Oktober 2012, 01:15
von anogayales
Hast du es mal mit

Code: Alles auswählen

mode=msglib.VguiMode.TEXT
anstatt mit

Code: Alles auswählen

mode=msglib.VguiMode.MSG
probiert? Siehe http://python.eventscripts.com/pages/Msglib . Aber trotzdem brauchst du eine gute Doku, anstatt hier rumzuraten.

Am Besten gehst du mal hier hin http://forums.eventscripts.com/ und frägst da mal nach.


Edit: Ah das machst du ja schon. http://forums.eventscripts.com/viewtopi ... 25&t=46120

Und bitte, schreib mal gescheite Sätze. Aus dem anderen Forum: "No mate, I wanted the one who killstatistic much hatt killed
never ceasing" WOOOOT?

Grüße,
anogayales

Re: Half Life 2 Deathmatch

Verfasst: Freitag 12. Oktober 2012, 07:24
von Painkiller
Hi danke ich werts mal versuchen mit der sprache.

Sie meinten ich sollte es einfach so probieren?

Code: Alles auswählen

import es
import msglib

# Set the RGB values for the toptext message
MESSAGE_RED_VALUE = 255
MESSAGE_GREEN_VALUE = 0
MESSAGE_BLUE_VALUE = 0

# Set the message duration
# Note that a new message can not be sent while another is active
MESSAGE_DURATION = 1


def player_death(event_var):

    # Set the text to be displayed
    text = '%s killed %s with %s' % (
        event_var['es_attackername'], event_var['es_username'], event_var['weapon'])

    # Create the toptext message
    toptext = msglib.VguiDialog(
        title=text, level=5, color='%s %s %s 255'%(MESSAGE_RED_VALUE, MESSAGE_GREEN_VALUE,
        MESSAGE_BLUE_VALUE), time=MESSAGE_DURATION, mode=msglib.VguiMode.TEXT)

    # Loop through all players on the server
    for userid in es.getUseridList():

        # Send the message to the player
        toptext.send(userid)

diese methode funktioniert auch nicht.

Re: Half Life 2 Deathmatch

Verfasst: Freitag 12. Oktober 2012, 15:14
von anogayales
Wie gesagt, ohne Dokumentation raten wir hier nur rum. Frag am besten im offiziellen Forum nach.

Korrektes Deutsch heißt übrigens nicht, dass du hier anfangen musst uns zu siezen :P

Grüße,
anogayales

Re: Half Life 2 Deathmatch

Verfasst: Freitag 12. Oktober 2012, 22:15
von StefanLawl
Hyperion hat geschrieben:Ich fürchte hier hängen nicht so viele HL2 Zocker / Modder rum...
Doch, ich scripte für HL2DM leidenschaftlich seit 5 Jahren :)

Allerdings bin ich in Python noch nicht so fortgeschritten :P