Need Help In Clan System
#1

I Having My Clan Tag System But When Player Connects With [CTag] He Not Gets Kicked So Please Fix And Help Me

Код:
/** Clan Tag System Is Here **/
#define ClanTag "[uG]"

forward Kicker(playerid);
public Kicker(playerid)
{
	Kick(playerid);
	return 1;
}
stock GetPlayerID(const Name[])
{
    for(new i; i<MAX_PLAYERS; i++)
    {
      if(IsPlayerConnected(i))
      {
        new pName[MAX_PLAYER_NAME];
        GetPlayerName(i, pName, sizeof(pName));
        if(strcmp(Name, pName, true)==0)
        {
          return i;
        }
      }
    }
	return -1;
}

public OnPlayerConnect(playerid)
{
/* Clan System */
    new playeridname[MAX_PLAYER_NAME];
 	if (IsPlayerNPC(playerid)) return 1;
	GetPlayerName(playerid,playeridname,sizeof(playeridname));
	Clan[playerid] = dini_Int(AddDirFile(dir_userfiles, playeridname), "Clanmember");
	if(Clan[playerid]==0)
	{
	    if(strcmp(playeridname, ClanTag, true)==0)
	    {
			new str[256];
			format(str, sizeof(str), "Hey you are not from %s clan, go back and change your name to something else and don't use the tag!.", ClanTag);
			SendClientMessage(playerid, COLOR_RED, str);
			SetTimerEx("Kicker", 2000, 0, "i", playerid);
		}

/** Command To Set **/
CMD:setclanmember(playerid, params[])
{
	new tmp, tmp2,giveplayer[25], playername[25], string[256];
	if (adlvl[playerid] < 5) return 0;
	if (sscanf(params, "dd", tmp, tmp2)) return SendClientMessage2(playerid, COLOR_WHITE, "Usage: /setclanmember [playerid] [option] (options : 1 = Set, 0 = Remove)");\
	if(tmp > 1 || tmp2 < 0) return SendClientMessage(playerid, COLOR_RED,"ERROR:Available Options 0-1");
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	GetPlayerName(tmp, giveplayer, MAX_PLAYER_NAME);
	if (Clan[tmp] == tmp2) return SendClientMessage(playerid, COLOR_RED,"That Player Is/Not Already A Clan Member.");
	dini_IntSet(AddDirFile(dir_userfiles, giveplayer), "Clanmember", tmp);
	if(tmp2==1)
	{
		SendPlayerFormattedText(tmp, COLOR_YELLOW, "An admin has Setted you as a clan member, now you can use %s tag in your name.", ClanTag, "");
		SendPlayerFormattedText(playerid, COLOR_YELLOW, "You have setted %s As a clan member.", giveplayer, "");
		Clan[tmp]=1;
		if (adminuc[playerid] == 0)
		{
			format(string, 128, "Admin Log: %s has Setted %s's as a clan member %s.", playername, giveplayer);
			SendMessageToAdmins(COLOR_ADMIN, string);
		}
		printf("[Clan] %s has setted %s as a clan member", playername, giveplayer);
	}
	else if(tmp==0)
	{
		SendPlayerFormattedText(tmp, COLOR_RED, "An Admin Has Kicked You From Clan Remove %s Tag From Your Name Now.", ClanTag, "");
		SendPlayerFormattedText(playerid, COLOR_YELLOW, "You Have Kicked %s From Clan.", giveplayer, "");
		Clan[tmp]=0;
		if (adminuc[playerid] == 0)
		{
			format(string, 128, "Admin Log: %s has Kicked %s's From Clan  %s.", playername, giveplayer);
			SendMessageToAdmins(COLOR_ADMIN, string);
		}
		printf("[Clan] %s has Kicked %s From Clan", playername, giveplayer);
	}
	return 1;
}
pls help me
Reply
#2

I didn't get what you mean exactly but the currently tag is [uG]
PHP код:
#define ClanTag "[uG]" 
Also I think you should use
PHP код:
strfind() 
Instead

From:
PHP код:
if(strcmp(playeridnameClanTagtrue)==0
To:
PHP код:
if(strfind(playeridnameClanTagtrue) != -1
https://sampwiki.blast.hk/wiki/Strfind

You are trying to find the defined tag in the player name.


Pss, Rep pls
Reply
#3

can you make full and send me
Reply
#4

after changing its not working its not kickking player with that messg
Reply
#5

Quote:

I didn't get what you mean exactly but the currently tag is [uG]
PHP Code:
#define ClanTag "[uG]"
Also I think you should use
PHP Code:
strfind()
Instead

From:
PHP Code:
if(strcmp(playeridname, ClanTag, true)==0)
To:
PHP Code:
if(strfind(playeridname, ClanTag, true) != -1)
https://sampwiki.blast.hk/wiki/Strfind

You are trying to find the defined tag in the player name.


Pss, Rep pls
__________________
Scripting for a low price. PM for more info.

thnx bro you helped me
Reply
#6

but its kicking all players who is clan member
Reply
#7

I don't have your game mode (Or any game mode that works like yours) so I can't test it, But it should work

PHP код:
    /* Clan System */
    
new playeridname[MAX_PLAYER_NAME];
    if (
IsPlayerNPC(playerid)) return 1;
    
GetPlayerName(playerid,playeridname,sizeof(playeri dname));
    
Clan[playerid] = dini_Int(AddDirFile(dir_userfilesplayeridname), "Clanmember");
    if(
Clan[playerid]==0)
    {
        if(
strfind(playeridnameClanTagtrue) != -1)
        {
            new 
str[256];
            
format(strsizeof(str), "Hey you are not from %s clan, go back and change your name to something else and don't use the tag!."ClanTag);
            
SendClientMessage(playeridCOLOR_REDstr);
            
SetTimerEx("Kicker"20000"i"playerid);
        }
    } 
this should be under the player connect, The only part that I've edited.


Did it work or no? If yes, Rep. and thanks.
Reply
#8

That Worked Thnx + Rpped
But Please Help Me In /setclanmember It Sets Clan Member In Userfiles to 0 but i want it to change to 1
when i do /setclanmember id 1 to set him 0 to kick him help me pls its not working correctly

Код:
CMD:setclanmember(playerid, params[])
{
	new tmp, tmp2,giveplayer[25], playername[25], string[256];
	if (adlvl[playerid] < 5) return 0;
	if (sscanf(params, "dd", tmp, tmp2)) return SendClientMessage2(playerid, COLOR_WHITE, "Usage: /setclanmember [playerid] [option] (options : 1 = Set, 0 = Remove)");\
	if(tmp > 1 || tmp2 < 0) return SendClientMessage(playerid, COLOR_RED,"ERROR:Available Options 0-1");
	GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
	GetPlayerName(tmp, giveplayer, MAX_PLAYER_NAME);
	if (Clan[tmp] == tmp2) return SendClientMessage(playerid, COLOR_RED,"That Player Is Already A Clan Member.");
	dini_IntSet(AddDirFile(dir_userfiles, giveplayer), "Clanmember", tmp);
	if(tmp==1)
	{
		SendPlayerFormattedText(tmp, COLOR_YELLOW, "An admin has Setted you as a clan member, now you can use %s tag in your name.", ClanTag, "");
		SendPlayerFormattedText(playerid, COLOR_YELLOW, "You have setted %s As a clan member.", giveplayer, "");
		Clan[tmp]=1;
		if (adminuc[playerid] == 0)
		{
			format(string, 128, "Admin Log: %s has Setted %s's as a clan member %s.", playername, giveplayer);
			SendMessageToAdmins(COLOR_ADMIN, string);
		}
		printf("[Clan] %s has setted %s as a clan member", playername, giveplayer);
	}
	else if(tmp2==0)
	{
		SendPlayerFormattedText(tmp, COLOR_RED, "An Admin Has Kicked You From Clan Remove %s Tag From Your Name Now.", ClanTag, "");
		SendPlayerFormattedText(playerid, COLOR_YELLOW, "You Have Kicked %s From Clan.", giveplayer, "");
		Clan[tmp]=0;
		if (adminuc[playerid] == 0)
		{
			format(string, 128, "Admin Log: %s has Kicked %s's From Clan  %s.", playername, giveplayer);
			SendMessageToAdmins(COLOR_ADMIN, string);
		}
		printf("[Clan] %s has Kicked %s From Clan", playername, giveplayer);
	}
	return 1;
}
Reply
#9

PHP код:
CMD:setclan(playeridparams[])
{
    new 
tmptmp2,giveplayer[25], playername[25], string[256];
    if (
adlvl[playerid] < 5) return 0;
    if (
sscanf(params"dd"tmptmp2)) return SendClientMessage2(playeridCOLOR_WHITE"Usage: /setclanmember [playerid] [option] (options : 1 = Set, 0 = Remove)");\
    if(
tmp2 || tmp2 0) return SendClientMessage(playeridCOLOR_RED,"ERROR:Available Options 0-1");
    
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
    
GetPlayerName(tmpgiveplayerMAX_PLAYER_NAME);
    if(!
dini_Exists(AddDirFile("users"giveplayer))) return SendClientMessage(playeridCOLOR_RED,"ERROR: Account doesn't exist");
    if (
Clan[tmp] == tmp2) return SendClientMessage(playeridCOLOR_RED,"That Player Is/Not Already A Clan Member.");
    
dini_IntSet(AddDirFile(dir_userfilesgiveplayer), "Clanmember"tmp2);
    if(
tmp2==1)
    {
        
SendPlayerFormattedText(tmpCOLOR_YELLOW"An admin has Setted you as a clan member, now you can use %s tag in your name."ClanTag"");
        
SendPlayerFormattedText(playeridCOLOR_YELLOW"You have setted %s As a clan member."giveplayer"");
        
Clan[tmp]=1;
        if (
adminuc[playerid] == 0)
        {
            
format(string128"Admin Log: %s has Setted %s's as a clan member %s."playernamegiveplayer);
            
SendMessageToAdmins(COLOR_ADMINstring);
        }
        
printf("[Clan] %s has setted %s as a clan member"playernamegiveplayer);
    }
    else if(
tmp2==0)
    {
        
SendPlayerFormattedText(tmpCOLOR_RED"An Admin Has Kicked You From Clan Remove %s Tag From Your Name Now."ClanTag"");
        
SendPlayerFormattedText(playeridCOLOR_YELLOW"You Have Kicked %s From Clan."giveplayer"");
        
Clan[tmp]=0;
        if (
adminuc[playerid] == 0)
        {
            
format(string128"Admin Log: %s has Kicked %s's From Clan %s."playernamegiveplayer);
            
SendMessageToAdmins(COLOR_ADMINstring);
        }
        
printf("[Clan] %s has Kicked %s From Clan"playernamegiveplayer);
    }
    return 
1;

Reply
#10

thnx bro
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)