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

https://discord.gg/43gGDQe6tS

Eklentide Para Kazandırma

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
LoseBasgan
Mesajlar: 1402
Kayıt: Sal Oca 29, 2019 11:28 pm
Clan İsmi: MoonGaming

Eklentide Para Kazandırma

Mesaj gönderen LoseBasgan »

Bir eklentide menüden parayla eşya almayı yaptım ancak parayı nasıl kazandıracağımı bilmiyorum. Ct takımında, kil çekince , 10dkda bir oyunda durduğu sürede, tdeki birini öldürdüğü zaman para gelmesini nasıl yapabilirim ? Yaparkende nasıl yaptığınızı anlatırsanız sevinirim.

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

MaviRuh*
Mesajlar: 448
Kayıt: Çrş Haz 21, 2017 12:23 am
Server Ip/DNS: 213.238.173.30
Clan İsmi: Mr.GaminG JB
İletişim:

Eklentide Para Kazandırma

Mesaj gönderen MaviRuh* »

Paradan kastınız dolar mı yoksa bir değişken mi oluşturdunuz
set_task kullanabilirsin 10 dk için aklıma böyle geldi
kill çekince de user_kill(id) kodunu kullanabilrsin
t deki birini öldürdüğü zamanı bilmiyorum

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

Konu Sahibi
LoseBasgan
Mesajlar: 1402
Kayıt: Sal Oca 29, 2019 11:28 pm
Clan İsmi: MoonGaming

Eklentide Para Kazandırma

Mesaj gönderen LoseBasgan »

Dolar değil, bir değişken oluşturdum.

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

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

Eklentide Para Kazandırma

Mesaj gönderen Colditz »

Anlamadığınız yeri anlatabilirim.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

new sizinparaniz[MAX_CLIENTS + 1];

const oldurmeparasi = 10;
const ondakikaparasi = 10;
const killparasi = 10;

public plugin_init() {
	register_plugin("", "", "");

	RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post=false);
}

@CBasePlayer_Killed(const victim, const attacker)
{
	if(get_member(attacker, m_iTeam) == TEAM_CT && get_member(victim, m_iTeam) == TEAM_TERRORIST)
	{
		sizinparaniz[attacker] += oldurmeparasi;
		client_print_color(attacker, attacker, "T dekini birini oldurdun, %i TL kazandin.", oldurmeparasi);
	}
	else if(victim == attacker)
	{
		sizinparaniz[attacker] += killparasi;
		client_print_color(attacker, attacker, "Kill cektiniz, %i TL kazandin.", killparasi);
	}	
}

public client_putinserver(id)
{
	set_task(600.0, "@ondakika", id, .flags = "b");
}

@ondakika(const id)
{
	sizinparaniz[id] += ondakikaparasi;
	client_print_color(id, id, "10 dakika oyunda durdun, %i TL kazandin.", ondakikaparasi);
}

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

Konu Sahibi
LoseBasgan
Mesajlar: 1402
Kayıt: Sal Oca 29, 2019 11:28 pm
Clan İsmi: MoonGaming

Eklentide Para Kazandırma

Mesaj gönderen LoseBasgan »

Colditz yazdı: Prş Ağu 06, 2020 1:28 pm Anlamadığınız yeri anlatabilirim.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

new sizinparaniz[MAX_CLIENTS + 1];

const oldurmeparasi = 10;
const ondakikaparasi = 10;
const killparasi = 10;

public plugin_init() {
	register_plugin("", "", "");

	RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post=false);
}

@CBasePlayer_Killed(const victim, const attacker)
{
	if(get_member(attacker, m_iTeam) == TEAM_CT && get_member(victim, m_iTeam) == TEAM_TERRORIST)
	{
		sizinparaniz[attacker] += oldurmeparasi;
		client_print_color(attacker, attacker, "T dekini birini oldurdun, %i TL kazandin.", oldurmeparasi);
	}
	else if(victim == attacker)
	{
		sizinparaniz[attacker] += killparasi;
		client_print_color(attacker, attacker, "Kill cektiniz, %i TL kazandin.", killparasi);
	}	
}

public client_putinserver(id)
{
	set_task(600.0, "@ondakika", id, .flags = "b");
}

@ondakika(const id)
{
	sizinparaniz[id] += ondakikaparasi;
	client_print_color(id, id, "10 dakika oyunda durdun, %i TL kazandin.", ondakikaparasi);
}
Teşekkür ederim, menüye geçirdim de menü açılmadı onada bakabilir misin rica etsem,

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>
#include <fun>
#include <engine>

new const tag[] = "MoonGaming"
new ctpara[MAX_CLIENTS + 1];

const oldurmeparasi = 1;
const ondakikaparasi = 5;
const killparasi = 2;

new fiyat_cvar[7];

public plugin_init() {
	register_plugin("CT Shop", "1.3", "LoseBasgan")
	
	register_clcmd("say /avantajmenu","avantajmenu");
	register_clcmd("say /ct","avantajmenu");
	register_clcmd("say /ctshop","avantajmenu");
	RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post=false);
	
	fiyat_cvar[1] = register_cvar("hp_fiyat","15");
	fiyat_cvar[2] = register_cvar("godmode_fiyat","40");
	fiyat_cvar[3] = register_cvar("noclip_fiyat","50");
	fiyat_cvar[4] = register_cvar("gorunmezlik_fiyat","50");
	fiyat_cvar[5] = register_cvar("bombaset_fiyat","25");
	fiyat_cvar[5] = register_cvar("elektrikkes_fiyat","50");

}
@CBasePlayer_Killed(const victim, const attacker)
{
	if(get_member(attacker, m_iTeam) == TEAM_CT && get_member(victim, m_iTeam) == TEAM_TERRORIST)
	{
		ctpara[attacker] += oldurmeparasi;
		client_print_color(attacker, attacker, "^4[%s] - ^1T dekini birini oldurdun, %i TL kazandin.",tag, oldurmeparasi);
	}
	else if(victim == attacker)
	{
		ctpara[attacker] += killparasi;
		client_print_color(attacker, attacker, "^4[%s] - ^1Kill cektiniz, %i TL kazandin.",tag, killparasi);
	}	
}

public client_putinserver(id)
{
	set_task(600.0, "@ondakika", id, .flags = "b");
}

@ondakika(const id)
{
	ctpara[id] += ondakikaparasi;
	client_print_color(id, id, "^4[%s] - ^1 10 dakika oyunda durdun, %i TL kazandin.",tag, ondakikaparasi);
}
public avantajmenu(id){
	if(get_user_team(id) == 2)
	{		
	static Item[128]
	
	formatex(Item, charsmax(Item),"\w%s \d| \yGardiyan Avantaj Menu^n\rMevcut Paraniz: \r[ \w%i TL \r]",tag,ctpara[id])
	new Menu = menu_create(Item, "avantajmenu_devam")
	
	formatex(Item, charsmax(Item),"\y100 HP \r[\w%i\r]",get_pcvar_num(fiyat_cvar[1]))
	menu_additem(Menu, Item, "1")
	
	formatex(Item, charsmax(Item),"\y5 Saniye Godmode \r[\w%i\r]",get_pcvar_num(fiyat_cvar[2]))
	menu_additem(Menu, Item, "2")
	
	formatex(Item, charsmax(Item),"\y3 Saniye Noclip \r[\w%i\r]",get_pcvar_num(fiyat_cvar[3]))
	menu_additem(Menu, Item, "3")
	
	formatex(Item, charsmax(Item),"\y10 Saniye Gorunmezlik \r[\w%i\r]",get_pcvar_num(fiyat_cvar[4]))
	menu_additem(Menu, Item, "4")

	formatex(Item, charsmax(Item),"\yBomba Seti \r[\w%i\r]",get_pcvar_num(fiyat_cvar[5]))
	menu_additem(Menu, Item, "5")
	
	formatex(Item, charsmax(Item),"\yElektrikleri Kes \r[\w%i\r]",get_pcvar_num(fiyat_cvar[6]))
	menu_additem(Menu, Item, "6")
	
	menu_setprop(Menu,MPROP_EXITNAME,"\wCikis")
	menu_display(id, Menu,0)
	
	}
	else
	{
		client_print_color(id,id,"^4[%s] - ^1Menuye Girmek icin ^3Gardiyan takiminda^1 olman gerek.",tag);
	}
	return PLUGIN_HANDLED
}
public avantajmenu_devam(const id, const menu, const item)
{
	if(item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], name[32], access, callback;
	menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
	switch(str_to_num(data))
	{
		case 1: {
		if(ctpara[id] >= get_pcvar_num(fiyat_cvar[1])){
		set_entvar(id,var_health, Float:get_entvar(id,var_health) + 100.0);
		client_cmd(id,"spk ^"events/enemy_died.wav^"")
		client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3+100 HP^1 Satin aldin.",tag);
		}
		else client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
		}
		case 2: {
		if(ctpara[id] >= get_pcvar_num(fiyat_cvar[2])){
		set_entvar(id, var_takedamage, DAMAGE_NO);
		set_task(5.0,"godmodekapat",id) 
		client_cmd(id,"spk ^"events/enemy_died.wav^"")
		client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 5 Saniye Godmode^1 Satin aldin.",tag);
		}
		else client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
		}
		case 3: {
		if(ctpara[id] >= get_pcvar_num(fiyat_cvar[3])){
		set_entvar(id, var_movetype, MOVETYPE_NOCLIP);
		set_task(3.0,"noclipkapat",id)
		client_cmd(id,"spk ^"events/enemy_died.wav^"")
		client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 3 Saniye Noclip ^1 Satin aldin.",tag);
		}
		else client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
		}
		case 4: {
		if(ctpara[id] >= get_pcvar_num(fiyat_cvar[4])){
		set_entity_visibility(id,0);
  		set_task(10.0,"gorunmezlikbitir",id);
		client_cmd(id,"spk ^"events/enemy_died.wav^"")
		client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3Bomba Seti^1 Satin aldin.",tag);
		}
		else client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
		}
		case 5: {
		if(ctpara[id] >= get_pcvar_num(fiyat_cvar[5])){
		rg_give_item(id,"weapon_hegrenade") 
		rg_give_item(id,"weapon_flashbang") 
		rg_give_item(id,"weapon_smokegrenade") 
		client_cmd(id,"spk ^"events/enemy_died.wav^"")
		client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3Bomba Seti^1 Satin aldin.",tag);
		}
		else client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
		}
		case 6: {
		if(ctpara[id] >= get_pcvar_num(fiyat_cvar[6])){
		set_lights("a")
		set_task(6.0,"elektrikac")
		client_cmd(id,"spk ^"events/enemy_died.wav^"")
		client_print_color(0,id,"^4[%s] - ^1%s Adli Gardiyan ^3Elektrikleri Kesti!",tag,id);
		}
		else client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
		}
	}
	return PLUGIN_HANDLED
}
public godmodekapat(id)
{
	set_entvar(id, var_takedamage, DAMAGE_AIM);
	client_print_color(id,id,"^4[%s] - ^1 5 Saniyelik Godmode Bitti.",tag);
	
}
public noclipkapat(id)
{
	set_entvar(id, var_movetype, MOVETYPE_WALK);
	client_print_color(id,id,"^4[%s] - ^1 3 Saniyelik Noclip Bitti.",tag);
}
public gorunmezlikbitir(const id)
{
	set_entity_visibility(id,1);
}
public elektrikac(id)
{
	set_lights("#OFF")
	client_print_color(0,0,"^4[%s] - ^1Elektrik kesintisi ^3sona erdi!",tag);
}

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

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

Eklentide Para Kazandırma

Mesaj gönderen Colditz »

LoseBasgan yazdı: Prş Ağu 06, 2020 1:54 pm Teşekkür ederim, menüye geçirdim de menü açılmadı onada bakabilir misin rica etsem,
* Değişken oluşturduğunuzda [0] da vardır. new fiyat_cvar[3] yaparsanız [0] [1] [2] olarak kullanabilirsiniz, unutmayın.
* Register_cvar yerine bind_pcvar_num + create_cvar kullanabilirsiniz.
* get_user_team -> get_member(id, m_iTeam)
* client_cmd(id,"spk ^"events/enemy_died.wav^"") -> rg_send_audio(id, "events/enemy_died.wav");

Dene bakalım, istediğin gibiyse biraz incele kodları

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <engine>
#include <reapi>

#define PLUGIN_NAME		"CT Shop"
#define PLUGIN_VERS		"1.3"
#define PLUGIN_AUTH		"LoseBasgan"

new const tag[] = "MoonGaming";

enum (+= 1337)
{
	TASKID_GODMODE = 1337,
	TASKID_NOCLIP,
	TASKID_GORUNMEZLIK,
	TASKID_ELEKTRIK
};

new fiyat_cvar[9];
new ctpara[MAX_CLIENTS + 1];

public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH);

	register_clcmd("say /avantajmenu", "@avantajmenu");
	register_clcmd("say /ct", "@avantajmenu");
	register_clcmd("say /ctshop","@avantajmenu");

	register_event("HLTV", "@event_new_round", "a", "1=0", "2=0");

	RegisterHookChain(RG_CBasePlayer_Spawn, "@CBasePlayer_Spawn", .post=false);
	RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post=false);

	bind_pcvar_num(create_cvar("hp_fiyat", "15"), fiyat_cvar[0]);
	bind_pcvar_num(create_cvar("godmode_fiyat", "40"), fiyat_cvar[1]);
	bind_pcvar_num(create_cvar("noclip_fiyat", "50"), fiyat_cvar[2]);
	bind_pcvar_num(create_cvar("gorunmezlik_fiyat", "50"), fiyat_cvar[3]);
	bind_pcvar_num(create_cvar("bombaset_fiyat", "25"), fiyat_cvar[4]);
	bind_pcvar_num(create_cvar("elektrikkes_fiyat", "50"), fiyat_cvar[5]);
	bind_pcvar_num(create_cvar("oldurme_parasi", "1"), fiyat_cvar[6]);
	bind_pcvar_num(create_cvar("ondakika_parasi", "5"), fiyat_cvar[7]);
	bind_pcvar_num(create_cvar("kill_parasi", "2"), fiyat_cvar[8]);
}

@event_new_round()
{
	remove_task(TASKID_ELEKTRIK);
}

@avantajmenu(const id)
{
	if(get_member(id, m_iTeam) == TEAM_CT)
	{	
		static Item[128];

		formatex(Item, charsmax(Item),"\w%s \d| \yGardiyan Avantaj Menu^n\rMevcut Paraniz: \r[ \w%i TL \r]",tag,ctpara[id]);
		new Menu = menu_create(Item, "@avantajmenu_devam");

		formatex(Item, charsmax(Item),"\y100 HP \r[\w%i\r]", fiyat_cvar[0]);
		menu_additem(Menu, Item, "1");

		formatex(Item, charsmax(Item),"\y5 Saniye Godmode \r[\w%i\r]", fiyat_cvar[1]);
		menu_additem(Menu, Item, "2");

		formatex(Item, charsmax(Item),"\y3 Saniye Noclip \r[\w%i\r]", fiyat_cvar[2]);
		menu_additem(Menu, Item, "3");

		formatex(Item, charsmax(Item),"\y10 Saniye Gorunmezlik \r[\w%i\r]", fiyat_cvar[3]);
		menu_additem(Menu, Item, "4");

		formatex(Item, charsmax(Item),"\yBomba Seti \r[\w%i\r]", fiyat_cvar[4]);
		menu_additem(Menu, Item, "5");

		formatex(Item, charsmax(Item),"\yElektrikleri Kes \r[\w%i\r]", fiyat_cvar[5]);
		menu_additem(Menu, Item, "6");

		menu_setprop(Menu,MPROP_EXITNAME,"\wCikis");
		menu_display(id, Menu);
	}
	else
	{
		client_print_color(id,id,"^4[%s] - ^1Menuye Girmek icin ^3Gardiyan takiminda^1 olman gerek.",tag);
	}
	return PLUGIN_HANDLED;
}

@avantajmenu_devam(const id, const menu, const item)
{
	if(item == MENU_EXIT || get_member(id, m_iTeam) != TEAM_CT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6];
	menu_item_getinfo(menu, item, _, data, charsmax(data));
	new key = str_to_num(data);
	switch(key)
	{
		case 1: {
			if(ctpara[id] >= fiyat_cvar[0])
			{
				ctpara[id] -= fiyat_cvar[0];
				set_entvar(id,var_health, Float:get_entvar(id,var_health) + 100.0);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3+100 HP^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 2: {
			if(ctpara[id] >= fiyat_cvar[1])
			{
				ctpara[id] -= fiyat_cvar[1];
				set_entvar(id, var_takedamage, DAMAGE_NO);
				set_task(5.0,"@godmodekapat", id + TASKID_GODMODE);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 5 Saniye Godmode^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 3: {
			if(ctpara[id] >= fiyat_cvar[2])
			{
				ctpara[id] -= fiyat_cvar[2];
				set_entvar(id, var_movetype, MOVETYPE_NOCLIP);
				set_task(3.0, "@noclipkapat", id + TASKID_NOCLIP);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 3 Saniye Noclip ^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 4: {
			if(ctpara[id] >= fiyat_cvar[3])
			{
				ctpara[id] -= fiyat_cvar[3];
				set_entvar(id, var_effects, get_entvar(id, var_effects) | EF_NODRAW);
				set_task(10.0, "@gorunmezlikkapat", id + TASKID_GORUNMEZLIK);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 10 Saniye Gorunmezlik ^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 5: {
			if(ctpara[id] >= fiyat_cvar[4])
			{
				ctpara[id] -= fiyat_cvar[4];
				rg_give_item(id,"weapon_hegrenade");
				rg_give_item(id,"weapon_flashbang");
				rg_give_item(id,"weapon_smokegrenade"); 
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 10 Bomba Seti ^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 6: {
			if(ctpara[id] >= fiyat_cvar[5])
			{
				ctpara[id] -= fiyat_cvar[5];
				set_lights("a");
				set_task(6.0,"@elektrikac", TASKID_ELEKTRIK);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(0,id,"^4[%s] - ^1%n Adli Gardiyan ^3Elektrikleri Kesti!",tag,id);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

@godmodekapat(TaskId)
{
	new id = TaskId - TASKID_GODMODE;

	if(!is_user_alive(id))
	{
		return;
	}

	set_entvar(id, var_takedamage, DAMAGE_AIM);
	client_print_color(id,id,"^4[%s] - ^1 5 Saniyelik Godmode Bitti.",tag);
}

@noclipkapat(TaskId)
{
	new id = TaskId - TASKID_NOCLIP;

	if(!is_user_alive(id))
	{
		return;
	}

	set_entvar(id, var_movetype, MOVETYPE_WALK);
	client_print_color(id,id,"^4[%s] - ^1 3 Saniyelik Noclip Bitti.",tag);
}

@gorunmezlikkapat(TaskId)
{
	new id = TaskId - TASKID_GORUNMEZLIK;

	if(!is_user_alive(id))
	{
		return;
	}

	set_entvar(id, var_effects, get_entvar(id, var_effects) & ~EF_NODRAW);
	client_print_color(id,id,"^4[%s] - ^1 10 Saniyelik Gorunmezligin Bitti.",tag);
}

@elektrikac(TaskId)
{
	set_lights("#OFF");
	client_print_color(0,0,"^4[%s] - ^1Elektrik kesintisi ^3sona erdi!",tag);
}

@CBasePlayer_Spawn(const id)
{
	remove_task(id + TASKID_NOCLIP);
	remove_task(id + TASKID_GODMODE);
	remove_task(id + TASKID_GORUNMEZLIK);
}

@CBasePlayer_Killed(const victim, const attacker)
{
	if(get_member(attacker, m_iTeam) == TEAM_CT && get_member(victim, m_iTeam) == TEAM_TERRORIST)
	{
		ctpara[attacker] += fiyat_cvar[6];
		client_print_color(attacker, attacker, "^4[%s] - ^1T dekini birini oldurdun, %i TL kazandin.",tag, fiyat_cvar[6]);
	}
	else if(victim == attacker)
	{
		ctpara[attacker] += fiyat_cvar[8];
		client_print_color(attacker, attacker, "^4[%s] - ^1Kill cektiniz, %i TL kazandin.",tag, fiyat_cvar[8]);
	}	
}

public client_putinserver(id)
{
	set_task(600.0, "@ondakika", id, .flags = "b");
}

@ondakika(const id)
{
	ctpara[id] += fiyat_cvar[7];
	client_print_color(id, id, "^4[%s] - ^1 10 dakika oyunda durdun, %i TL kazandin.",tag, fiyat_cvar[7]);
}

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

Konu Sahibi
LoseBasgan
Mesajlar: 1402
Kayıt: Sal Oca 29, 2019 11:28 pm
Clan İsmi: MoonGaming

Eklentide Para Kazandırma

Mesaj gönderen LoseBasgan »

Colditz yazdı: Prş Ağu 06, 2020 2:29 pm
LoseBasgan yazdı: Prş Ağu 06, 2020 1:54 pm Teşekkür ederim, menüye geçirdim de menü açılmadı onada bakabilir misin rica etsem,
* Değişken oluşturduğunuzda [0] da vardır. new fiyat_cvar[3] yaparsanız [0] [1] [2] olarak kullanabilirsiniz, unutmayın.
* Register_cvar yerine bind_pcvar_num + create_cvar kullanabilirsiniz.
* get_user_team -> get_member(id, m_iTeam)
* client_cmd(id,"spk ^"events/enemy_died.wav^"") -> rg_send_audio(id, "events/enemy_died.wav");

Dene bakalım, istediğin gibiyse biraz incele kodları

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <engine>
#include <reapi>

#define PLUGIN_NAME		"CT Shop"
#define PLUGIN_VERS		"1.3"
#define PLUGIN_AUTH		"LoseBasgan"

new const tag[] = "MoonGaming";

enum (+= 1337)
{
	TASKID_GODMODE = 1337,
	TASKID_NOCLIP,
	TASKID_GORUNMEZLIK,
	TASKID_ELEKTRIK
};

new fiyat_cvar[9];
new ctpara[MAX_CLIENTS + 1];

public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH);

	register_clcmd("say /avantajmenu", "@avantajmenu");
	register_clcmd("say /ct", "@avantajmenu");
	register_clcmd("say /ctshop","@avantajmenu");

	register_event("HLTV", "@event_new_round", "a", "1=0", "2=0");

	RegisterHookChain(RG_CBasePlayer_Spawn, "@CBasePlayer_Spawn", .post=false);
	RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post=false);

	bind_pcvar_num(create_cvar("hp_fiyat", "15"), fiyat_cvar[0]);
	bind_pcvar_num(create_cvar("godmode_fiyat", "40"), fiyat_cvar[1]);
	bind_pcvar_num(create_cvar("noclip_fiyat", "50"), fiyat_cvar[2]);
	bind_pcvar_num(create_cvar("gorunmezlik_fiyat", "50"), fiyat_cvar[3]);
	bind_pcvar_num(create_cvar("bombaset_fiyat", "25"), fiyat_cvar[4]);
	bind_pcvar_num(create_cvar("elektrikkes_fiyat", "50"), fiyat_cvar[5]);
	bind_pcvar_num(create_cvar("oldurme_parasi", "1"), fiyat_cvar[6]);
	bind_pcvar_num(create_cvar("ondakika_parasi", "5"), fiyat_cvar[7]);
	bind_pcvar_num(create_cvar("kill_parasi", "2"), fiyat_cvar[8]);
}

@event_new_round()
{
	remove_task(TASKID_ELEKTRIK);
}

@avantajmenu(const id)
{
	if(get_member(id, m_iTeam) == TEAM_CT)
	{	
		static Item[128];

		formatex(Item, charsmax(Item),"\w%s \d| \yGardiyan Avantaj Menu^n\rMevcut Paraniz: \r[ \w%i TL \r]",tag,ctpara[id]);
		new Menu = menu_create(Item, "@avantajmenu_devam");

		formatex(Item, charsmax(Item),"\y100 HP \r[\w%i\r]", fiyat_cvar[0]);
		menu_additem(Menu, Item, "1");

		formatex(Item, charsmax(Item),"\y5 Saniye Godmode \r[\w%i\r]", fiyat_cvar[1]);
		menu_additem(Menu, Item, "2");

		formatex(Item, charsmax(Item),"\y3 Saniye Noclip \r[\w%i\r]", fiyat_cvar[2]);
		menu_additem(Menu, Item, "3");

		formatex(Item, charsmax(Item),"\y10 Saniye Gorunmezlik \r[\w%i\r]", fiyat_cvar[3]);
		menu_additem(Menu, Item, "4");

		formatex(Item, charsmax(Item),"\yBomba Seti \r[\w%i\r]", fiyat_cvar[4]);
		menu_additem(Menu, Item, "5");

		formatex(Item, charsmax(Item),"\yElektrikleri Kes \r[\w%i\r]", fiyat_cvar[5]);
		menu_additem(Menu, Item, "6");

		menu_setprop(Menu,MPROP_EXITNAME,"\wCikis");
		menu_display(id, Menu);
	}
	else
	{
		client_print_color(id,id,"^4[%s] - ^1Menuye Girmek icin ^3Gardiyan takiminda^1 olman gerek.",tag);
	}
	return PLUGIN_HANDLED;
}

@avantajmenu_devam(const id, const menu, const item)
{
	if(item == MENU_EXIT || get_member(id, m_iTeam) != TEAM_CT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6];
	menu_item_getinfo(menu, item, _, data, charsmax(data));
	new key = str_to_num(data);
	switch(key)
	{
		case 1: {
			if(ctpara[id] >= fiyat_cvar[0])
			{
				ctpara[id] -= fiyat_cvar[0];
				set_entvar(id,var_health, Float:get_entvar(id,var_health) + 100.0);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3+100 HP^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 2: {
			if(ctpara[id] >= fiyat_cvar[1])
			{
				ctpara[id] -= fiyat_cvar[1];
				set_entvar(id, var_takedamage, DAMAGE_NO);
				set_task(5.0,"@godmodekapat", id + TASKID_GODMODE);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 5 Saniye Godmode^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 3: {
			if(ctpara[id] >= fiyat_cvar[2])
			{
				ctpara[id] -= fiyat_cvar[2];
				set_entvar(id, var_movetype, MOVETYPE_NOCLIP);
				set_task(3.0, "@noclipkapat", id + TASKID_NOCLIP);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 3 Saniye Noclip ^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 4: {
			if(ctpara[id] >= fiyat_cvar[3])
			{
				ctpara[id] -= fiyat_cvar[3];
				set_entvar(id, var_effects, get_entvar(id, var_effects) | EF_NODRAW);
				set_task(10.0, "@gorunmezlikkapat", id + TASKID_GORUNMEZLIK);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 10 Saniye Gorunmezlik ^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 5: {
			if(ctpara[id] >= fiyat_cvar[4])
			{
				ctpara[id] -= fiyat_cvar[4];
				rg_give_item(id,"weapon_hegrenade");
				rg_give_item(id,"weapon_flashbang");
				rg_give_item(id,"weapon_smokegrenade"); 
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(id,id,"^4[%s] - ^1Basarili bir sekilde ^3 10 Bomba Seti ^1 Satin aldin.",tag);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
		case 6: {
			if(ctpara[id] >= fiyat_cvar[5])
			{
				ctpara[id] -= fiyat_cvar[5];
				set_lights("a");
				set_task(6.0,"@elektrikac", TASKID_ELEKTRIK);
				rg_send_audio(id, "events/enemy_died.wav");
				client_print_color(0,id,"^4[%s] - ^1%n Adli Gardiyan ^3Elektrikleri Kesti!",tag,id);
			}
			else
			{
				client_print_color(id,id,"^4[%s] - ^1Yeterli ^3Para'niz ^1Yok!",tag);
			}
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

@godmodekapat(TaskId)
{
	new id = TaskId - TASKID_GODMODE;

	if(!is_user_alive(id))
	{
		return;
	}

	set_entvar(id, var_takedamage, DAMAGE_AIM);
	client_print_color(id,id,"^4[%s] - ^1 5 Saniyelik Godmode Bitti.",tag);
}

@noclipkapat(TaskId)
{
	new id = TaskId - TASKID_NOCLIP;

	if(!is_user_alive(id))
	{
		return;
	}

	set_entvar(id, var_movetype, MOVETYPE_WALK);
	client_print_color(id,id,"^4[%s] - ^1 3 Saniyelik Noclip Bitti.",tag);
}

@gorunmezlikkapat(TaskId)
{
	new id = TaskId - TASKID_GORUNMEZLIK;

	if(!is_user_alive(id))
	{
		return;
	}

	set_entvar(id, var_effects, get_entvar(id, var_effects) & ~EF_NODRAW);
	client_print_color(id,id,"^4[%s] - ^1 10 Saniyelik Gorunmezligin Bitti.",tag);
}

@elektrikac(TaskId)
{
	set_lights("#OFF");
	client_print_color(0,0,"^4[%s] - ^1Elektrik kesintisi ^3sona erdi!",tag);
}

@CBasePlayer_Spawn(const id)
{
	remove_task(id + TASKID_NOCLIP);
	remove_task(id + TASKID_GODMODE);
	remove_task(id + TASKID_GORUNMEZLIK);
}

@CBasePlayer_Killed(const victim, const attacker)
{
	if(get_member(attacker, m_iTeam) == TEAM_CT && get_member(victim, m_iTeam) == TEAM_TERRORIST)
	{
		ctpara[attacker] += fiyat_cvar[6];
		client_print_color(attacker, attacker, "^4[%s] - ^1T dekini birini oldurdun, %i TL kazandin.",tag, fiyat_cvar[6]);
	}
	else if(victim == attacker)
	{
		ctpara[attacker] += fiyat_cvar[8];
		client_print_color(attacker, attacker, "^4[%s] - ^1Kill cektiniz, %i TL kazandin.",tag, fiyat_cvar[8]);
	}	
}

public client_putinserver(id)
{
	set_task(600.0, "@ondakika", id, .flags = "b");
}

@ondakika(const id)
{
	ctpara[id] += fiyat_cvar[7];
	client_print_color(id, id, "^4[%s] - ^1 10 dakika oyunda durdun, %i TL kazandin.",tag, fiyat_cvar[7]);
}
Teşekkür ederim, ancak merak ettiğim birşey var

Kod: Tümünü seç

#pragma semicolon 1
bu ne işe yarıyor söyleyebilir misin ?

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

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

Eklentide Para Kazandırma

Mesaj gönderen heaveNN »

Hatırladığım kadarıyla kod satırının sonuna ; eklemezsen hata verdiriyordu daha düzgün olması açısından.

Kod: Tümünü seç

#include <amxmodx>

#pragma semicolon 1

public plugin_init() {
    register_plugin("deneme","1.0","asdawd")
}
Derleme Sonucu:

Kod: Tümünü seç

AMX Mod X Compiler 1.8.3-dev+4739
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

c:\Users\mehme\Downloads\gostermedeneme.sma(7) : error 001: expected token: ";", but found "}"

1 Error.
Could not locate output file C:\AMXXPAWN\Derleyici\compiled\gostermedeneme.amx (compile failed).
Eğer

Kod: Tümünü seç

register_plugin("deneme","1.0","asdawd")
kısmının sonuna ; koyarsam hata vermez:

Kod: Tümünü seç

#include <amxmodx>

#pragma semicolon 1

public plugin_init() {
    register_plugin("deneme","1.0","asdawd");
}
Derleme Sonucu:

Kod: Tümünü seç

AMX Mod X Compiler 1.8.3-dev+4739
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

Header size:            176 bytes
Code size:               76 bytes
Data size:               92 bytes
Stack/heap size:      16384 bytes
Total requirements:   16728 bytes
Done.

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

OPC Line
Mesajlar: 1637
Kayıt: Pzt Tem 22, 2019 3:13 am
Server Ip/DNS: 213.238.173.xx
Clan İsmi: *YouKnowMyName*

Eklentide Para Kazandırma

Mesaj gönderen OPC Line »

heaveNN yazdı: Prş Ağu 06, 2020 3:50 pm Hatırladığım kadarıyla kod satırının sonuna ; eklemezsen hata verdiriyordu daha düzgün olması açısından.

Kod: Tümünü seç

#include <amxmodx>

#pragma semicolon 1

public plugin_init() {
    register_plugin("deneme","1.0","asdawd")
}
Derleme Sonucu:

Kod: Tümünü seç

AMX Mod X Compiler 1.8.3-dev+4739
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

c:\Users\mehme\Downloads\gostermedeneme.sma(7) : error 001: expected token: ";", but found "}"

1 Error.
Could not locate output file C:\AMXXPAWN\Derleyici\compiled\gostermedeneme.amx (compile failed).
Eğer

Kod: Tümünü seç

register_plugin("deneme","1.0","asdawd")
kısmının sonuna ; koyarsam hata vermez:

Kod: Tümünü seç

#include <amxmodx>

#pragma semicolon 1

public plugin_init() {
    register_plugin("deneme","1.0","asdawd");
}
Derleme Sonucu:

Kod: Tümünü seç

AMX Mod X Compiler 1.8.3-dev+4739
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

Header size:            176 bytes
Code size:               76 bytes
Data size:               92 bytes
Stack/heap size:      16384 bytes
Total requirements:   16728 bytes
Done.
Senin yazdığın işlevi. Pragma semicolonu bende merak ediyorum

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

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

Eklentide Para Kazandırma

Mesaj gönderen Colditz »

"#pragma semicolon 1" komutu eklentideki düzeni sağlayan bir komuttur. Bu komutu yazdığınız gibi sonunda ";" işareti olmayan bütün komutlar hata verecektir. Benim bu komutu kullanma sebebim, düzensizliği sevmememdir. Kullanmasında yahut kullanılmamasında bir sakınca yoktur.

Link:
Linklerini gizle
Linki Kopyala
Cevapla