So, script ist fertig und geht sogar
)
Code:
#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>
new STRING_VERSION[MAX_DATA_LENGTH] = "1.0";
new time;
new i=1;
new stimer = 180;
public admin_msg(HLCommand,HLData,HLUserName,UserIndex)
{
new User[MAX_NAME_LENGTH];
new Data[MAX_DATA_LENGTH];
new Command[MAX_COMMAND_LENGTH];
convert_string(HLCommand,Command,MAX_COMMAND_LENGTH);
convert_string(HLData,Data,MAX_DATA_LENGTH);
convert_string(HLUserName,User,MAX_NAME_LENGTH);
if(strcasestr(Data, "stop")!=-1)
{
kill_timer(time);
consgreet("[SERVER]: Nachrichten werden nicht mehr eingeblendet.");
return PLUGIN_HANDLED;
}
if(strcasestr(Data, "start")!=-1)
{
kill_timer(time);
time = set_timer("go", stimer, 99999);
consgreet("[SERVER]: Nachrichten werden wieder eingeblendet.");
return PLUGIN_HANDLED;
}
if(strcasestr(Data, "start")==-1 && strcasestr(Data, "stop")==-1)
{
consgreet("Es fehlt leider ein command. admin_msg <start/stop>");
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public go()
{
new TextFile[MAX_DATA_LENGTH];
new counter = 0;
new str[MAX_DATA_LENGTH];
new rest[MAX_DATA_LENGTH];
new R;
new G;
new B;
new T;
new msg[MAX_DATA_LENGTH];
new temp[MAX_DATA_LENGTH];
strcpy(TextFile, "msg.txt", MAX_DATA_LENGTH);
if (fileexists(TextFile) == 1)
{
counter = filesize(TextFile, 1);
}
else
{
return PLUGIN_HANDLED;
}
if(i>=counter)
{
i = 1;
}
if (readfile(TextFile, str, i, MAX_TEXT_LENGTH) != 0)
{
strbreak(str, temp, rest, MAX_DATA_LENGTH);
R = strtonum(temp);
strbreak(rest, temp, rest, MAX_DATA_LENGTH);
G = strtonum(temp);
strbreak(rest, temp, rest, MAX_DATA_LENGTH);
B = strtonum(temp);
strbreak(rest, temp, msg, MAX_DATA_LENGTH);
T = strtonum(temp);
centersay(msg,T,R,G,B);
}
i++;
return PLUGIN_CONTINUE;
}
public plugin_init()
{
plugin_registerinfo("Center-Say nachrichten.","Codet bei MrSpoocy www.foc-clan.de",STRING_VERSION);
plugin_registercmd("admin_msg","admin_msg",128,"Mit diesem Plug in werden bestimmte nachrichten regelmaesig eingeblendet. admin_msg <stat/stop>");
new VaultData[MAX_DATA_LENGTH];
if(get_vaultdata("msgsek", VaultData, MAX_DATA_LENGTH) != 0)
{
stimer = strtonum(VaultData);
}
time = set_timer("go", stimer, 99999);
return PLUGIN_CONTINUE;
}
Befele:
->admin_msg <start/stop>
Benötigte rechte:
->128
Server einstellung:
->file_access_read 1
->in der vault.ini muß msgsek <sek> gesetzt sein (z.b msgsek 30) dann blendet er alle 30 sek einen satz ein.
->Eine msg.txt muß erstellt werden und in folgendem format geschrieben werden.
<R> <G> <B> <sek> <Text> //sek steht für die dauer des einbelndens
255 0 0 10 Dieser text ist Rot und wird 10 sek eingeblendet.
Anmerkung:
->Das script geht jede zeihle durch, und ist auf endlos gestellt.
->Wenn ein text im falschen format geschrieben ist passiert nix, das script leuft weiter , also keine angst der server schmiert nicht ab
Dankeschreiben:
->Warhead
->daRope
->Sir Drink a lot