|
|
Admin Mod Plugins-Sammlung von [WING] BlackKnight und [WING] Sir Drink a lot
Moderatoren: [WING] Sir Drink a lot, Black Knight
von Gast » 09.01.05 23:38
hay i cant find anything about clan protech plugin for steam ids
please can some one help our point me in the right place please
i got it to load with my admin mod put after i go in it says this------
[ADMIN] ERROR: A plugin is attempting to kill a timer index 3 that it does not own.
L 01/09/2005 - 12:06:35: [ADMIN] ERROR: Calling timer function TagTrigger returned error 10
please help me my email is www.phanxter@yahoo
-
Gast
-
von [WING] Sir Drink a lot » 10.01.05 02:38
it is a very old plugin...
perhaps search for a newer plugin
Ein Bierfass ohne Boden ist wie ein schwarzes Loch ohne Materie!
-
[WING] Sir Drink a lot
- Clan-Mitglied
-
- Beiträge: 1288
- Registriert: 03.11.03 15:26
- Wohnort: Bonn-Beuel
- STEAM-ID: STEAM_0:0:11671
-
von Black Knight » 10.01.05 10:36
Or post the source code here.
Der Schwarze Ritter triumphiert immer...
-
Black Knight
- Clan-Mitglied
-
- Beiträge: 1033
- Registriert: 03.11.03 22:33
- Wohnort: Nürnberg
- STEAM-ID: STEAM_0:1:9174
-
von Gast » 11.01.05 03:46
im still learning, but when you say sorce code is that in the .sma
tor adminmod caus the plugin runs thew my adminmod but it doesint change my name, when i try to check it.
-
Gast
-
von Black Knight » 11.01.05 09:28
Yes, the sma file contains the source code of the plugin.
Der Schwarze Ritter triumphiert immer...
-
Black Knight
- Clan-Mitglied
-
- Beiträge: 1033
- Registriert: 03.11.03 22:33
- Wohnort: Nürnberg
- STEAM-ID: STEAM_0:1:9174
-
von Gast » 15.01.05 10:45
- Code: Alles auswählen
/********************************************************** Protect Tag by redeyez (redeyez@mindspring.com)
Protect Clan Tags and/or Player names to certain AuthID
History: version 1.2 - Implemented the Command option. Added more (rather verbose) Debug comments. Removed some junk. version 1.1 - Fixed a cuple of bugs. Add Command option in Tags.txt file Not implemented yet. version 1.0 - First release of Protect Tag Plugin.
**********************************************************/
/* Should be compatible to steam now [WING] Black Knight */
#include <core> #include <console> #include <string> #include <admin> #include <adminlib>
#define ACCESS_PROTECTTAG 8192 #define MAX_TAGS 100
new STRING_VERSION[MAX_DATA_LENGTH] = "1.2";
new TagTimer[MAX_PLAYERS];
new FileStatus = 0; /* Check if file exists flag */ new TotalTags = 0; new ClanTag[MAX_TAGS][MAX_TEXT_LENGTH]; new scommand[MAX_TAGS]; new TagType[MAX_TAGS]; new PlayerAuthID[MAX_TAGS][MAX_TEXT_LENGTH]; new DebugUser[MAX_NAME_LENGTH]; new DebugFlag = 0;
public tag_debug (HLCommand, HLData, HLUserName, UserIndex) { convert_string(HLUserName, DebugUser, MAX_NAME_LENGTH);
if (DebugFlag) { printf ("[PROTECT TAG] Debug Off^n"); messageex(DebugUser,"[PROTECT TAG] Debug Off",print_console); DebugFlag = 0; } else { printf ("[PROTECT TAG] Debug On^n"); messageex(DebugUser,"[PROTECT TAG] Debug On",print_console); DebugFlag = 1; } return PLUGIN_HANDLED; }
public load_tag_file() { new gotLine; new lineNum = 0; new lineStr[MAX_TEXT_LENGTH]; new Text[MAX_TEXT_LENGTH];
TotalTags = 0;
FileStatus = fileexists("TAGS.TXT"); if ( FileStatus > 0 ) { printf("[TAG PROTECT]Reading Tags.^n"); do { gotLine = readfile("TAGS.TXT",lineStr, lineNum, MAX_TEXT_LENGTH); if (gotLine) { if (DebugFlag) { printf ("Got tag %s^n",lineStr); printf ("Got Line # %s^n",TotalTags+1); } lineNum++; if ((strncmp(lineStr, "#", 1) == 0) || (strncmp(lineStr, "//", 2) == 0)) { /* Ignoreing comment. */ } else { strsplit(lineStr, ";", TagType[TotalTags], MAX_DATA_LENGTH , scommand[TotalTags], MAX_DATA_LENGTH , ClanTag[TotalTags], MAX_DATA_LENGTH, PlayerAuthID[TotalTags], MAX_DATA_LENGTH); TagType[TotalTags] = strtonum(TagType[TotalTags]); scommand[TotalTags] = strtonum(scommand[TotalTags]); if (DebugFlag) { printf("TAG: %s AUTHID: %s COMMAND: %i TAGTYPE: %i^n",ClanTag[TotalTags],PlayerAuthID[TotalTags],scommand[TotalTags],TagType[TotalTags]); } TotalTags++; } } if ( TotalTags > MAX_TAGS ) { return PLUGIN_CONTINUE; } } while(gotLine); TotalTags--; snprintf(Text, MAX_TEXT_LENGTH, "[PROTECT TAG] TAGS.TXT file found: %i Tags",TotalTags); printf ("%s.^n",Text); if (DebugFlag) { messageex(DebugUser,Text,print_console); } } else { printf ("[PROTECT TAG] Cannot find TAGS.TXT file.^n"); if (DebugFlag) { messageex(DebugUser,"[PROTECT TAG] Cannot find TAGS.TXT file.",print_console); } } return PLUGIN_HANDLED; }
public TagTrigger(Timer,WaitCount,RepeatCount,User) { new MyAuthID[MAX_AUTHID_LENGTH]; new UserIndex; new MyName[MAX_NAME_LENGTH]; new searchIndex = 0; new Text[MAX_TEXT_LENGTH]; new NameFound = 0; new TagFound = 0; new TagCommand = 0; convert_string(User, MyName, MAX_NAME_LENGTH); get_userindex(MyName, UserIndex); get_userAuthID(MyName, MyAuthID);
/* Only continue if player has fully connected; WONID of 0 means they haven't */ if ( strlen(MyAuthID) != 0 ) { if (DebugFlag) { messageex(MyName,"[PROTECT TAG] AUTHENTICATING CLAN TAG...",print_console); printf ("%s",Text); }
for ( searchIndex=1; searchIndex<=TotalTags; searchIndex++ ) { if (TagType[searchIndex] == 0 ) { if ( (strcasestr(MyName,ClanTag[searchIndex]) != -1) ) { if (DebugFlag) { messageex(MyName,"^n[PROTECT TAG] TAG MATCH",print_console); snprintf(Text, MAX_TEXT_LENGTH, "^nsearchIndex: %i ClanTag: %s YourName: %s",searchIndex, ClanTag[searchIndex], MyName); messageex(MyName, Text, print_console); } if (streq(MyAuthID,PlayerAuthID[searchIndex])) { TagFound = 1; if (DebugFlag) { messageex(MyName,"AUTHENICATED",print_console); printf ("%s.^n",Text); } searchIndex=TotalTags+1; } else { TagFound = 2; if ( scommand[searchIndex] > TagCommand ) { TagCommand = scommand[searchIndex]; } } } } } if (DebugFlag) { if ( TagFound == 2 ) { messageex(MyName, "FAILED TO AUTHENICATE",print_console); printf ("%s^n",Text); } if ( TagFound == 0 ) { messageex(MyName, "DONE",print_console); printf ("%s^n",Text); }
messageex(MyName,"[PROTECT TAG] AUTHENTICATING NAME...",print_console); printf ("%s",Text); }
for ( searchIndex=1; searchIndex<=TotalTags; searchIndex++ ) { if (TagType[searchIndex] == 1 ) { if ( (strcasestr(MyName,ClanTag[searchIndex]) != -1) ) { if (DebugFlag) { messageex(MyName,"^n[PROTECT TAG] NAME MATCH",print_console); snprintf(Text, MAX_TEXT_LENGTH, "^nsearchIndex: %i ClanTag: %s YourName: %s",searchIndex, ClanTag[searchIndex], MyName); messageex(MyName, Text, print_console); } if (streq(MyAuthID,PlayerAuthID[searchIndex])) { NameFound = 1; if (DebugFlag) { messageex(MyName,"AUTHENICATED",print_console); printf ("%s^n",Text); } searchIndex=TotalTags+1; } else { NameFound = 2; if ( scommand[searchIndex] > TagCommand ) { TagCommand = scommand[searchIndex]; } } } } } if (DebugFlag) { if ( NameFound == 2 ) { messageex(MyName, "FAILED TO AUTHENICATE",print_console); printf ("%s^n",Text); }
if ( NameFound == 0 ) { messageex(MyName, "DONE",print_console); printf ("%s^n",Text); } }
if ( (TagFound == 2) || (NameFound == 2) ) { if ( TagCommand != 1 && TagCommand != 2 ) { execclient(MyName, "name IMPOSTER"); } if ( TagCommand == 1 ) { kick(MyName); } if ( TagCommand == 2 ) { ban(MyName,0); } } kill_timer(TagTimer[UserIndex]); } else { /* Repeat later when the player has hopefully finished connecting */ if ( TagTimer[UserIndex] != 0 ) kill_timer(TagTimer[UserIndex]); TagTimer[UserIndex] = set_timer("TagTrigger",30,0,MyName); } }
public plugin_connect(HLUserName, HLIP, UserIndex) { new MyUserName[MAX_NAME_LENGTH];
convert_string(HLUserName, MyUserName, MAX_NAME_LENGTH);
if ( (UserIndex >= 1) && (UserIndex <= MAX_PLAYERS)) { if ( TagTimer[UserIndex] != 0 ) kill_timer(TagTimer[UserIndex]); TagTimer[UserIndex] = set_timer("TagTrigger",30,0,MyUserName);
} return PLUGIN_CONTINUE; }
public plugin_disconnect(HLUserName, UserIndex) { if ( UserIndex >= 1 && UserIndex <= MAX_PLAYERS ) { if ( TagTimer[UserIndex] != 0 ) kill_timer(TagTimer[UserIndex]); }
return PLUGIN_CONTINUE; }
public plugin_info(HLOldName,HLNewName,UserIndex) { new Text[MAX_TEXT_LENGTH]; new MyAuthID[MAX_AUTHID_LENGTH]; new NewName[MAX_NAME_LENGTH]; new OldName[MAX_NAME_LENGTH]; new NameFound = 0; new searchIndex = 0; new TagFound = 0; new TagCommand = 0;
convert_string(HLNewName, NewName, MAX_NAME_LENGTH); convert_string(HLOldName, OldName, MAX_NAME_LENGTH);
get_userAuthID(OldName, MyAuthID); /* Only bother if the name has changed. */ if(streq(OldName,NewName)==0) { if (DebugFlag) { messageex(OldName,"[PROTECT TAG] YOUR NAME HAS CHANGED",print_console); }
if ( (strcasestr(NewName,"IMPOSTER") != -1) ) { return PLUGIN_CONTINUE; }
if (DebugFlag) { messageex(OldName,"[PROTECT TAG] AUTHENTICATING CLAN TAG...",print_console); printf ("%s",Text); }
for ( searchIndex=1; searchIndex<=TotalTags; searchIndex++ ) {
if (TagType[searchIndex] == 0 ) { if ( (strcasestr(NewName,ClanTag[searchIndex]) != -1) ) { if (DebugFlag) { messageex(OldName,"^n[PROTECT TAG] TAG MATCH",print_console); snprintf(Text, MAX_TEXT_LENGTH, "^nsearchIndex: %i ClanTag: %s YourName: %s",searchIndex, ClanTag[searchIndex], NewName); messageex(OldName, Text, print_chat); } if (streq(MyAuthID,PlayerAuthID[searchIndex])) { TagFound = 1; if (DebugFlag) { messageex(OldName,"AUTHENICATED",print_console); printf ("%s.^n",Text); } searchIndex=TotalTags+1; } else { TagFound = 2; if ( scommand[searchIndex] > TagCommand ) { TagCommand = scommand[searchIndex]; } } } } }
if (DebugFlag) { if ( TagFound == 2 ) { messageex(OldName, "FAILED TO AUTHENICATE",print_console); printf ("%s^n",Text); } if ( TagFound == 0 ) { messageex(OldName, "DONE",print_console); printf ("%s^n",Text); }
messageex(OldName,"[PROTECT TAG] AUTHENTICATING NAME...",print_console); printf ("%s",Text); } for ( searchIndex=1; searchIndex<=TotalTags; searchIndex++ ) { if (TagType[searchIndex] == 1 ) { if ( (strcasestr(NewName,ClanTag[searchIndex]) != -1) ) { if (DebugFlag) { messageex(OldName,"^n[PROTECT TAG] NAME MATCH",print_console); snprintf(Text, MAX_TEXT_LENGTH, "^nsearchIndex: %i ClanTag: %s YourName: %s",searchIndex, ClanTag[searchIndex], NewName); messageex(OldName, Text, print_console); } if (streq(MyAuthID,PlayerAuthID[searchIndex])) { NameFound = 1; if (DebugFlag) { messageex(OldName,"AUTHENICATED",print_console); printf ("%s^n",Text); } searchIndex=TotalTags+1; } else { NameFound = 2; if ( scommand[searchIndex] > TagCommand ) { TagCommand = scommand[searchIndex]; } } } } }
if (DebugFlag) { if ( NameFound == 2 ) { messageex(OldName, "FAILED TO AUTHENICATE",print_console); printf ("%s^n",Text); } if ( NameFound == 0 ) { messageex(OldName, "DONE",print_console); printf ("%s^n",Text); } }
if ( (TagFound == 2) || (NameFound == 2) ) { if ( TagCommand != 1 && TagCommand != 2 ) { execclient(OldName, "name IMPOSTER"); } if ( TagCommand == 1 ) { kick(OldName); } if ( TagCommand == 2 ) { ban(OldName,0); } return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
public plugin_init() { plugin_registerinfo("redeyez Protect Clan Tags Plugin", "Protect Clan Tags.", STRING_VERSION); plugin_registercmd("admin_loadtags", "load_tag_file", ACCESS_PROTECTTAG); plugin_registercmd("admin_tagdebug", "tag_debug",ACCESS_PROTECTTAG); load_tag_file(); return PLUGIN_CONTINUE; }
Here is the whole sma file
-
Gast
-
von Black Knight » 15.01.05 14:32
Difficult to say as the code looks pretty much ok.
Maybe one should add TagTimer[UserIndex]=0; after every kill_timer() function.
Der Schwarze Ritter triumphiert immer...
-
Black Knight
- Clan-Mitglied
-
- Beiträge: 1033
- Registriert: 03.11.03 22:33
- Wohnort: Nürnberg
- STEAM-ID: STEAM_0:1:9174
-
Zurück zu [WING]-Server: Admin-Mod Plugins
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
|