Das ist doch alles sehr mühselig hier
Ich habe Deinen Code mal eben funktionsfähig gemacht.
Ich hoffe, daraus wirst Du dann schlauer, wie das mit dem Plugin_Handled bzw. Continue gemeint ist.
Code:
#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>
new STRING_VERSION[MAX_DATA_LENGTH] = "2.50.1";
public admin_eingabe(HLCommand,HLData,HLUserName,UserIndex)
{
new Command[MAX_COMMAND_LENGTH];
new Speech[MAX_DATA_LENGTH];
new User[MAX_NAME_LENGTH];
new Text[MAX_TEXT_LENGTH];
new maxplayers = maxplayercount();
new i;
new Name[MAX_NAME_LENGTH];
new SessionID;
new Team;
new WONID;
new admincheck = 0;
new Map[MAX_NAME_LENGTH];
new ip[MAX_TEXT_LENGTH];
new port[MAX_TEXT_LENGTH];
currentmap(Map, MAX_NAME_LENGTH);
convert_string(HLCommand, Command, MAX_COMMAND_LENGTH);
convert_string(HLData, Speech, MAX_DATA_LENGTH);
convert_string(HLUserName, User, MAX_NAME_LENGTH);
strstripquotes(Speech);
/*wofür waren die strlen eigentlich gedacht? Geht doch auch ohne !*/
if (strcasestr(Speech, "ff")!=-1)
{
if (getvar("mp_friendlyfire")==1)
{
say("Friendly fire is ON. ! DANGER !");
}
else
{
say("Friendly fire is OFF. *puh*");
}
}
/*Entliehen aus plugin_stetze */
if ( (strcasestr(Speech, "admin") != -1) || (strcasestr(Speech, "moderator") != -1) )
{
snprintf(Text, MAX_DATA_LENGTH, "Admins on Server: ^n");
for(i=1; i<=maxplayers; i++)
{
strinit(Name);
if(playerinfo(i,Name,MAX_NAME_LENGTH,SessionID,WONID,Team)==1)
{
if(access(ACCESS_VOTE_MAP,Name)!=0) /*Ein bisschen niedrig. Steht in der Server.cfg auch default_access 0 ?*/
{
strcat(Text," ",MAX_DATA_LENGTH);
strcat(Text,Name,MAX_DATA_LENGTH);
admincheck = 1;
}
}
}
if (admincheck == 0)
{
strcat(Text," Keine Admins anwesend.",MAX_DATA_LENGTH);
}
typesay(Text,10,0,255,0);
}
if(strcasestr(Speech, "serverip")!=-1 )
{
get_vaultdata("serverip",ip, MAX_DATA_LENGTH);
get_vaultdata("serverport",port, MAX_DATA_LENGTH);
snprintf(Text, MAX_TEXT_LENGTH, "IP des Servers ist: %s:%s", ip,port);
say(Text);
}
if(strcasestr(Speech, "map")!=-1 )
{
snprintf(Text, MAX_TEXT_LENGTH, "Derzeitiege Map: %s", Map);
say(Text);
}
if(strcasestr(Speech, "lamer")!=-1 && access(ACCESS_VOTE_MAP,Name)==0)/*Siehe auch oben bei "admin" */
{
snprintf(Text, MAX_TEXT_LENGTH, "admin_gag ^"%s^" 2", User); /*Hm..admin_llama wäre besser. Dann kann er seinen Namen nicht ändern !*/
execclient(User,Text);/*plugin_exec ist hier nicht sinnig, da der User ja nicht das Plugin benutzen soll, sondern es soll auf ihn angewendet werden. Oder ist es genau das, was sich in der neuen Version ändert ?*/
snprintf(Text, MAX_TEXT_LENGTH, "[ADMIN]: %s ist fuer 2min gag.", User);
say(Text);
return PLUGIN_HANDLED;/*Dieses Handled bewirkt eben, dass das say NICHT ausgeführt wird.*/
}
return PLUGIN_CONTINUE;/*Die say (chat)-Ausgabe wird angezeigt.*/
}
public plugin_init()
{
plugin_registerinfo("Admin Abfrage","Codet bei MrSpoocy www.foc-clan.de",STRING_VERSION);
plugin_registercmd("say", "admin_eingabe", ACCESS_ALL,"Dieses script reagiert auf chateingaben. ff,admin,serverip,map");
plugin_registercmd("say_team", "admin_eingabe", ACCESS_ALL,"Dieses script reagiert auf chateingaben. ff,admin,serverip,map");
return PLUGIN_CONTINUE;
}
Das mit der serverip habe ich jetzt nicht getestet.
Gruss,
SDal
P.S.: @daRope: Ich hoffe, ich habe jetzt nichts falsch gemacht, in dem ich den Code hier poste.
_________________
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