AdminMod.de https://www.adminmod.de/ |
|
Livestats für AdminMod! https://www.adminmod.de/viewtopic.php?t=2257 |
Seite 1 von 2 |
Autor: | netkowalski [ 31.03.2002, 16:51 ] |
Betreff des Beitrags: | Livestats für AdminMod! |
Hi Leutz, so, ich habe über Ostern ma wieder ein bißchen gecodet und dabei ist unter anderem dies hier herausgekommen: Code: /* KowStats The Livestat Plugin for AdminMod! U have to install LogD and turn mp_logdetail to 3! And U have to make the directory kowstats in your cstrike folder! After the normal plugin installation KowStats is running! If U have a webserver U can make the kowstat folder to a Document folder! In this case others have acces to your stats! (c) by kowalski 2002-03-31 netkowalski@web.de */ #include <core> #include <console> #include <string> #include <admin> #include <adminlib> #define ACCESS_CONSOLE 131072 #define ACCESS_MAN 1024 #define CLEAN_SLATE 0 new STRING_VERSION[MAX_DATA_LENGTH] = "0.1"; new StatUsers[MAX_PLAYERS]; new UserDeads[MAX_PLAYERS]; new UserFrags[MAX_PLAYERS]; new ScoreT; new ScoreCT; new MomArrayIndex = 1; public plugin_connect(HLUserName, HLIP, UserIndex) { StatUsers[MomArrayIndex]=UserIndex; MomArrayIndex = MomArrayIndex+1; stat_say(); return PLUGIN_CONTINUE; } public stat_dis(dName, dUID, dWonid, dTeam) { new UIndex[MAX_DATA_LENGTH]; new iUIndex; convert_string(dUID,UIndex,MAX_DATA_LENGTH); iUIndex=strtonum(UIndex); for (new i=1;i<MomArrayIndex-1;i=i+1) { if (StatUsers[i]==iUIndex) { for (new j=i;j<MomArrayIndex-2;j=j+1) { StatUsers[j]=StatUsers[j+1]; } MomArrayIndex=MomArrayIndex-1; } } stat_say(); } public stat_sui( HLCommand,HLData,HLUserName,UserIndex ) { new UIndex[MAX_DATA_LENGTH]; new iUIndex; new Trash[MAX_DATA_LENGTH]; new Data[MAX_DATA_LENGTH]; convert_string( HLData, Data, MAX_DATA_LENGTH ); strsplit(Data," ",UIndex,MAX_DATA_LENGTH,Trash,MAX_DATA_LENGTH); iUIndex=strtonum(UIndex); UserFrags[iUIndex]=UserFrags[iUIndex]-1; UserDeads[iUIndex]=UserDeads[iUIndex]+1; stat_say(); } public stat_kil( HLCommand,HLData,HLUserName,UserIndex ) { new iIDA; new iIDV; new sIDA[MAX_DATA_LENGTH]; new sIDV[MAX_DATA_LENGTH]; new Data[MAX_DATA_LENGTH]; new Team1; new Team2; new Trash1; new Trash2; new Trash4[MAX_NAME_LENGTH]; convert_string( HLData, Data, MAX_DATA_LENGTH ); strsplit(Data," ",sIDA,MAX_DATA_LENGTH,sIDV,MAX_DATA_LENGTH); iIDA = strtonum(sIDA); iIDV = strtonum(sIDV); playerinfo(iIDA, Trash4, MAX_NAME_LENGTH, Trash1, Trash2,Team1); playerinfo(iIDV, Trash4, MAX_NAME_LENGTH, Trash1, Trash2,Team2); snprintf(Data,MAX_DATA_LENGTH,"%i ^n %i",Team1,Team2); if (Team1==Team2){ UserFrags[iIDA]=UserFrags[iIDA]-1; return PLUGIN_HANDLED; } for (new i=1;i<MomArrayIndex+1;i=i+ 1) { if (iIDV==StatUsers[i]) { UserDeads[i]=UserDeads[i]+ 1; } } for (new i=1;i<MomArrayIndex+1;i=i+1) { if (iIDA==StatUsers[i]) { UserFrags[i]=UserFrags[i]+ 1; } } stat_say(); return PLUGIN_HANDLED; } stat_say() { new Msg[MAX_DATA_LENGTH]; new Team; new Trash1; new Trash2; new Trash4[MAX_NAME_LENGTH]; deletefile("kowstats/stats.htm"); writefile("kowstats/stats.htm","<html><body><font size=4>Counters:",-1); snprintf(Msg,MAX_DATA_LENGTH,"%i<br><table border=1><tr><TD WIDTH=200>NAME:</TD><TD WIDTH=50>FRAGS:</TD><TD WIDTH=50>DEADS:</TD></TR>",ScoreCT); writefile("kowstats/stats.htm",Msg,-1); for (new i=1;i<MomArrayIndex;i=i+1) { playerinfo(StatUsers[i], Trash4, MAX_NAME_LENGTH, Trash1, Trash2,Team); if (Team==2) { snprintf(Msg,MAX_DATA_LENGTH,"<tr><TD WIDTH=200>%s</TD><TD WIDTH=50>%i</TD><TD WIDTH=50>%i</TD></TR>",Trash4,UserFrags[i],UserDeads[i]); writefile("kowstats/stats.htm",Msg,-1); } } snprintf(Msg,MAX_DATA_LENGTH,"</table><br>Terrors: %i<br><table border=1><tr><TD WIDTH=200>NAME:</TD><TD WIDTH=50>FRAGS:</TD><TD WIDTH=50>DEADS:</TD></TR>",ScoreT); writefile("kowstats/stats.htm",Msg,-1); for (new j=1;j<MomArrayIndex;j=j+1) { playerinfo(StatUsers[j], Trash4, MAX_NAME_LENGTH, Trash1, Trash2,Team); if (Team==1) { //snprintf(Msg,MAX_DATA_LENGTH,"%s: Frags: %i Deads: %i",UName,UserFrags[i],UserDeads[i]); snprintf(Msg,MAX_DATA_LENGTH,"<tr><TD WIDTH=200>%s</TD><TD WIDTH=50>%i</TD><TD WIDTH=50>%i</TD></TR>",Trash4,UserFrags[j],UserDeads[j]); writefile("kowstats/stats.htm",Msg,-1); } } } public stat_res(HLCommand,HLData,HLUserName,UserIndex) { for( new loop = 0; loop < MomArrayIndex; loop = loop + 1 ) { UserFrags[loop] = CLEAN_SLATE; UserDeads[loop] = CLEAN_SLATE; } stat_say(); } public stat_tsc(HLCommand,HLData,HLUserName,UserIndex) { new Params[MAX_DATA_LENGTH]; convert_string(HLData,Params,MAX_DATA_LENGTH); new Data1[MAX_DATA_LENGTH]; //team new Data2[MAX_DATA_LENGTH]; //action strbreak(Params,Data1,Data2,MAX_DATA_LENGTH); if(strmatch(Data2, "CTs_Win", strlen("CTs_Win")) || strmatch(Data2, "Terrorists_Win", strlen("Terrorists_Win"))) { new scores[MAX_DATA_LENGTH]; new ctscore[MAX_DATA_LENGTH]; new terrorscore[MAX_DATA_LENGTH]; new useless[MAX_DATA_LENGTH]; strbreak(Data2, useless, scores, MAX_DATA_LENGTH); strbreak(scores, ctscore, terrorscore, MAX_DATA_LENGTH); strsplit(ctscore,"#",Data1,MAX_DATA_LENGTH,Data2,MAX_DATA_LENGTH); ScoreCT = strtonum(Data2); strsplit(terrorscore,"#",Data1,MAX_DATA_LENGTH,Data2,MAX_DATA_LENGTH); ScoreT = strtonum(Data2); } stat_say(); return PLUGIN_CONTINUE; } public stat_tsa(HLCommand,HLData,HLUserName,UserIndex) { new Params[MAX_DATA_LENGTH]; convert_string(HLData,Params,MAX_DATA_LENGTH); if (strmatch(Params, "Game_Commencing", strlen("Game_Commencing")) || strmatch(Params, "Restart_Round_", strlen("Restart_Round_"))) { for( new loop = 0; loop < MomArrayIndex; loop = loop + 1 ) { UserFrags[loop] = CLEAN_SLATE; UserDeads[loop] = CLEAN_SLATE; } stat_say(); } return PLUGIN_CONTINUE; } public plugin_init() { plugin_registerinfo("LIVESTATS-Script","Put the Stats LIVE in a HTML-File",STRING_VERSION); plugin_registercmd("stat_kil", "stat_kil", ACCESS_CONSOLE); plugin_registercmd("stat_sui", "stat_sui", ACCESS_CONSOLE); plugin_registercmd("stat_dis", "stat_dis", ACCESS_CONSOLE); plugin_registercmd("stat_tsc", "stat_tsc", ACCESS_CONSOLE); plugin_registercmd("stat_tsa", "stat_tsa", ACCESS_CONSOLE); plugin_registercmd("stat_res", "stat_res", ACCESS_CONSOLE); exec( "logd_reg 3 admin_command stat_res" ); exec( "logd_reg 52 admin_command stat_dis" ); exec( "logd_reg 53 admin_command stat_sui" ); exec( "logd_reg 57 admin_command stat_kil" ); exec( "logd_reg 61 admin_command stat_tsc" ); exec( "logd_reg 62 admin_command stat_tsa" ); return PLUGIN_CONTINUE; }Ein Plugin das euch Server-Livestats liefert! Es funktioniert wie folgt: Als erstes müsst ihr den Ordner kowstats im cstrike verzeichnis anlegen. Dann auf übliche Weise das Plugin installen und voilá! FERTIG! So, ich denke ma dies ist eine nette kleine alternative zu anderen Programmen! Es ist vor allen Dingen sehr einfach! Es wird in das kowstats Verzeichnis eine html Datei (stats.htm) erstellt. Die Datei besteht einfach nur aus 2 billigen Tabellen! Also grafisch nicht grad das dollste! Wer mehr haben möchte, macht sich das bitte selber. Sollte nich so schwer sein! Ich habe diesen Code ma wieder nicht kommentiert (bin einfach zu faul). Aber wenn jemand Fragen hat, dann soll er sich melden!! kowalski [EDIT] ÄNDERUNG IM SOURCE VORGENOMEN!! Ein bißchen Bugfixing! Kan sein das es auch vorher ging! So auf jeden Fall! [/EDIT] |
Autor: | [COLA]*Whiskey [ 31.03.2002, 17:07 ] |
Betreff des Beitrags: | |
ich werds ma ausprobiern |
Autor: | netkowalski [ 01.04.2002, 13:03 ] |
Betreff des Beitrags: | |
23 Views und keiner will mir dazu was sagen?? OCH MENNO! kowalski |
Autor: | mGL.Hell-Slayer [ 01.04.2002, 14:32 ] |
Betreff des Beitrags: | ??????????????????????????? |
funzt net bei mir weis net wieso mus ich irgendwas machen??? darf cm installiert sein oder sonst irgendein plugin ?? |
Autor: | Wookie [ 01.04.2002, 17:03 ] |
Betreff des Beitrags: | |
jo bei mir funzt es auch nicht |
Autor: | @vus [ 01.04.2002, 17:19 ] |
Betreff des Beitrags: | :) |
Also ich hau mir des jetzt auch mal rein, und wenns net funzt komm ich wieder |
Autor: | netkowalski [ 01.04.2002, 19:23 ] |
Betreff des Beitrags: | |
Denkt ihr bitte daran: file_access_write 1 ??? also ohne das gehts natürlich net! wie soll er denn sonst ne html file schreiben?? Der Wert kann in der listenserver.cfg oder server.cfg eingestellt werden! kowalski |
Autor: | Royal mit Kaese [ 01.04.2002, 20:32 ] |
Betreff des Beitrags: | |
Ich erhalte beim compilieren folgende Fehlermeldungen : plugin_netkowalski_livestats_cs.sma(70) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(71) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(96) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(101) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(124) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(128) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(163) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(165) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(200) Warning [217]: loose indentation plugin_netkowalski_livestats_cs.sma(202) Warning [217]: loose indentation Könnte das mal Jemand für einen Newbie wie mich kommentieren ? Sind die Fehler ernstzunehmend ? Vielen Dank! Royal mit Kaese |
Autor: | [COLA]*Whiskey [ 01.04.2002, 20:52 ] |
Betreff des Beitrags: | |
Error = Fehler Warning = Da is was Falsch Loose Idention kommt wenn man den Quelltext mit der TAB Taste schreibt und dann hier postet. dieses Forum macht aus den TABs 3 Leerzeichen oder so und dann werden manche zeilen falsch eingerückt z.b. die mit den {} die } muss genau auf gleicher höhe stehen wie das if zu dem die } gehört kapiert ? |
Autor: | netkowalski [ 01.04.2002, 21:06 ] |
Betreff des Beitrags: | |
Was er dir sagen will: Falsches Design, läuft aber trotzdem ohne Probleme! kowalski |
Autor: | @vus [ 01.04.2002, 21:36 ] |
Betreff des Beitrags: | ---> |
Wie wärs wenn man die sma - Datei irgendwo hochlädt ßßß Wär doch mal ne Idee |
Autor: | Royal mit Kaese [ 01.04.2002, 22:32 ] |
Betreff des Beitrags: | |
Merci Bei mir gehts! |
Autor: | Wookie [ 01.04.2002, 22:54 ] |
Betreff des Beitrags: | |
lade sie hoch findet ihr unter www.wookie018.de.vu unter downloads |
Autor: | sshenriksen [ 02.04.2002, 11:42 ] |
Betreff des Beitrags: | |
So, is this kind of like Statsme or how does it work? Is there a command or does it show end of round stats? I like the idea. Sune |
Autor: | netkowalski [ 02.04.2002, 13:52 ] |
Betreff des Beitrags: | |
No! It is a kind of Server-Web stats! It puts the Table, you get when you press TAB, into an html file so if you have a webserver you can show it on your webpage! kowalski p.s.: I'm damn bad in english! Sorry! |
Autor: | sshenriksen [ 03.04.2002, 00:58 ] |
Betreff des Beitrags: | |
I actually thought the english was rather good, but as I have said in other posts, I don't mind german, I just can't write it well. I can read it. Thanks again Sune |
Autor: | @vus [ 03.04.2002, 15:48 ] |
Betreff des Beitrags: | her damit... |
her damit ich lad sie hoch |
Autor: | @vus [ 03.04.2002, 21:46 ] |
Betreff des Beitrags: | Online |
Die File ist jetzt Online und zu finden unter http://www.facs-clan.de Viel Spaß wünscht Kowalski und @vus |
Autor: | netkowalski [ 03.04.2002, 22:14 ] |
Betreff des Beitrags: | |
Fehler im Code!!!! Also, beim Download von vus is nix falsch! Aber im oberen Code! Man muss aus Code: public stat_sayein Code: stat_saymachen! Ich änder es ma oben im Thread!! Wollte es nur kurzb sagen! Kann auch sein das es ohen die Änderung geht! Aber hatte probleme damit!!! kowalski |
Autor: | Bert[germany] [ 04.04.2002, 16:24 ] |
Betreff des Beitrags: | |
kleine frage: geht es das die stats.htm seite nicht auf dem gameserver gespeichert wird, sondern auf dem pageserver ??? --- bertl --- |
Seite 1 von 2 | Alle Zeiten sind UTC+01:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |