AdminMod.de
https://www.adminmod.de/

PLUGIN_SDAL_DEADSAY
https://www.adminmod.de/viewtopic.php?t=4673
Seite 1 von 1

Autor:  Sir Drink a lot [ 22.01.2003, 11:46 ]
Betreff des Beitrags:  PLUGIN_SDAL_DEADSAY

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.

Autor:  Rinde [ 22.01.2003, 15:43 ]
Betreff des Beitrags: 

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

Autor:  Sir Drink a lot [ 22.01.2003, 16:11 ]
Betreff des Beitrags: 

ich weiß auch nicht....
ich sollte mal eine Therapie machen....

Autor:  [WING] Black Knight [ 22.01.2003, 16:36 ]
Betreff des Beitrags: 

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.

Autor:  Sir Drink a lot [ 22.01.2003, 16:41 ]
Betreff des Beitrags: 

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! :-)

Autor:  Rinde [ 22.01.2003, 16:47 ]
Betreff des Beitrags: 

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;
}

Autor:  Sir Drink a lot [ 22.01.2003, 18:01 ]
Betreff des Beitrags: 

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.

Autor:  Rinde [ 22.01.2003, 19:59 ]
Betreff des Beitrags: 

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;
}

Autor:  Sir Drink a lot [ 23.01.2003, 13:01 ]
Betreff des Beitrags: 

genau so meinte ich es.

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

Seite 1 von 1 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/