Ein neues Thema erstellen  Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: PLUGIN_SDAL_DEADSAY
BeitragVerfasst: 22.01.2003, 11:46 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
Hi Leute!

Ich habe hier mal ein plugin gemacht, dass einem ermöglicht, nur an die toten Spieler eine Nachricht zu schicken.

Entweder als Centersay in Grün, als Typesay in gelb, als normales Centersay (verträgt wenig Zeichen!) und als normales chat-say.

die Befehle:

admin_dcsay '0/1' 'all/player' 'Message' -->grünes Centersay
admin_dtsay '0/1' 'all/player' 'Message' --->gelbes Typesay
admin_dsayc '0/1' 'all/player' 'Message' --->normales Centersay
admin_dsay '0/1' 'all/player' 'Message' ---> normales Chat-Say


Die '0/1' bedeutet, ob der eigene Name vor der Message steht oder nicht.

'all/player' bedeutet, dass bei 'all' es allen toten Spielern gezeigt wird. Sobald man einen Spielernamen eintippt, wird es dem toten Spieler angezeigt.

Die Idee ist eigentlich, dass man automatische Messages (wie Werbung) mit bk_cron und sdal_timemanager eben nur den toten Spielern zeigt, um die Lebenden nicht zu stören.

Gruß,
SDal

P.S.: Die Zeilenumbrüche werden automatisch gemacht. Thx an Blacky und Rinde.

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.01.2003, 15:43 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
ist das derselbe sdal, der vor einem monat noch damit gedroht hat, aufzuhören? :D
und jetzt produziert er ein plugin nach dem anderen :o


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.01.2003, 16:11 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
ich weiß auch nicht....
ich sollte mal eine Therapie machen....

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.01.2003, 16:36 
AM.de Team
Benutzeravatar

Registriert: 23.11.2001, 00:00
Beiträge: 3842
Wohnort: Vor König Arthus
Na komm,
das schwierigste hat er geschickt auf uns abgewälzt. ;) Und wir Trottel basteln ihm auch noch etwas. Ts, ts, ts.

Aber trotzdem eine gute Idee und schön Deinen ungebrochenen Arbeitseifer zu sehen.

_________________
Der schwarze Ritter triumphiert immer...
WING-Clan


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.01.2003, 16:41 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
tja, wenn man in meiner Position ist, kann man auch mal andere aktivieren und deren Wissen benutzen.
Habt ihr auch gut gemacht :-)

(*hm...das klingt jetzt aber arrogant..pfui :-)*)

Aber es haben ja alle was davon! :-)

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.01.2003, 16:47 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
exakt, ich habe z.b. eben meine base angepasst, csay und tsay part:
Code:
public admin_tsay(HLCommand,HLData,HLUserName,UserIndex) {
    new Command[MAX_COMMAND_LENGTH];
    new Data[MAX_DATA_LENGTH];
    new User[MAX_NAME_LENGTH];
    new Color[MAX_NAME_LENGTH];
    new color[4] = {250,250,250,0};
    convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
    convert_string(HLData,Data,MAX_DATA_LENGTH);
    convert_string(HLUserName,User,MAX_NAME_LENGTH);
    strstripquotes(Data);
    strtok(Data," ",Color,MAX_NAME_LENGTH);
    if(strcmp(Color,"red") == 0) {
        color = {250,10,10,1};
    } else if(strcmp(Color,"blue") == 0) {
        color = {10,10,250,1};
    } else if(strcmp(Color,"green") == 0) {
        color = {10,250,10,1};
    } else if(strcmp(Color,"white") == 0) {
        color = {250,250,250,1};
    } else if(strcmp(Color,"yellow") == 0) {
        color = {250,250,10,1};
    } else if(strcmp(Color,"purple") == 0) {
        color = {250,10,250,1};
    } else if(strcmp(Color,"random") == 0) {
        color[0] = random(250); color[1] = random(250); color[2] = random(250); color[3] = 1;
    }
    if(color[3] == 1) {
        strtokrest(Data,MAX_DATA_LENGTH);
    }
    if(strcmp(Command,"admin_csay") == 0) {
        Data[79] = '^0';
        centersay(Data,10,color[0],color[1],color[2]);
    } else {
        format_lines(Data,MAX_DATA_LENGTH,79);
        typesay(Data,10,color[0],color[1],color[2]);
    }
    log_command(User,Command,Data);
    return PLUGIN_HANDLED;
}


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.01.2003, 18:01 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
hm...ok.

Solange Du nur den Überblick behälst, dass Deine tsay-Funktion jetzt auch das csay enthält.

Auch wieder eine nette Array-Funktion.

Kurze Frage:

Wäre ein ColorArray[MAX_COLORS][20] mit {{"red"},{"blue"} etc.}
nicht auch nett.

Und dann eine Schleife mit strcmp über den Array und Color....

Ist das eigentlich effizienter? Ich habe es ja auch in eigenen Plugins verwendet, aber nie genau herausgefunden, ob es wirklich effizienter ist.

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 22.01.2003, 19:59 
AM.de Team

Registriert: 04.10.2002, 16:14
Beiträge: 1212
ich würde mal vermuten dass es weniger arbeitsspeicher aber mehr cpulast benötigt, aber im grunde hab eich kA :D
abgesehen davon ist das ne tolle idee, das mache ich :)

/edith:wie iss das?
Code:
public admin_tsay(HLCommand,HLData,HLUserName,UserIndex) {
    new Command[MAX_COMMAND_LENGTH];
    new Data[MAX_DATA_LENGTH];
    new User[MAX_NAME_LENGTH];
    new Colors[8][MAX_NAME_LENGTH] = {"","red ","blue ","green ","yellow ","white ","purple ","random "};
    new colors[8][4] = {{250,250,250,0},{250,10,10,4},{10,10,250,5},{10,250,10,6},{250,250,10,7},{250,250,250,6},{250,10,250,7},{0,0,0,7}};
    new i;
    colors[7][0] = random(250); colors[7][1] = random(250); colors[7][2] = random(250);
    convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
    convert_string(HLData,Data,MAX_DATA_LENGTH);
    convert_string(HLUserName,User,MAX_NAME_LENGTH);
    strstripquotes(Data);
    for(i=7;i>=0;i--) {
        if(strncmp(Data,Colors[i],colors[i][3]) == 0) {
            break;
        }
    }
    if(strcmp(Command,"admin_csay") == 0) {
        Data[79+colors[i][3]] = '^0';
        centersay(Data[colors[i][3]],10,colors[i][0],colors[i][1],colors[i][2]);
    } else {
        format_lines(Data,MAX_DATA_LENGTH,79);
        typesay(Data[colors[i][3]],10,colors[i][0],colors[i][1],colors[i][2]);
    }
    log_command(User,Command,Data);
    return PLUGIN_HANDLED;
}


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 23.01.2003, 13:01 
AM.de Team
Benutzeravatar

Registriert: 27.11.2001, 01:00
Beiträge: 3564
Wohnort: In der Nähe von Bonn
genau so meinte ich es.

Warhead hat mir mal dazu geraten. Der Code ist kürzer.
Aber die Effizienz... ka.

_________________
Fehleranalyse: Poste den Inhalt Deiner liblist.gam, (listen)server.cfg, adminmod.cfg, users.ini, vault.ini, plugin.ini von adminmod und plugins.ini von metamod. Benutze auch die Such-Funktion


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 9 Beiträge ] 


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de
Original Design von "[ Half-Life Admin Mod © Alfred Reynolds 2000-2003 ] - [ site design by Jägermeister ]"