1. sayfa (Toplam 1 sayfa)

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Çrş Mar 31, 2021 8:56 pm
gönderen bestcore
Eklenti İsmi : Nick Değiştirme Eklentisi
Sürüm : 0.1
Yapımcısı : ` BesTCore;

Eklenti Açıklaması :
Oyunun huzurunu bozup değiştirilmeyen isimler yapan kullanıcıların isimlerini değiştirmek. Amx_nick komutunda "." veya türkçe karakter bulunan isimler yapan kullanıcıların isimlerini değişmekte zorlanan yetkililer için yapılan bir menüdür.

Ekran Görüntüleri :
AnaMenu.png
ChatBilgi.png
Komutlar ve Değiştireceğiniz Yerler :

Kod: Tümünü seç

say /nickmenu - Nick değiştirme menüsüne giriş yapar.
GIRIS_YETKI - Menüye girebilmek için gereken yetki.
Eklenti :
NickDegistirme.sma

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Prş Nis 01, 2021 4:20 pm
gönderen Fatih ~ EjderYa
Onaylandı.

Bu kısma gerek varmıydı ?

Kod: Tümünü seç

new g_iPickPlayer[MAX_PLAYERS+1],
g_iChangeName[MAX_PLAYERS+1][30],
bool:g_blSecurity[MAX_PLAYERS+1];

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Prş Nis 01, 2021 4:34 pm
gönderen Özcan Örs
Teşekkürler kardeşim, içini kontrol etmedim ama bir sorum var burda atıyorum bir nick belirlemek istiyorum standart olarak "TIMGaming" yapar isem menüye girdğim de atıyorum adamı seçtim sadece bu isme değişmek istiyorum böyle bir şey mi bu yoksa yapılabilir mi?

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Prş Nis 01, 2021 5:28 pm
gönderen bestcore
Özcan Örs yazdı: Prş Nis 01, 2021 4:34 pm Teşekkürler kardeşim, içini kontrol etmedim ama bir sorum var burda atıyorum bir nick belirlemek istiyorum standart olarak "TIMGaming" yapar isem menüye girdğim de atıyorum adamı seçtim sadece bu isme değişmek istiyorum böyle bir şey mi bu yoksa yapılabilir mi?
İstediğin gibi ayarladım satır 9'dan hangi isim olmasını istiyorsan ayarlayabilirsin. Denemedim bir sorun var ise dönüş yapabilirsin.

Buyur;

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>

new const iUstTag[]  = "\rCSDuragi.COM\d -";
new const iChatTag[] = "^4CSDuragi.COM :";

#define GIRIS_YETKI     ADMIN_BAN    // Menuye giris yetkisi.
#define g_iChangeName   "TIMGAMING"

new g_iPickPlayer[MAX_PLAYERS+1];

public plugin_init(){
	register_plugin("Nick Degistirme Eklentisi", "0.1", "` BesTCore;");

	register_clcmd("say /nickmenu", "clcmd_nickmenu");
}
public clcmd_nickmenu(id){
	if(!(get_user_flags(id) & GIRIS_YETKI)){
		client_print_color(id, id, "%s ^3Bu menuye girebilmek icin yeterli yetkiniz bulunmamaktadir.", iChatTag);
		return PLUGIN_HANDLED;
	}
	new bestm = menu_create(fmt("%s Nick Menu", iUstTag), "clcmd_nickmenu_");

	menu_additem(bestm, fmt("Secilen Oyuncu: \d[\r%s\d]", fmt(g_iPickPlayer[id] ? "%n":"Tikla Sec", g_iPickPlayer[id])));
	menu_additem(bestm, fmt("Degistirilecek Isim: \d[\r%s\d]^n", g_iChangeName));

	menu_additem(bestm, fmt("%sIsimi Degistir", fmt(!g_iPickPlayer[id] ? "\d":"")));

	menu_setprop(bestm, MPROP_EXITNAME, "\rCikis");
	menu_display(id, bestm);
	return PLUGIN_HANDLED;
}
public clcmd_nickmenu_(id, menu, item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	switch(item){
		case 0:{
			ChoosePlayer(id);
		}
		case 1:{
			client_print_color(id, id, "%s ^3Isim otomatikmen^4 %s^3 olacaktir.", iChatTag, g_iChangeName);
			clcmd_nickmenu(id);
		}
		case 2:{
			if(!g_iPickPlayer[id]){
				client_print_color(id, id, "%s ^3Bir oyuncu secmeden onaylayamazsiniz.", iChatTag);
				clcmd_nickmenu(id);
				return PLUGIN_HANDLED;
			}
			client_cmd(g_iPickPlayer[id], "name %s", g_iChangeName);
			client_print_color(0, 0, "%s^1 %n^3 isimli admin^1 %n^3 isimli oyuncunun nickini^4 %s^3 yapti.", iChatTag, id, g_iPickPlayer[id], g_iChangeName);
			g_iPickPlayer[id] = 0;
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ChoosePlayer(id){
	new bestm = menu_create(fmt("%s Oyuncu Sec", iUstTag), "ChoosePlayer_");

	for(new i = 1, nts[6]; i <= MaxClients; i++){
		if(is_user_connected(i) && id != i && !is_user_bot(i)){
			num_to_str(i, nts, charsmax(nts));
			menu_additem(bestm, fmt("%n", i), nts);
		}
	}
	menu_setprop(bestm, MPROP_EXITNAME, "\rCikis");
	menu_display(id, bestm);
}
public ChoosePlayer_(id, menu, item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], key;
	menu_item_getinfo(menu, item, _, data, charsmax(data));
	key = str_to_num(data);

	g_iPickPlayer[id] = key;
	clcmd_nickmenu(id);

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Prş Nis 01, 2021 5:30 pm
gönderen bestcore
Fatih ~ EjderYa yazdı: Prş Nis 01, 2021 4:20 pm Onaylandı.

Bu kısma gerek varmıydı ?

Kod: Tümünü seç

new g_iPickPlayer[MAX_PLAYERS+1],
g_iChangeName[MAX_PLAYERS+1][30],
bool:g_blSecurity[MAX_PLAYERS+1];
Eklentiyi menü üzerinden yapmam için bunlar gerekiyordu benim aklıma başka yol gelmedi fikiri olan arkadaşlar fikir verebilir, amx olarakta direk ayarlayabilirdim ama zaten bu csduragında var amacı değiştirilmeyenleri nickleri değiştirmek.

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Prş Nis 01, 2021 6:21 pm
gönderen Colditz
Gördüklerim bunlar, öte yandan güzel eklenti.
  • Buranın amacı ne? Zaten switch yapınca MENU_EXIT yani -1 olunca hiçbirini görmeden direkt menüyü kapatacak

Kod: Tümünü seç

	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	switch(item){
  • Menüye tekrar göndermek için menu_display kullanman daha iyi olur. (case 2 için de)

Kod: Tümünü seç

		case 1:{
			if(!g_iPickPlayer[id]){
				client_print_color(id, id, "%s ^3Oyuncuyu secmeden isim belirleyemezsiniz.", iChatTag);
				menu_display(id, menu);
				//clcmd_nickmenu(id);
				return PLUGIN_HANDLED;
			}
  • Niye dokunulmazları engellemiyorsun?

Kod: Tümünü seç

	for(new i = 1, nts[6]; i <= MaxClients; i++){
		if(is_user_connected(i) && id != i && !is_user_bot(i)){
			num_to_str(i, nts, charsmax(nts));
			menu_additem(bestm, fmt("%n", i), nts);
		}
	}
  • fmt?

Kod: Tümünü seç

	for(new i = 1; i <= MaxClients; i++) {
	//for(new i = 1, nts[6]; i <= MaxClients; i++){
		if(is_user_connected(i) && id != i && !is_user_bot(i)){
			//num_to_str(i, nts, charsmax(nts));
			//menu_additem(bestm, fmt("%n", i), nts);
			menu_additem(bestm, fmt("%n", i), fmt("%i", i));
		}
	}

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Prş Nis 01, 2021 6:21 pm
gönderen Özcan Örs
bestcore yazdı: Prş Nis 01, 2021 5:28 pm
Özcan Örs yazdı: Prş Nis 01, 2021 4:34 pm Teşekkürler kardeşim, içini kontrol etmedim ama bir sorum var burda atıyorum bir nick belirlemek istiyorum standart olarak "TIMGaming" yapar isem menüye girdğim de atıyorum adamı seçtim sadece bu isme değişmek istiyorum böyle bir şey mi bu yoksa yapılabilir mi?
İstediğin gibi ayarladım satır 9'dan hangi isim olmasını istiyorsan ayarlayabilirsin. Denemedim bir sorun var ise dönüş yapabilirsin.

Buyur;

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>

new const iUstTag[]  = "\rCSDuragi.COM\d -";
new const iChatTag[] = "^4CSDuragi.COM :";

#define GIRIS_YETKI     ADMIN_BAN    // Menuye giris yetkisi.
#define g_iChangeName   "TIMGAMING"

new g_iPickPlayer[MAX_PLAYERS+1];

public plugin_init(){
	register_plugin("Nick Degistirme Eklentisi", "0.1", "` BesTCore;");

	register_clcmd("say /nickmenu", "clcmd_nickmenu");
}
public clcmd_nickmenu(id){
	if(!(get_user_flags(id) & GIRIS_YETKI)){
		client_print_color(id, id, "%s ^3Bu menuye girebilmek icin yeterli yetkiniz bulunmamaktadir.", iChatTag);
		return PLUGIN_HANDLED;
	}
	new bestm = menu_create(fmt("%s Nick Menu", iUstTag), "clcmd_nickmenu_");

	menu_additem(bestm, fmt("Secilen Oyuncu: \d[\r%s\d]", fmt(g_iPickPlayer[id] ? "%n":"Tikla Sec", g_iPickPlayer[id])));
	menu_additem(bestm, fmt("Degistirilecek Isim: \d[\r%s\d]^n", g_iChangeName));

	menu_additem(bestm, fmt("%sIsimi Degistir", fmt(!g_iPickPlayer[id] ? "\d":"")));

	menu_setprop(bestm, MPROP_EXITNAME, "\rCikis");
	menu_display(id, bestm);
	return PLUGIN_HANDLED;
}
public clcmd_nickmenu_(id, menu, item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	switch(item){
		case 0:{
			ChoosePlayer(id);
		}
		case 1:{
			client_print_color(id, id, "%s ^3Isim otomatikmen^4 %s^3 olacaktir.", iChatTag, g_iChangeName);
			clcmd_nickmenu(id);
		}
		case 2:{
			if(!g_iPickPlayer[id]){
				client_print_color(id, id, "%s ^3Bir oyuncu secmeden onaylayamazsiniz.", iChatTag);
				clcmd_nickmenu(id);
				return PLUGIN_HANDLED;
			}
			client_cmd(g_iPickPlayer[id], "name %s", g_iChangeName);
			client_print_color(0, 0, "%s^1 %n^3 isimli admin^1 %n^3 isimli oyuncunun nickini^4 %s^3 yapti.", iChatTag, id, g_iPickPlayer[id], g_iChangeName);
			g_iPickPlayer[id] = 0;
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public ChoosePlayer(id){
	new bestm = menu_create(fmt("%s Oyuncu Sec", iUstTag), "ChoosePlayer_");

	for(new i = 1, nts[6]; i <= MaxClients; i++){
		if(is_user_connected(i) && id != i && !is_user_bot(i)){
			num_to_str(i, nts, charsmax(nts));
			menu_additem(bestm, fmt("%n", i), nts);
		}
	}
	menu_setprop(bestm, MPROP_EXITNAME, "\rCikis");
	menu_display(id, bestm);
}
public ChoosePlayer_(id, menu, item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], key;
	menu_item_getinfo(menu, item, _, data, charsmax(data));
	key = str_to_num(data);

	g_iPickPlayer[id] = key;
	clcmd_nickmenu(id);

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
Teşekkür ederim deneyeceğim akşam

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Prş Nis 01, 2021 6:49 pm
gönderen LoseBasgan
güzel

Nick Değiştirme Eklentisi 0.1

Gönderilme zamanı: Prş Nis 01, 2021 6:59 pm
gönderen bestcore
Colditz yazdı: Prş Nis 01, 2021 6:21 pm
Sağolun, bunları göre göre hatalarımızın farkına varıyoruz teşekkürler.