a plugin seems no one knows

Admin Mod Plugins-Sammlung von [WING] BlackKnight und [WING] Sir Drink a lot

Moderatoren: [WING] Sir Drink a lot, Black Knight

a plugin seems no one knows

Beitragvon 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
 

Beitragvon [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!
Benutzeravatar
[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

Beitragvon Black Knight » 10.01.05 10:36

Or post the source code here.
Der Schwarze Ritter triumphiert immer...
Bild
Benutzeravatar
Black Knight
Clan-Mitglied
 
Beiträge: 1033
Registriert: 03.11.03 22:33
Wohnort: Nürnberg
STEAM-ID: STEAM_0:1:9174

Beitragvon 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
 

Beitragvon Black Knight » 11.01.05 09:28

Yes, the sma file contains the source code of the plugin.
Der Schwarze Ritter triumphiert immer...
Bild
Benutzeravatar
Black Knight
Clan-Mitglied
 
Beiträge: 1033
Registriert: 03.11.03 22:33
Wohnort: Nürnberg
STEAM-ID: STEAM_0:1:9174

Beitragvon 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
 

Beitragvon 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...
Bild
Benutzeravatar
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