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

https://discord.gg/43gGDQe6tS

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

omertas14544
Mesajlar: 1602
Kayıt: Prş Oca 26, 2017 3:23 pm
Server Ip/DNS: 213.238.173.35
Clan İsmi: MoonGaming
İletişim:

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen omertas14544 »

By.King ►EmrullaH◄ yazdı: Çrş Tem 17, 2019 12:53 pm
omertas14544 yazdı: Çrş Tem 17, 2019 12:51 pm Yanlış bilgi için özür diliyorum. Bilmediğim bir kaç şey varmış.
cs_get_user_team yoktur. get_user_team ile çekebilirisin.
https://www.amxmodx.org/api/cstrike/cs_get_user_team
Takım çekmeden bahsediyoruz.

Link:
Linklerini gizle
Linki Kopyala

F.T.H
Mesajlar: 546
Kayıt: Pzr Mar 19, 2017 12:55 pm
Konum: Ϲ★
İletişim:

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen F.T.H »

Vortex yazdı: Sal Tem 16, 2019 1:57 pm Merhabalar,

Kod blokunda para sıfırlama işlemi gerçekleşmiyor. Bu işlem Yeni Bir Round başlandığında eğer 15. el ise devreye girecek şekilde ayarlanmıştır. 15. el'de silahları veriyor, fakat para olayı gerçekleşmiyor. Oyuncunun parasının 0'lanıp, mp_startmoney cvarına bağlı olarak yeni para transferi yapmasını için
Denedim ve Komutlarda bir sıkıntı göremedim. Başka eklentiler ile çakışma yapıyor olabilir.
El başladığında belli bir saniye sonra komutu gönderin

Kod: Tümünü seç

#include <amxmodx>
#include <cstrike>
#include <fun>

public plugin_init()
{
    register_logevent("elbasladi", 2, "1=Round_Start")
}

public elbasladi()
{
    set_task(0.1,"scoreandmoneychange")
}

public scoreandmoneychange()
{
	new players[32],inum;	
	get_players(players,inum);
	
	for(new i = 0; i < inum; i++)
	{
		
		cs_set_user_money(players[i], get_pcvar_num(get_cvar_pointer("mp_startmoney")))

		switch(cs_get_user_team(players[i]))
		{
			case CS_TEAM_CT: 
			{
				strip_user_weapons(players[i]);
				give_item(players[i], "weapon_knife");
				give_item(players[i], "weapon_usp");
				cs_set_user_bpammo(players[i],CSW_USP,120);
			}
			case CS_TEAM_T:
			{
				strip_user_weapons(players[i]);
				give_item(players[i], "weapon_knife");
				give_item(players[i], "weapon_glock18");
				cs_set_user_bpammo(players[i],CSW_GLOCK18,120);
			}
		}

	}
}

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

By.King ►EmrullaH◄
Yasaklı Üye
Yasaklı Üye
Mesajlar: 4297
Kayıt: Cmt Şub 24, 2018 6:05 pm
Konum: İstanbul
İletişim:

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen By.King ►EmrullaH◄ »

Kod: Tümünü seç

if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
Buradan yaparsın mesela.

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

Konu Sahibi
Vortex
Mesajlar: 86
Kayıt: Cum Eyl 07, 2018 6:01 pm
Konum: İstanbul
Server Ip/DNS: 213.238.173.124
Clan İsmi: gLd

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen Vortex »

By.King ►EmrullaH◄ yazdı: Çrş Tem 17, 2019 12:50 pm O zaman publicin parantezinin içine id yaz ve for döngüsünün başına da players = İD yaz.
players yazdığın yerlere de id yaz.


Yine 4600 $'dan başladı. Özel mesaj olarak eklentiyi yolladım size, genel olarak bir bakarsınız.

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

By.King ►EmrullaH◄
Yasaklı Üye
Yasaklı Üye
Mesajlar: 4297
Kayıt: Cmt Şub 24, 2018 6:05 pm
Konum: İstanbul
İletişim:

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen By.King ►EmrullaH◄ »

Şuan o kadar detaylı bakamam ama baktığımız zaman mesaj atarım.

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

Colditz
Mesajlar: 2574
Kayıt: Çrş Ağu 23, 2017 9:17 pm

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen Colditz »

Vortex yazdı: Sal Tem 16, 2019 1:57 pm Sorunu çözebilecek var mı acaba?
Öncelikle şöyle başlayayım. get_players kullanıyorsan yeni bir id tanıtıp onu players komutuna eşitlemen gerekiyor. Tüm komutlarda players kullanırsan sunucunda çok yük olacaktır. Örnek olarak;

Kod: Tümünü seç

public deneme(id)
{
	new players[32], inum;
	static Uid;
	get_players(players, inum);
	for(new i=0; i<inum; i++)
	{
		Uid = players[i];
		
	//	cs_set_user_money(players[i], 16000);      

		cs_set_user_money(Uid, 16000);
	}
}
Konuya gelirsek;
Reapi komutuyla takım tanıtmana gerek kalmaz. Bu komutları iyice öğren çok yardımcı olacak sana.
Kendi eklentine göre ayarlarsın. Bitirince tamamını at çalışmayan yerlerine bakarım.

Kod: Tümünü seç

#include <reapi>

new mp_startmoney;

public plugin_init() {
	// plugin init in içine ayaz burayı
	mp_startmoney = get_cvar_pointer("mp_startmoney");
}

public scoreandmoneychange()
{
	new players[32], inum;
	static Uid;
	get_players(players, inum);
	for(new i=0; i<inum; i++)
	{
		Uid = players[i];
		cs_set_user_money(Uid, get_pcvar_num(mp_startmoney));
		rg_remove_all_items(Uid);
		rg_give_default_items(Uid);
	}
}

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

Konu Sahibi
Vortex
Mesajlar: 86
Kayıt: Cum Eyl 07, 2018 6:01 pm
Konum: İstanbul
Server Ip/DNS: 213.238.173.124
Clan İsmi: gLd

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen Vortex »

F.T.H yazdı: Çrş Tem 17, 2019 12:58 pm
Vortex yazdı: Sal Tem 16, 2019 1:57 pm Merhabalar,

Kod blokunda para sıfırlama işlemi gerçekleşmiyor. Bu işlem Yeni Bir Round başlandığında eğer 15. el ise devreye girecek şekilde ayarlanmıştır. 15. el'de silahları veriyor, fakat para olayı gerçekleşmiyor. Oyuncunun parasının 0'lanıp, mp_startmoney cvarına bağlı olarak yeni para transferi yapmasını için
Denedim ve Komutlarda bir sıkıntı göremedim. Başka eklentiler ile çakışma yapıyor olabilir.
El başladığında belli bir saniye sonra komutu gönderin

Kod: Tümünü seç

#include <amxmodx>
#include <cstrike>
#include <fun>

public plugin_init()
{
    register_logevent("elbasladi", 2, "1=Round_Start")
}

public elbasladi()
{
    set_task(0.1,"scoreandmoneychange")
}

public scoreandmoneychange()
{
	new players[32],inum;	
	get_players(players,inum);
	
	for(new i = 0; i < inum; i++)
	{
		
		cs_set_user_money(players[i], get_pcvar_num(get_cvar_pointer("mp_startmoney")))

		switch(cs_get_user_team(players[i]))
		{
			case CS_TEAM_CT: 
			{
				strip_user_weapons(players[i]);
				give_item(players[i], "weapon_knife");
				give_item(players[i], "weapon_usp");
				cs_set_user_bpammo(players[i],CSW_USP,120);
			}
			case CS_TEAM_T:
			{
				strip_user_weapons(players[i]);
				give_item(players[i], "weapon_knife");
				give_item(players[i], "weapon_glock18");
				cs_set_user_bpammo(players[i],CSW_GLOCK18,120);
			}
		}

	}
}
Yardımınız için teşekkür ederim. Süre getirince gördüm ki bu komutlar ile 3400$ ile başlıyor yeni round, sonra +1200 ile 4600$ oluyor.

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

Konu Sahibi
Vortex
Mesajlar: 86
Kayıt: Cum Eyl 07, 2018 6:01 pm
Konum: İstanbul
Server Ip/DNS: 213.238.173.124
Clan İsmi: gLd

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen Vortex »

Colditz yazdı: Çrş Tem 17, 2019 1:07 pm
Vortex yazdı: Sal Tem 16, 2019 1:57 pm Sorunu çözebilecek var mı acaba?
Öncelikle şöyle başlayayım. get_players kullanıyorsan yeni bir id tanıtıp onu players komutuna eşitlemen gerekiyor. Tüm komutlarda players kullanırsan sunucunda çok yük olacaktır. Örnek olarak;

Kod: Tümünü seç

public deneme(id)
{
	new players[32], inum;
	static Uid;
	get_players(players, inum);
	for(new i=0; i<inum; i++)
	{
		Uid = players[i];
		
	//	cs_set_user_money(players[i], 16000);      

		cs_set_user_money(Uid, 16000);
	}
}
Konuya gelirsek;
Reapi komutuyla takım tanıtmana gerek kalmaz. Bu komutları iyice öğren çok yardımcı olacak sana.
Kendi eklentine göre ayarlarsın. Bitirince tamamını at çalışmayan yerlerine bakarım.

Kod: Tümünü seç

#include <reapi>

new mp_startmoney;

public plugin_init() {
	// plugin init in içine ayaz burayı
	mp_startmoney = get_cvar_pointer("mp_startmoney");
}

public scoreandmoneychange()
{
	new players[32], inum;
	static Uid;
	get_players(players, inum);
	for(new i=0; i<inum; i++)
	{
		Uid = players[i];
		cs_set_user_money(Uid, get_pcvar_num(mp_startmoney));
		rg_remove_all_items(Uid);
		rg_give_default_items(Uid);
	}
}
Yorumunuz ve kattıklarınız için teşekkür ederim. Evet bu komutları fazlaca öğrenmek yükü azaltacak. Bu komut satırlarını aynen denedim, fakat yine 4600$ olarak başladı. Diğer satırlarda herhangi bir sorun yok. Tamamını özel mesaj yoluyla size gönderiyorum.

Dipnot: Eklenti, CSGO mod sunucularda (ki bence pro pub içinde kullanılabilir) Rekabetçi Mod için yazılıyor. Son kısım olarak burası kaldı. Eklenti bittiğinde, forumda paylaşılacaktır.

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

GhostCoders
Mesajlar: 1
Kayıt: Cum Tem 12, 2019 5:14 pm

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen GhostCoders »

Vortex yazdı: Çrş Tem 17, 2019 12:32 pm
omertas14544 yazdı: Sal Tem 16, 2019 9:10 pm Sanırım kodları sallamışsınız.
cs_set_user_money(i, 0);
get_user_team(i)
case CS_TEAM_CT yerine case 2
case CS_TEAM_T yerine case 1
give_item(players,"ammo_9mm"); bunu tamamen sallamışsınız :D onun yerine cs_set_user_bpammo(i,CSW_AK47(silah),30(değiştirilecek olan ammo değeri))


İndex 'i' yapıldığı zaman eklenti çalışmayacaktır.

CS_TEAM_CT / T komutları "cs_set_user_team" için geçerlidir ve sorunsuz çalışmaktadır, sallama değildir.

give_item(players,"ammo_9mm"); Bu komutta sallama değildir ayrıca.
Fazlası gönderilirse oyunda hata vermesi kaçınılmaz deseniz anlarım.


CSW_USP 16 give_item(id,"ammo_45acp") give_item(id, "weapon_usp") CLIP SIZE/BP SIZE: 12/100
==================================================================================================================
CSW_GLOCK18 17 give_item(id,"ammo_9mm") give_item(id, "weapon_glock18") CLIP SIZE/BP SIZE: 20/120
==================================================================================================================

Dediğiniz gibi bu komutta kullanılabilir.

Kod: Tümünü seç

 cs_set_user_bpammo(index, weapon, amount) 
Size tavsiyem; madem yardımcı olmak için CSDurağı Forum adresindesiniz, öncelikle üslubunuzun daha resmi olmasıdır. Mesajınızda yazdığınız kelimeler son derece laubali ve önyargılı.

Saygılarımla, İyi Forumlar.

==================================================================================================================
By.King ►EmrullaH◄ yazdı: Çrş Tem 17, 2019 8:28 am

Kod: Tümünü seç

cs_set_user_money(players[i], para, 1);
Buradaki kısmını silip dener misin ?
Denedim fakat bir sonuç alamadım. Son hali şu şekildedir.

Kod: Tümünü seç

public scoreandmoneychange()
{
	new players[32],inum,para, maxpara;	
	get_players(players,inum);
	
	for(new i = 0; i < inum; i++)
	{
		maxpara = get_cvar_num("mp_maxmoney");
		cs_set_user_money(players[i], (cs_get_user_money(players[i]) - maxpara));
		
		para = get_cvar_num("mp_startmoney");
		cs_set_user_money(players[i], para);	

		switch(cs_get_user_team(players[i]))
		{
			case CS_TEAM_CT: 
			{
				strip_user_weapons(players[i]);
				give_item(players[i], "weapon_knife");
				give_item(players[i], "weapon_usp");
				cs_set_user_bpammo(players[i],CSW_USP,120);
			}
			case CS_TEAM_T:
			{
				strip_user_weapons(players[i]);
				give_item(players[i], "weapon_knife");
				give_item(players[i], "weapon_glock18");
				cs_set_user_bpammo(players[i],CSW_GLOCK18,120);
			}
		}

	}  	
}
cs_set_user_money(players, para); bu satır yorumlandığında 0 $ olarak başlıyor fakat yorumsuz halinde 4200 $'lardan başlıyor.


cs_set_user_team // kodu yerine get_user_team(players) kodunu case lere de 1 : Terrorist 2 :Ct olarak kullanın
Ve eklentinin amacını anlamadım hâlâ ne işi yarayacak bu

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

hayku
Mesajlar: 297
Kayıt: Çrş Tem 17, 2019 6:45 pm
Konum: Ordu
Clan İsmi: Alpha Game Clan

Eklentide Oyuncunun Parasını Sıfırlama/Değiştirme

Mesaj gönderen hayku »

Kod: Tümünü seç

#include < amxmodx >
#include < cstrike >
#include < fun >
public plugin_init(){
	register_logevent("Event_RoundStart", 2, "1=Round_Start");
}
public Event_RoundStart(){
	for(new i;i<33;i++){
		if(is_user_connected(i)){
			cs_set_user_money(i,0);
			cs_set_user_money(i,cs_get_user_money(i)+get_cvar_num("mp_startmoney"));
			strip_user_weapons(i);
			switch(get_user_team(i)){
				case 1: {
					give_item(i,"weapon_knife"),give_item(i,"weapon_glock18"),cs_set_user_bpammo(i,CSW_GLOCK18,40);
				}
				case 2:{
					give_item(i,"weapon_knife"),give_item(i,"weapon_usp"),cs_set_user_bpammo(i,CSW_USP,24);
				}
			}
		}
	}
}

Link:
Linklerini gizle
Linki Kopyala
Cevapla