AdminMod.de https://www.adminmod.de/ |
|
kleines DEBUG Plugin zur Anzeige von Events https://www.adminmod.de/viewtopic.php?t=2971 |
Seite 1 von 1 |
Autor: | Biohazard1 [ 14.05.2002, 01:36 ] |
Betreff des Beitrags: | kleines DEBUG Plugin zur Anzeige von Events |
Zitat: /******* Just a little Debug Plugin to make Events visible ********/
/**************** written by Biohazard in Mai 2002 ****** v0.2b ***/ V O R W O R T -------------- Dieses Plugin ist beim Erstellen eines anderen Plugins entstanden und hat folgenden Hintergrund: Ich wollte in einem Plugin auf einen mir neuen Event reagieren, kannte aber dessen genaue Syntax nicht und wußte dadurch bedingt auch nicht wie man die Data des besagten Events zerlegt. Also habe ich mir gedacht ich schreibe (wieder einmal) eine DEBUG Funktion in das Plugin um mir die Data als String anzeigen zu lassen. Da dies bei mir nicht das erste Mal war das ich nicht wußte wie die Data eines Events aussieht und ich deshalb schon öfter gezwungen war eine solche DEBUG Funktion in ein Plugin einzubauen, habe ich mir gedacht ich schreibe ein kleines flexibles Plugin was diese Aufgabe für mich fortan übernimmt. Die Data wird als String im Chat angezeigt, geloggt und zusätzlich noch in einer Textdatei (standardmäßig: events.txt) eingetragen. Die Datei muß vor Benutzung des Plugins im MOD Ordner erstellt werden ! F U N K T I O N S W E I S E ---------------------------- Das Plugin reagiert auf Events welche vom Log Daemon (LogD) an die Plugins gesendet werden. Um auf den Event dessen Data man angezeigt bekommen möchte zugreifen zu können muß man zunächst im Quellcode des Plugins die Zeile mit dem entsprechenden Event in der Funktion plugin_init aktivieren. Dies geschieht durch löschen der vorangestellten Schrägstriche ( // ). B E I S P I E L ---------------- ... // exec("logd_reg 57 admin_command ev_HandleEvent"); // Kill // exec("logd_reg 58 admin_command ev_HandleEvent"); // Injure // exec("logd_reg 59 admin_command ev_HandleEvent"); // Player vs. Player Action // exec("logd_reg 60 admin_command ev_HandleEvent"); // Player Action // exec("logd_reg 61 admin_command ev_HandleEvent"); // Team Action exec("logd_reg 62 admin_command ev_HandleEvent"); // World Action // exec("logd_reg 63 admin_command ev_HandleEvent"); // Chat // exec("logd_reg 64 admin_command ev_HandleEvent"); // Team Alliance ... So wird das Plugin alle 'World Action' Events wie z.B. 'Game_Commencing' oder 'Round_End' anzeigen und in der Datei speichern. Die im ZIP Archiv enthaltenen AMX Dateien sind für diesen Event vorkompiliert. N A C H T R A G ---------------- Das Plugin dient ausschließlich zu DEBUG Zwecken und ist in erster Linie für Leute gedacht die sich intensiver mit der Programmierung von LogD- Plugin beschäftigen wollen aber noch keine oder wenig Erfahrung mit der Syntax der Events haben. --------------------------------------------------------------------------- (c) Copyright 2002 by Biohazard Code: /******* Just a little Debug Plugin to make Events visible ********/ /**************** written by Biohazard in Mai 2002 ****** v0.2b ***/ /**************************** INCLUDES ****************************/ #include <core> #include <console> #include <string> #include <admin> #include <adminlib> /**************************** DEFINES *****************************/ #define ACCESS_CONSOLE 131072 /************************ GLOBAL VARIABLES ************************/ new STRING_VERSION[MAX_NUMBER_LENGTH] = "0.2b"; // Plugin Version new FILENAME[MAX_NAME_LENGTH] = "events.txt"; public ev_HandleEvent(HLCommand,HLData,HLUserName,UserIndex) { new sData[MAX_DATA_LENGTH]; convert_string(HLData,sData,MAX_DATA_LENGTH); log(sData); say(sData); writefile(FILENAME, sData); } public plugin_init() { plugin_registerinfo("A little Debug Plugin","Nothing to see here.",STRING_VERSION); plugin_registercmd("ev_HandleEvent", "ev_HandleEvent", ACCESS_CONSOLE); // exec("logd_reg 50 admin_command ev_HandleEvent"); // Connection // exec("logd_reg 51 admin_command ev_HandleEvent"); // Enter Game // exec("logd_reg 52 admin_command ev_HandleEvent"); // Disconnection // exec("logd_reg 53 admin_command ev_HandleEvent"); // Suicide // exec("logd_reg 54 admin_command ev_HandleEvent"); // Team Selection // exec("logd_reg 55 admin_command ev_HandleEvent"); // Role Selection // exec("logd_reg 56 admin_command ev_HandleEvent"); // Change Name // exec("logd_reg 57 admin_command ev_HandleEvent"); // Kill // exec("logd_reg 58 admin_command ev_HandleEvent"); // Injure // exec("logd_reg 59 admin_command ev_HandleEvent"); // Player vs. Player Action // exec("logd_reg 60 admin_command ev_HandleEvent"); // Player Action // exec("logd_reg 61 admin_command ev_HandleEvent"); // Team Action exec("logd_reg 62 admin_command ev_HandleEvent"); // World Action // exec("logd_reg 63 admin_command ev_HandleEvent"); // Chat // exec("logd_reg 64 admin_command ev_HandleEvent"); // Team Alliance // exec("logd_reg 65 admin_command ev_HandleEvent"); // Team Score Report // exec("logd_reg 66 admin_command ev_HandleEvent"); // Private Chat // exec("logd_reg 67 admin_command ev_HandleEvent"); // Player Score Report // exec("logd_reg 68 admin_command ev_HandleEvent"); // Weapon Selection // exec("logd_reg 69 admin_command ev_HandleEvent"); // Weapon Pickup return PLUGIN_CONTINUE; }Oder einfach hier als ZIP Archiv mit beiliegender Info.txt herunterladen: www.ekclan.de/plugins/plugin_logd_events.zip Bio |
Autor: | Sir Drink a lot [ 14.05.2002, 11:38 ] |
Betreff des Beitrags: | |
interessantes Plugin. werde es mal testen. Aber soweit ich aus den alten Versionen weiss, funtkionierten doch bisher nur die Events 57, 58, 60, 61, 62. Hat sich etwas daran verändert? http://logd.sourceforge.net/help/events.html |
Autor: | florian [ 14.05.2002, 11:53 ] |
Betreff des Beitrags: | |
ich versteh eigentlich null was das für ein plugin is ??????? kann mir jemand das irgendwie erklären --> ich weiss es steht schon da aber ich kapier das nit ![]() |
Autor: | Biohazard1 [ 14.05.2002, 12:04 ] |
Betreff des Beitrags: | |
Zitat: ... Aber soweit ich aus den alten Versionen weiss, funtkionierten doch bisher nur die Events 57, 58, 60, 61, 62. ...
Einige der Events funktionieren natürlich nicht in Counter Strike. Zum Beispiel habe ich noch nie ein PvP Event (etwa die Heilung eines Teammates durch einen Medic) gesehen ![]() Zitat: ich versteh eigentlich null was das für ein plugin is ???????
Probiere das Plugin einfach einmal aus, dann wirst du schon sehen was es macht. Vorher allerdings die Textdatei namens events.txt im CSTRIKE Verzeichnis anlegen.kann mir jemand das irgendwie erklären --> ich weiss es steht schon da aber ich kapier das nit ![]() Bio |
Seite 1 von 1 | Alle Zeiten sind UTC+01:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |