Ich hab grad gestern ma wieder ein Plugin gemacht.
Es geht um soetwas wie es bei CS Gurad schon üblich ist, nämlich so eine Abstimmung von den einzelnen CLients ob sie aufn Server dürfen.
Stimmen sie bei dieser Abfrage mit ja, so dürfen sie Spielen, mit nein, so dürfen sie es net!
Naja, der Code is folgender:
Code:
#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>
#define ACCESS_CONSOLE 131072
#define ACCESS_ALL 0
new STRING_VERSION[MAX_DATA_LENGTH] = "0.1";
new UsersOnConnect[MAX_PLAYERS];
new UOCLlen;
public plugin_connect(HLUserName, HLIP, UserIndex)
{
new Name[MAX_DATA_LENGTH];
new WonID;
convert_string(HLUSerName,Name,MAX_DATA_LENGTH);
get_userWONID(Name,WonID);
UOCLlen=UOCLlen+1;
UserOnCOnnect[UOCLlen]=WonID;
return PLUGIN_HANDLED;
}
public OnTeamJoin(HLCommand,HLData,HLUserName,UserIndex)
{
new Name[MAX_DATA_LENGTH];
new WonID;
new ItsIn=0;
convert_string(HLUserName,Name,MAX_DATA_LENGTH);
get_userWONID(Name,WonID);
for (new i=1;i<UOCLlen+1;i=i+1
{
if (WonID==UsersOnConnect[i])
{
ItsIn=1;
}
}
if (ItsIn==1)
{
execclient(Name,"bind 1 serverregelnja");
execclient(Name,"bind 9 serverregelnnein");
messageex(Name,"Wenn du die Server Regeln Akzeptierst druecke 1.^nWenn nicht, dann 9",print_tty);
set_timer(KickPlayer,10,1,WonID);
}
return PLUGIN_HANDLED;
}
public serverregelnja(HLCommand,HLData,HLUserName,UserIndex)
{
new Name[MAX_DATA_LENGTH];
new WonID;
new ItsIn=0;
new j;
convert_string(HLUserName,Name,MAX_DATA_LENGTH);
get_userWONID(Name,WonID);
for (new i=1;i<UOCLlen+1;i=i+1
{
if (WonID==UsersOnConnect[i])
{
ItsIn=1;
j=i
}
}
if (ItsIn==1)
{
execclient(Name,"bind 1 slot1");
execclient(Name,"bind 9 slot0");
for (new i=j;i<UOCLlen;i=i+1
{
UsersOnConnect[i]=UsersOnConnect[i+1];
}
UOCLlen=UOCLlen-1;
}
else
{
messageex(Name,"Gleich zweimal Ja zu den Serverregelns sagen?^nIm richtigen Leben sagst du doch auch nur einmal:^nJA ICH WILL!",print_center);
}
return PLUGIN_HANDLED;
}
public serverregelnja(HLCommand,HLData,HLUserName,UserIndex)
{
new Name[MAX_DATA_LENGTH];
new WonID;
new ItsIn=0;
new j;
convert_string(HLUserName,Name,MAX_DATA_LENGTH);
get_userWONID(Name,WonID);
for (new i=1;i<UOCLlen+1;i=i+1
{
if (WonID==UsersOnConnect[i])
{
ItsIn=1;
j=i
}
}
if (ItsIn==1)
{
execclient(Name,"bind 1 slot1");
execclient(Name,"bind 9 slot0");
for (new i=j;i<UOCLlen;i=i+1
{
UsersOnConnect[i]=UsersOnConnect[i+1];
}
UOCLlen=UOCLlen-1;
messageex(Name,"Dann tschuess!",print_console);
kick(WonID);
}
else
{
messageex(Name,"Jetzt doch nicht? Du bist ja launisch!!!^nDann tschues!!",print_console);
kick(WonID);
}
return PLUGIN_HANDLED;
}
public KickPlayer(WonID)
{
new Name[MAX_DATA_LENGTH];
new WonID;
new ItsIn=0;
new j;
convert_string(HLUserName,Name,MAX_DATA_LENGTH);
get_userWONID(Name,WonID);
for (new i=1;i<UOCLlen+1;i=i+1
{
if (WonID==UsersOnConnect[i])
{
ItsIn=1;
j=i
}
}
if (ItsIn==1)
{
execclient(Name,"bind 1 slot1");
execclient(Name,"bind 9 slot0");
for (new i=j;i<UOCLlen;i=i+1
{
UsersOnConnect[i]=UsersOnConnect[i+1];
}
UOCLlen=UOCLlen-1;
messageex(Name,"Wir haben doch keine Zeit!^nNaechstes Mal entscheide dich schneller!",print_console);
kick(WonID);
}
return PLUGIN_HANDLED;
}
public plugin_init()
{
plugin_registerinfo("Server-Rulez","Give the player a choose to even confirm with the rules and play or to go",STRING_VERSION);
plugin_registercmd("OnTeamJoin", "OnTeamJoin", ACCESS_CONSOLE, "");
plugin_registercmd("serverregelnja", "serverregelnja", ACCESS_ALL, "");
plugin_registercmd("serverregelnnein", "serverregelnnein", ACCESS_ALL, "");
plugin_registercmd("KickPlayer","KickPlayer",ACCESS_CONSOLE,"");
exec( "logd_reg 54 admin_command OnTeamJoin" );
return PLUGIN_CONTINUE;
}
Sorry wegen der nicht komentierung!
Wenn ich den code jetzt kompelieren möchte (WinXP) versucht der compiler das gar net erst, sondern gibt folgende Fehlermeldung:
(Wohlgemerkt:KEINE ZEILE IN DER DOS BOX!!!EINE WINDOWS MSGBOX!)
Was heißt das??
Wo is der Fehler??
Alle andren Sachen kann ich normal compilen??
DAAAANKE!!!
kowalski