1. sayfa (Toplam 2 sayfa)

Takım Karıştırma

Gönderilme zamanı: Pzr May 05, 2019 2:12 pm
gönderen leonhifi
Arkadaşlar mesela maçlarda /değiş yazınca takımlardaki oyuncular degisiyor ona benzer bi plugin arıyorum /karistir yazinca sw deki oyunculari T ve CT olarak karistirmasi lazım var mıdır boyle birşey mumkunmu

Takım Karıştırma

Gönderilme zamanı: Pzr May 05, 2019 2:46 pm
gönderen smash
Bi denermisin ;

Kod: Tümünü seç

/*

 $$$$$$\                                    $$\       
$$  __$$\                                   $$ |      
$$ /  \__|$$$$$$\$$$$\   $$$$$$\   $$$$$$$\ $$$$$$$\  
\$$$$$$\  $$  _$$  _$$\  \____$$\ $$  _____|$$  __$$\ 
 \____$$\ $$ / $$ / $$ | $$$$$$$ |\$$$$$$\  $$ |  $$ |
$$\   $$ |$$ | $$ | $$ |$$  __$$ | \____$$\ $$ |  $$ |
\$$$$$$  |$$ | $$ | $$ |\$$$$$$$ |$$$$$$$  |$$ |  $$ |
 \______/ \__| \__| \__| \_______|\_______/ \__|  \__|
                                                      
                                 */
#include <amxmodx>
#include <cstrike>
public plugin_init() {
	register_clcmd("say /karistir","karistir")
}
public client_putinserver(id){
	new ctsaysisi,tsayisi
	for(new i;i<get_maxplayers();i++){
		if(get_user_team(i) == 2)
			ctsaysisi++
		if(get_user_team(i) == 1)
			tsayisi++
	}
}
public takimata(id,ctsayisi,tsayisi){
	if(tsayisi > ctsayisi)
		cs_set_user_team(id,CS_TEAM_CT)
	if(ctsayisi > tsayisi)
		cs_set_user_team(id,CS_TEAM_T)    
} 
public karistir(id,ctsayisi,tsayisi) {
	new oyuncu
	for( new i = 1; i <= oyuncu; i++ ) {
		if( is_user_connected( i ) )
		{
			switch( cs_get_user_team( i ) )
			{
				case CS_TEAM_T: cs_set_user_team( i, CS_TEAM_SPECTATOR );
					case CS_TEAM_CT: cs_set_user_team( i, CS_TEAM_SPECTATOR );
					
			}
			takimata(id,ctsayisi,tsayisi)
		}
	}
}

Takım Karıştırma

Gönderilme zamanı: Pzr May 05, 2019 8:35 pm
gönderen smash
Hızlı yapmıştım çalışmıyıcaktır bilginize.

Takım Karıştırma

Gönderilme zamanı: Pzr May 05, 2019 9:36 pm
gönderen Necati Doğan

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

public plugin_init() {
	register_plugin("PLUGIN", "1.0", "nd");
	register_clcmd("say /karistir", "devam");
}
public devam() {
	new players[MAX_PLAYERS],num,id,te=0,ct=0; get_players(players, num, "chi");
	for(new i=0; i<num; i++) {
		id=players[i];
		if(ct>te) rg_set_user_team(id, TEAM_TERRORIST),te++;
		else if(te>ct) rg_set_user_team(id, TEAM_CT),ct++;
		else {
			switch(random_num(1, 2)) {
				case 1: rg_set_user_team(id, TEAM_TERRORIST),te++;
				case 2: rg_set_user_team(id, TEAM_CT),ct++;
			}
		}
	}
	server_cmd("sv_restart 1");
}

Takım Karıştırma

Gönderilme zamanı: Pzr May 05, 2019 10:12 pm
gönderen Yek'-ta
@Necati Doğan uzatmaya gerek yok, reapide hazır var zaten. pro.csd için yazmıştım eklentiyi geçen ay.

Kod: Tümünü seç

/* Yek'-ta */

#include <amxmodx>
#include <reapi>

#define PLUGIN  "Swap Teams"
#define VERSION "1.0"
#define AUTHOR  "Yek'-ta"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd( "csd_swapteams", "degistir")
}
public degistir(oyuncu){
    if(get_user_flags(oyuncu) & ADMIN_BAN){
        new isim[32];
        get_user_name(oyuncu, isim, charsmax(isim));
        rg_swap_all_players();
        client_print_color(0, oyuncu, "^3%s isimli yetkili takimlari yer degistirdi",isim);
    }
}
@smash clientputin ile o kadar lüzumsuz ve gereksiz bir işlem yaptırmışsın ki, her oyuncu girdiğinde for döngüsü ile her oyuncu için ayrı ayrı takımlarını saydırıyorsun. Takım saydırma işlemi bunda gereksiz zaten. karistir da new oyuncu demişsin sonra forda oyuncu değişkeni kadar çalıştır demişsin, oyuncu değişkeni orada 0 olduğu için hiçbir işlem yapmayacak. cs_set_user_team ile 32/32 bir sunucuda eğer sunucu 1.8.2 ise sunucu çökecek. cstrike modülü 1.8.2 de bunu hızlı hızlı çalıştıramıyor.
Muhtemelen eklenti yazma konusunda yenisin. Kendine şu soruları sor.. Ben neyi yazacağım, bana neler lazım, nasıl bir gidişat benim için daha iyi olur..

Takım Karıştırma

Gönderilme zamanı: Pzr May 05, 2019 10:17 pm
gönderen Necati Doğan
@Yek'-ta seninkinde takımlar değişiyor arkadaş komple karıştırmak istemiş o yüzden öyle yapmıştım.

Takım Karıştırma

Gönderilme zamanı: Pzr May 05, 2019 10:23 pm
gönderen Yek'-ta
Amacımız o ise takım dengelemesini daha iyi yapmak lazım. Takım fark etmeksizin en skorer oyunculardan başlayıp dağıtsak daha iyi olur.

Takım Karıştırma

Gönderilme zamanı: Çrş Nis 22, 2020 4:49 pm
gönderen Özcan Örs
Necati Doğan yazdı: Pzr May 05, 2019 9:36 pm

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

public plugin_init() {
	register_plugin("PLUGIN", "1.0", "nd");
	register_clcmd("say /karistir", "devam");
}
public devam() {
	new players[MAX_PLAYERS],num,id,te=0,ct=0; get_players(players, num, "chi");
	for(new i=0; i<num; i++) {
		id=players[i];
		if(ct>te) rg_set_user_team(id, TEAM_TERRORIST),te++;
		else if(te>ct) rg_set_user_team(id, TEAM_CT),ct++;
		else {
			switch(random_num(1, 2)) {
				case 1: rg_set_user_team(id, TEAM_TERRORIST),te++;
				case 2: rg_set_user_team(id, TEAM_CT),ct++;
			}
		}
	}
	server_cmd("sv_restart 1");
}
Konuyu yukarı alıyorum burda restart atıyor yalnız restart atmasın sadece takımlar değişsin istiyorum.

Takım Karıştırma

Gönderilme zamanı: Çrş Nis 22, 2020 5:09 pm
gönderen Necati Doğan
Özcan Örs yazdı: Çrş Nis 22, 2020 4:49 pm Konuyu yukarı alıyorum burda restart atıyor yalnız restart atmasın sadece takımlar değişsin istiyorum.
server_cmd("sv_restart 1"); satırını sil.

Takım Karıştırma

Gönderilme zamanı: Çrş Nis 22, 2020 5:19 pm
gönderen Özcan Örs
Necati Doğan yazdı: Çrş Nis 22, 2020 5:09 pm
Özcan Örs yazdı: Çrş Nis 22, 2020 4:49 pm Konuyu yukarı alıyorum burda restart atıyor yalnız restart atmasın sadece takımlar değişsin istiyorum.
server_cmd("sv_restart 1"); satırını sil.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

public plugin_init() {
	register_plugin("PLUGIN", "1.0", "nd");
	register_clcmd("say /karistir", "devam");
}
public devam() {
	new players[MAX_PLAYERS],num,id,te=0,ct=0; get_players(players, num, "chi");
	for(new i=0; i<num; i++) {
		id=players[i];
		if(ct>te) rg_set_user_team(id, TEAM_TERRORIST),te++;
		else if(te>ct) rg_set_user_team(id, TEAM_CT),ct++;
		else {
			switch(random_num(1, 2)) {
				case 1: rg_set_user_team(id, TEAM_TERRORIST),te++;
				case 2: rg_set_user_team(id, TEAM_CT),ct++;
			}
		}
	}
}
Bu şekil mi pek anlamam da ondan atıyorum buraya