Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Userlerin takım değişme kısayol

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
Barmen27
Mesajlar: 146
Kayıt: Prş Oca 09, 2020 10:53 am

Userlerin takım değişme kısayol

Mesaj gönderen Barmen27 »

Merhaba player arkadaşlar sunucuda
M`ye basmadan spec yasak şeklinde sadece
u Saydan /CT yazdığında veya diğer noktalama işaretleri ile geçerek playerlere özgü bir komut oluşturmak lakin karşı takım fazlaysa NeverGaming karşı takım doludur tekrar deneyiniz
Takımları Esitleyip komut çalışırsa iyi olur ozaman problem olmicaktir SADECE TAKIM DEĞİŞME SPEC GECMİCEKLER
NeveRGaming Takım değiştirdiniz
Takım doluysa Rakip Takım dolu bir sonraki el deneyiniz
Takım Esitleyip değiştikten sonra ise komutu 3 el boyunca Takım Değiştiremezsiniz
.CT
/ct
!CT
.te
/te
!te

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Userlerin takım değişme kısayol

Mesaj gönderen bestcore »

Birşey yaptım, istediğin gibi olmuşmu bak bakalım. İstediğin sorguları geçerse yani takım değiştirme aşamasına gelirse, oyuncu canlıysa takımını değişir ve revler, eğer cansız ise sadece takımını değişir. Böyle yapmamın amacı revlemeden takımını değiştirirsem aniden takım değiştirir ve kendi takımındaki oyuncuları vurur.

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const iChatTag[] = "^4forum.csd :";

new bool:g_blCount[MAX_PLAYERS+1],
	bool:g_blCountSecond[MAX_PLAYERS+1];

new const g_szClcmd[][] = 
{
	"say_team /ct",
	"say_team .ct",
	"say_team !ct",
	"say_team /t",
	"say_team .t",
	"say_team !t"
};

public plugin_init()
{
	register_plugin("Player Change Team Command", "0.1", "` BesTCore;");

	for(new i = 0; i <= 2; i++)
	{
		register_clcmd(g_szClcmd[i], "clcmd_ct");
	}
	for(new i = 3; i <= 5; i++)
	{
		register_clcmd(g_szClcmd[i], "clcmd_te");
	}

	RegisterHookChain(RG_CSGameRules_RestartRound, "RG_CSGameRules_RestartRound_Post", .post = true);
}
public clcmd_ct(const id)
{
	if(ifControl(id, 1))
	{
		return;
	}
	else if(PlayerNumberControl(id))
	{
		g_blCount[id] = true;
		return;
	}
	ChangeTeam(id, 0);
}
public clcmd_te(const id)
{
	if(ifControl(id, 0))
	{
		return;
	}
	else if(PlayerNumberControl(id))
	{
		g_blCount[id] = true;
		return;
	}
	ChangeTeam(id, 1);
}
public ChangeTeam(const id, const iType)
{
	switch(iType)
	{
		case 0:
		{
			if(is_user_alive(id))
			{
				rg_set_user_team(id, TEAM_CT);
				rg_round_respawn(id);
			}
			else
			{
				rg_set_user_team(id, TEAM_CT);
			}
		}
		case 1:
		{
			if(is_user_alive(id))
			{
				rg_set_user_team(id, TEAM_TERRORIST);
				rg_round_respawn(id);
			}
			else
			{
				rg_set_user_team(id, TEAM_TERRORIST);
			}
		}
	}
	g_blCountSecond[id] = true;
}
bool:PlayerNumberControl(const id)
{
	new TeamName:iTeam = get_member(id, m_iTeam);

	new iNum[2];

	iNum[0] = get_member_game(m_iNumCT);
	iNum[1] = get_member_game(m_iNumTerrorist);

	switch(iTeam)
	{
		case TEAM_TERRORIST:
		{
			if(iNum[0] > iNum[1])
			{
				client_print_color(id, id, "%s ^3Karsi takimdaki oyuncular fazla oldugu icin takim degistiremezsiniz.", iChatTag);
				return true;
			}
		}
		case TEAM_CT:
		{
			if(iNum[1] > iNum[0])
			{
				client_print_color(id, id, "%s ^3Karsi takimdaki oyuncular fazla oldugu icin takim degistiremezsiniz.", iChatTag);
				return true;
			}
		}
	}
	return false;
}
bool:ifControl(const id, const iType)
{
	new TeamName:iTeam = get_member(id, m_iTeam);

	if(g_blCountSecond[id])
	{
		client_print_color(id, id, "%s ^3Bu komutu kullandin, 3 el gectikten sonra kullanabilirsin.", iChatTag);
		return true;
	}
	else if(g_blCount[id])
	{
		client_print_color(id, id, "%s ^3Bu komutu bir sonraki el kullanabilirsin.", iChatTag);
		return true;
	}
	switch(iType)
	{
		case 0:
		{
			if(iTeam == TEAM_TERRORIST)
			{
				client_print_color(id, id, "%s ^3Sen zaten te takimindasin.", iChatTag);
				return true;
			}
		}
		case 1:
		{
			if(iTeam == TEAM_CT)
			{
				client_print_color(id, id, "%s ^3Sen zaten ct takimindasin.", iChatTag);
				return true;
			}
		}
	}
	return false;
}
public RG_CSGameRules_RestartRound_Post()
{
	new iCount;

	for(new id = 1; id <= MaxClients; id++)
	{
		if(!is_user_connected(id))
		{
			continue;
		}
		switch(g_blCount[id])
		{
			case true:
			{
				g_blCount[id] = false;
			}
		}

		switch(g_blCountSecond[id])
		{
			case true:
			{
				iCount++;
				switch(iCount)
				{
					case 3:
					{
						iCount = 0;
						g_blCountSecond[id] = false;
					}
				}
			}
		}
	}
}		
En son bestcore tarafından Pzr May 16, 2021 5:32 pm tarihinde düzenlendi, toplamda 1 kere düzenlendi.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

heaveNN
Mesajlar: 314
Kayıt: Prş Ağu 22, 2019 11:11 pm
Clan İsmi: RedDawn

Userlerin takım değişme kısayol

Mesaj gönderen heaveNN »

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

new const TAG[] = "CSD";
new GeriSayim[MAX_PLAYERS+1];

public plugin_init() {
    register_plugin("Takim Degistirme","1.0","heaveNN");
    
    register_clcmd("say /ct","switchtoct");
    register_clcmd("say !ct","switchtoct");
    register_clcmd("say .ct","switchtoct");

    register_clcmd("say /t","switchtot");
    register_clcmd("say !t","switchtot");
    register_clcmd("say .t","switchtot");

    RegisterHookChain(RG_RoundEnd,"RoundEnd");
}

public RoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay) {
    for(new id = 1;id <= MaxClients;id++) {
        if(!is_user_connected(id)) continue;
        if(GeriSayim[id]) GeriSayim[id]--;
    }
}

public switchtoct(const id) {
    if(get_member(id,m_iTeam) == TEAM_CT) {
        client_print_color(id,id,"^4%s: ^1Zaten ^3CT Takimindasin.",TAG);
        return;
    }
    new at,act,dt,dct
    rg_initialize_player_counts(at,act,dt,dct);
    if(dt + dct > at + act) {
        client_print_color(id,id,"^4%s: ^1Karsi Takim Kalabalikken Takim Degisemezsin.",TAG);
        return;
    }
    if(act + dct >= 16) {
        client_print_color(id,id,"^4%s: ^1Karsi Takim Doluyken Takim Degisemezsin.",TAG);
        return;
    }
    if(!GeriSayim[id]) {
        GeriSayim[id] = 3;
        rg_switch_team(id);
        client_print_color(id,id,"^4%s: ^1Basariyla ^3CT Takimina ^1Gectiniz.",TAG);
    }
    else client_print_color(id,id,"^4%s: ^1Tekrar Takim Degistirmek Icin ^4%i ^1Round Beklemelisin.",TAG,GeriSayim[id]);
}

public cmdt(const id) {
    if(get_member(id,m_iTeam) == TEAM_TERRORIST) {
        client_print_color(id,id,"^4%s: ^1Zaten ^3T Takimindasin.",TAG);
        return;
    }
    new at,act,dt,dct
    rg_initialize_player_counts(at,act,dt,dct);
    if(at + act > dt + dct) {
        client_print_color(id,id,"^4%s: ^1Karsi Takim Kalabalikken Takim Degisemezsin.",TAG);
        return;
    }
    if(at + dt >= 16) {
        client_print_color(id,id,"^4%s: ^1Karsi Takim Doluyken Takim Degisemezsin.",TAG);
        return;
    }
    if(!GeriSayim[id]) {
        GeriSayim[id] = 3;
        rg_switch_team(id);
        client_print_color(id,id,"^4%s: ^1Basariyla ^3T Takimina ^1Gectiniz.",TAG);
    }
    else client_print_color(id,id,"^4%s: ^1Tekrar Takim Degistirmek Icin ^4%i ^1Round Beklemelisin.",TAG,GeriSayim[id]);
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Barmen27
Mesajlar: 146
Kayıt: Prş Oca 09, 2020 10:53 am

Userlerin takım değişme kısayol

Mesaj gönderen Barmen27 »

Değerli eklenti yazarları çok teşekkür ederım yardımcı olduğunz için iki eklentide gayet çalişiyor
Allah razı olsun Sunucumuza gelip denemenizi tavsiye ederim Userlere güzel bir katkı oldu

Link:
Linklerini gizle
Linki Kopyala
Cevapla