Herkese Selamlar.
Cs 1.6 serverimde maç sırasında v.b zamanlarda takımlardaki awp sayısından şikayet alıyorum bunun için çok eklenti denedim hiçbirisi çalışmıyor
istediğim eklenti belirlediğimiz awp sayısı dışında ct = 5 T = 5 olarak ayarlarsak 5. kişiden sonra awp alamayacak yada aldığında elinden yere düşecek şekilde olması gerekiyor
eklentiyi ufak bi cvar komutuyla kullanabilirsek çok güzel olur "amx_cvar max_awp" gibi bir komut gerekli bulduğum eklentilerde mesela cvar ayarından 4 awp sınırı koyunca
ct= 4 awp alıyor T takımındaki oyuncular alamıyor bu tür hatalar olmaz ise çok mutlu olurum saygılar.
Konu
Harfleri kalınlaştırmanıza gerek yok, zaten okunabiliyor 
sma olarak yükledikten sonra oyun içi cvar ayarıyla oynama yapıp dener misin ?
Hata tam olarak nerede ?
Ben denemiştim bu eklentiyi.

sma olarak yükledikten sonra oyun içi cvar ayarıyla oynama yapıp dener misin ?
Hata tam olarak nerede ?
Ben denemiştim bu eklentiyi.
(25-05-2021, 19:20)onur9173 Adlı Kullanıcıdan Alıntı:(25-05-2021, 19:19)suriyelikene Adlı Kullanıcıdan Alıntı: https://www.webailesi.com/konu-reapi-awp-almayi-sinirlama-14857Evet Denedim amxx olarak yükledim ancak cvar komutu çalışmıyor
Bu eklentiyi denediniz mi ?
Merhaba, bu eklentiyide kendinize göre ayarlayıp denermisiniz.
(25-05-2021, 19:25)suriyelikene Adlı Kullanıcıdan Alıntı: Harfleri kalınlaştırmanıza gerek yok, zaten okunabiliyorPro oyun'da sma dosyasını yüklemiyor amxx çevirmek gerekiyor
sma olarak yükledikten sonra oyun içi cvar ayarıyla oynama yapıp dener misin ?
Hata tam olarak nerede ?
Ben denemiştim bu eklentiyi.
çevirirken bu hatayı veriyor : Your plugin failed to compile! Read the errors below:
(25-05-2021, 19:28)Grinin 50 Tonu Adlı Kullanıcıdan Alıntı:bunu kullandım çalıştı ancak yine sorun yaşadık sorun : mesela T takımı 0 . Ct Takımı 2 . olduğunda ct takımına awp aldırtmıyor engelliyor(25-05-2021, 19:20)onur9173 Adlı Kullanıcıdan Alıntı: Evet Denedim amxx olarak yükledim ancak cvar komutu çalışmıyor
Merhaba, bu eklentiyide kendinize göre ayarlayıp denermisiniz.
Son Düzenleme: 25-05-2021, 19:32, Düzenleyen: Areeeessss.
eklentiyi kurarken aldığınız hataları buraya atar mısınız?
(25-05-2021, 19:53)Grinin 50 Tonu Adlı Kullanıcıdan Alıntı: Dediğiniz pluginlerin 2 side sorunsuz çalışmakta. Siz nerede kurmayı deniyor sunuz ?Pro oyun Sunucusunda Kuruyorum
(25-05-2021, 19:56)Emperor4231 Adlı Kullanıcıdan Alıntı: eklentiyi kurarken aldığınız hataları buraya atar mısınız?net bi hata göstergesi almıyorum sma dosyasını olduğu gibi kopyalayıp amxx dosyasına dönüştürüyorum ama derleme hatası diyor ilk atılan eklenti içinde amxx dosyasına dönüştürüp amxmodx > plugins içine atıyorum sonra amxmodx > config > plugins.ini içine girip en alt satıra awp_sinir.amxx olarak yazıyorum map değiştiriyorum amx_cvar max_awp_in_round adlı cvar komutu işlemiyor
Kod:
/* AMX Mod X script.
*
* Drop AWP with Team Limit and Win limit v1.6 (CS & CS:CZ)
* By SuicideDog & MattOG/DaSoul & KWo
*
* Modded orignal from JustinHoMi
*
*Up-To Version 0.5: SuicideDog & JustinHoMi
*******************************************
*
*
* VERSION: 1.0: MattOG
**********************
*
* Combined all 3 plugins (g3sg1/sg550/awp limit) into one.
* Added seperate commands to control Auto's and Awps. (different limits/rounds)
* Fixed bug with old-style menu's still being able to buy guns. (Credit to bAnTAi, I used his Y.A.S.C. plugin to help with the code).
*
* I didn't make it stop bots:
* 1. All bots come with built in weapon restrictions.
* 2. Bots tend not to be AWP whores ;)
*
*
* VERSION 1.1: MattOG
*********************
* Changed Maxawps/autos and winspreads to cvars to enable on-the-fly changing, and to allow changes to be set in server/amxx/map configs.
*
*
* VERSION: 1.2: MattOG
**********************
*
* Minor bug fix where old style menu's couldn't buy at all. (Thanks to Olie for pointing it out).
*
*
* VERSION: 1.3: SuicideDog/DaSoul
**********************
*
* Added DaSoul's code to allow it to work with PTB correctly
*
* VERSION: 1.4: KWo
**********************
*
* Little bug fixes causing Run Time Errors etc...
* Blocking pickup limited weapon
* Bots are affected by this plugin, too but it doesn't prevent them from buying (they drop limited weapons after buying)
* Optimized usage of cvars by using pcvar functions.
*
**********************
*
* VERSION: 1.5: KWo
*
* Added support for team balancing (if someone has an awp or auto sniper and get switched alive to the opposite team)
*
**********************
*
* VERSION: 1.52: KWo
*
* Added min_players setting (cvar) to allow awps/autos if at least min_players amount in each team is reached
*
**********************
*
* VERSION: 1.53: KWo
*
* Fixed bug with not counting properly awps and autos when droping weapon by engine (i.e. while buying a new weapon)
* Fixed bug with displaying unnecessary message about awps/autos limitation
* Fixed bug with player blocking from pickup awp/autos when only one of them was really limited by cvars
*
**********************
*
* VERSION: 1.60: KWo
*
* Many functions re-written to fix the stack error problem
*
**********************
* CVARS:
***********
*
* max_awps <xx> - Maximum Awps Allowed
* max_autos <xx> - Maximum Autos Allowed
* winspread_awp <xx> - When This Many Rounds Ahead, No Awps Allowed
* winspread_auto <xx> - When This Many Rounds Ahead, No Autos Allowed
* min_players <xx> - Below this amount of players in team, awp/auto are completly restricted (no matter of max_awps and max_autos)
* autolimit <1/0> - 1 = Restrict Auto, 0 = Don't
* awplimit <1/0> - 1 = Restrict Awp, 0 = Don't
* checkrebuy <1/0> - 1 = Prevent Rebuy Command, 0 = Don't
*
* TIPS:
* To ALWAYS restrict to X number of awps/autos set winspread_awp/auto to 0 and max_awps/autos to however many awps/autos
* To ONLY restrict after X number of rounds ahead, set max_awps/autos to 20 and winspread_awp/autos to however many rounds
*
* KNOWN BUG/ISSUES:
************
* Updating the CVARS in game will only take effect after the following round has finished.
* Bots can buy limitted weapon, but they drop it immediatelly after buying. They cannot pickup dropped limited weapons
* (like human players), so it's not a big issue.
*
* TO DO:
********
* Dunno, you tell me ;) Possibly will look at that following round thing, though it isn't too much hassle so I may not bother. You Decide.
*
*/
#include <amxmodx>
#include <fakemeta>
#pragma dynamic 8192
new const PLUGINNAME[] = "AWP/AUTO Limit (Team/Win)"
new const VERSION[] = "1.60"
new const AUTHOR[] = "SD/MG/DS/KWo"
new plist[33] = { 0, ... } // 0 = no awp; 1 = carrying awp
new plist2[33] = {0, ... } // 0 = no auto; 1 = carrying auto
new awp_count[3] // 1 = T; 2 = CT
new auto_count[3] // 1 = T; 2 = CT
new ctscore = 0
new tscore = 0
new gl_maxplayers
/* PCvars */
new pv_awplimit
new pv_max_awps
new pv_winspread_awp
new pv_autolimit
new pv_max_autos
new pv_winspread_auto
new pv_checkrebuy
new pv_minplayers
/* handles restricting the menu */
public menu_awp(id,key)
{
if (get_pcvar_num(pv_awplimit) != 1) return PLUGIN_CONTINUE
new team = get_user_team(id)
new winspread_awp = get_pcvar_num(pv_winspread_awp)
new min_players = get_pcvar_num(pv_minplayers)
new team1_num, team2_num, score_dif
new players[32]
get_players(players,team1_num,"e","TERRORIST")
get_players(players,team2_num,"e","CT")
if ((team1_num < min_players) || (team2_num < min_players))
{
engclient_cmd(id,"menuselect","10")
client_print(id,print_center,"Not enough people in one team to allow AWP's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
return PLUGIN_HANDLED
}
if (winspread_awp)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_awp)
{
engclient_cmd(id,"menuselect","10")
client_print(id,print_center,"You are on the winning team and cannot use AWP's (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
return PLUGIN_HANDLED
}
}
if (awp_count[team] >= get_pcvar_num(pv_max_awps))
{
engclient_cmd(id,"menuselect","10")
client_print(id,print_center,"Too many people on your team have AWP's (%d/%d).", awp_count[team], get_pcvar_num(pv_max_awps))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
/* handles restricting the menu */
public menu_auto(id,key)
{
if (get_pcvar_num(pv_autolimit) != 1) return PLUGIN_CONTINUE
new team = get_user_team(id)
new winspread_auto = get_pcvar_num(pv_winspread_auto)
new min_players = get_pcvar_num(pv_minplayers)
new team1_num, team2_num, score_dif
new players[32]
get_players(players,team1_num,"e","TERRORIST")
get_players(players,team2_num,"e","CT")
if ((team1_num < min_players) || (team2_num < min_players))
{
engclient_cmd(id,"menuselect","10")
client_print(id,print_center,"Not enough people in one team to allow AUTO's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
return PLUGIN_HANDLED
}
if (winspread_auto)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_auto)
{
engclient_cmd(id,"menuselect","10")
client_print(id,print_center,"You are on the winning team and cannot use AUTO's (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
return PLUGIN_HANDLED
}
}
if (auto_count[team] >= get_pcvar_num(pv_max_autos))
{
engclient_cmd(id,"menuselect","10")
client_print(id,print_center,"Too many people on your team have AUTO's (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
/* handles if they script the AWP buy*/
public cmdawp(id)
{
if (get_pcvar_num(pv_awplimit) != 1) return PLUGIN_CONTINUE
new team = get_user_team(id)
if ((team < 1) || (team > 2)) return PLUGIN_CONTINUE
new winspread_awp = get_pcvar_num(pv_winspread_awp)
new name[32]
get_user_name(id,name,31)
new min_players = get_pcvar_num(pv_minplayers)
new team1_num, team2_num, score_dif
new players[32]
get_players(players,team1_num,"e","TERRORIST")
get_players(players,team2_num,"e","CT")
if ((team1_num < min_players) || (team2_num < min_players))
{
client_print(id,print_center,"Not enough people in one team to allow AWP's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
return PLUGIN_HANDLED
}
if (winspread_awp)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_awp)
{
client_print(id,print_center,"You are on the winning team and cannot use AWP's (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
return PLUGIN_HANDLED
}
}
if (awp_count[team] >= get_pcvar_num(pv_max_awps))
{
client_print(id,print_center,"Too many people on your team have AWP's (%d/%d).", awp_count[team], get_pcvar_num(pv_max_awps))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
/* handles if they script the AUTO buy*/
public cmdauto(id)
{
if (get_pcvar_num(pv_autolimit) != 1) return PLUGIN_CONTINUE
new team = get_user_team(id)
new winspread_auto = get_pcvar_num(pv_winspread_auto)
new min_players = get_pcvar_num(pv_minplayers)
new team1_num, team2_num, score_dif
new players[32]
get_players(players,team1_num,"e","TERRORIST")
get_players(players,team2_num,"e","CT")
if ((team1_num < min_players) || (team2_num < min_players))
{
client_print(id,print_center,"Not enough people in one team to allow AUTO's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
return PLUGIN_HANDLED
}
if (winspread_auto)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_auto)
{
client_print(id,print_center,"You are on the winning team and cannot use AUTO's (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
return PLUGIN_HANDLED
}
}
if (auto_count[team] >= get_pcvar_num(pv_max_autos))
{
client_print(id,print_center,"Too many people on your team have AUTO's (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
/* handles when a player drops his weapon */
public handle_drop_weapon(id)
{
if (!is_user_connected(id))
return PLUGIN_CONTINUE
new tmp1,tmp2
new curweapon = get_user_weapon(id,tmp1,tmp2)
new team = get_user_team(id)
/* handles when a player drops their awp */
if (curweapon == CSW_AWP)
{
if ((plist[id]==1) && (awp_count[team] > 0))
awp_count[team]--
plist[id] = 0
return PLUGIN_CONTINUE
}
/* handles when a player drops his auto */
else if ((curweapon == CSW_SG550) || (curweapon == CSW_G3SG1))
{
if ((plist2[id]==1) && (auto_count[team] > 0))
auto_count[team]--
plist2[id] = 0
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public handle_pickup_weapon(id)
{
if (!is_user_connected(id) || !pev_valid(id))
return PLUGIN_CONTINUE
new team = get_user_team(id)
new wpflags = pev(id, pev_weapons)
new bool:awp_exists = false
new bool:auto1_exists = false
new bool:auto2_exists = false
if (wpflags & (1 << CSW_AWP))
awp_exists = true
if (wpflags & (1 << CSW_SG550))
auto1_exists = true
if (wpflags & (1 << CSW_G3SG1))
auto2_exists = true
if ((!awp_exists) && (plist[id] == 1))
{
plist[id] = 0
if (awp_count[team] > 0)
awp_count[team]--
}
else if ((awp_exists) && (plist[id] != 1))
{
handle_pickup_awp(id)
}
if ((!auto1_exists) && (!auto2_exists) && (plist2[id] == 1))
{
plist2[id] = 0
if (auto_count[team] > 0)
auto_count[team]--
}
else if ((auto1_exists) && (plist2[id] != 1))
{
handle_pickup_sg550(id)
}
else if ((auto2_exists) && (plist2[id] != 1))
{
handle_pickup_g3sg1(id)
}
return PLUGIN_CONTINUE
}
/* handles when a player picks up an awp */
public handle_pickup_awp(id)
{
new team = get_user_team(id)
new winspread_awp = get_pcvar_num(pv_winspread_awp)
new name[32]
get_user_name(id,name,31)
new min_players = get_pcvar_num(pv_minplayers)
new team1_num, team2_num, score_dif
new players[32]
get_players(players,team1_num,"e","TERRORIST")
get_players(players,team2_num,"e","CT")
if (get_pcvar_num(pv_awplimit) == 1)
{
if ((team1_num < min_players) || (team2_num < min_players))
{
set_task(0.5, "drop_awp", id)
client_print(id,print_center,"Not enough people in one team to allow AWP's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
return
}
if (winspread_awp)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_awp)
{
client_print(id,print_center,"You are on the winning team and cannot use AWP's (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
set_task(0.5, "drop_awp", id)
return
}
}
if (awp_count[team] >= get_pcvar_num(pv_max_awps))
{
client_print(id,print_center,"Too many people on your team have AWP's (%d/%d).", awp_count[team], get_pcvar_num(pv_max_awps))
set_task(0.5, "drop_awp", id)
return
}
}
if (plist[id] != 1)
{
plist[id] = 1
awp_count[team]++
// client_print(id,print_chat,"You have bought or picked-up an awp. There is %d awps in Your team.", awp_count[team])
// log_message("The player %s bought or picked-up an awp. There is %d awps in his team %d.", name, awp_count[team], team)
}
}
public drop_awp(id)
{
new team, wpflags
if (is_user_alive(id))
{
wpflags = pev(id, pev_weapons)
if (wpflags & (1 << CSW_AWP))
{
engclient_cmd(id, "drop", "weapon_awp")
if (plist[id] == 1)
{
team = get_user_team(id)
if (awp_count[team] > 0)
awp_count[team]--
plist[id] = 0
}
}
}
}
/* handles when a player picks up a g3sg1 */
public handle_pickup_g3sg1(id)
{
new team = get_user_team(id)
new winspread_auto = get_pcvar_num(pv_winspread_auto)
new min_players = get_pcvar_num(pv_minplayers)
new team1_num, team2_num, score_dif
new players[32]
get_players(players,team1_num,"e","TERRORIST")
get_players(players,team2_num,"e","CT")
if (get_pcvar_num(pv_autolimit) == 1)
{
if ((team1_num < min_players) || (team2_num < min_players))
{
client_print(id,print_center,"Not enough people in one team to allow AUTO's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
set_task(0.5, "drop_g3sg1", id)
return
}
if (winspread_auto)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_auto)
{
client_print(id,print_center,"You are on the winning team and cannot use AUTO's (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
set_task(0.5, "drop_g3sg1", id)
return
}
}
if (auto_count[team] >= get_pcvar_num(pv_max_autos))
{
client_print(id,print_center,"Too many people on your team have AUTO's (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
set_task(0.5, "drop_g3sg1", id)
return
}
}
if (plist2[id] != 1)
{
plist2[id] = 1
auto_count[team]++
}
}
public drop_g3sg1(id)
{
new team, wpflags
if (is_user_alive(id))
{
wpflags = pev(id, pev_weapons)
if (wpflags & (1 << CSW_G3SG1))
{
engclient_cmd(id, "drop", "weapon_g3sg1")
if (plist2[id] == 1)
{
team = get_user_team(id)
if (auto_count[team] > 0)
auto_count[team]--
plist2[id] = 0
}
}
}
}
/* handles when a player picks up a sg550 */
public handle_pickup_sg550(id)
{
new team = get_user_team(id)
new winspread_auto = get_pcvar_num(pv_winspread_auto)
new min_players = get_pcvar_num(pv_minplayers)
new team1_num, team2_num, score_dif
new players[32]
get_players(players,team1_num,"e","TERRORIST")
get_players(players,team2_num,"e","CT")
if (get_pcvar_num(pv_autolimit) == 1)
{
if ((team1_num < min_players) || (team2_num < min_players))
{
client_print(id,print_center,"Not enough people in one team to allow AUTO's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
set_task(0.5, "drop_sg550", id)
return
}
if (winspread_auto)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_auto)
{
client_print(id,print_center,"You are on the winning team and cannot use AUTO's (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
set_task(0.5, "drop_sg550", id)
return
}
}
if (auto_count[team] >= get_pcvar_num(pv_max_autos))
{
client_print(id,print_center,"Too many people on your team have AUTO's (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
set_task(0.5, "drop_sg550", id)
return
}
}
if (plist2[id] != 1)
{
plist2[id] = 1
auto_count[team]++
}
}
public drop_sg550(id)
{
new team, wpflags
if (is_user_alive(id))
{
wpflags = pev(id, pev_weapons)
if (wpflags & (1 << CSW_SG550))
{
engclient_cmd(id, "drop", "weapon_sg550")
if (plist2[id] == 1)
{
team = get_user_team(id)
if (auto_count[team] > 0)
auto_count[team]--
plist2[id] = 0
}
}
}
}
/* removes awp and auto when player dies */
public handle_death()
{
if ((get_pcvar_num(pv_awplimit) != 1) && (get_pcvar_num(pv_autolimit) != 1))
return PLUGIN_CONTINUE
new idx = read_data(2)
if ((idx < 1) || (idx > gl_maxplayers))
return PLUGIN_CONTINUE
if (plist[idx] == 1)
{
new team = get_user_team(idx)
if (awp_count[team] > 0)
awp_count[team]--
plist[idx] = 0
}
if (plist2[idx] == 1)
{
new team = get_user_team(idx)
if (auto_count[team] > 0)
auto_count[team]--
plist2[idx] = 0
}
return PLUGIN_CONTINUE
}
/* clear vars when player connects */
public client_connect(id)
{
if ((id > 0) && (id <= gl_maxplayers))
{
plist[id] = 0
plist2[id] = 0
}
return PLUGIN_CONTINUE
}
/* clear vars when player disconnects */
public client_disconnect(id)
{
new team
if ((id > 0) && (id <= gl_maxplayers))
{
if (plist[id] == 1)
{
team = get_user_team(id)
if (awp_count[team] > 0)
awp_count[team]--
}
if (plist2[id] == 1)
{
team = get_user_team(id)
if (auto_count[team] > 0)
auto_count[team]--
}
plist[id] = 0
plist2[id] = 0
}
return PLUGIN_CONTINUE
}
public team_score()
{
if ((get_pcvar_num(pv_awplimit) != 1) && (get_pcvar_num(pv_autolimit) != 1))
return PLUGIN_CONTINUE
new team[32]
read_data(1,team,32)
if (equal(team,"CT"))
{
ctscore = read_data(2)
}
else if (equal(team,"TERRORIST"))
{
tscore = read_data(2)
}
return PLUGIN_CONTINUE
}
public check_winning_team(id)
{
if ((get_pcvar_num(pv_awplimit) != 1) && (get_pcvar_num(pv_autolimit) != 1)) return PLUGIN_CONTINUE
if ((id < 1) || (id > gl_maxplayers)) return PLUGIN_CONTINUE
if (!is_user_alive(id)) return PLUGIN_CONTINUE
new team = get_user_team(id)
new winspread_awp = get_pcvar_num(pv_winspread_awp)
new winspread_auto = get_pcvar_num(pv_winspread_auto)
new wpflags, score_dif
if (plist[id] == 1)
{
if (winspread_awp)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_awp)
{
client_print(id,print_center,"You are on the winning team and cannot use AWP's (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
engclient_cmd(id, "drop", "weapon_awp")
plist[id] = 0
if (awp_count[team] > 0)
awp_count[team]--
}
}
}
if (plist2[id] == 1)
{
if (winspread_auto)
{
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_auto)
{
client_print(id,print_center,"You are on the winning team and cannot use AUTO's (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
wpflags = pev(id, pev_weapons)
if (wpflags & (1 << CSW_SG550))
{
engclient_cmd(id, "drop", "weapon_sg550")
plist2[id] = 0
if (auto_count[team] > 0)
auto_count[team]--
}
if (wpflags & (1 << CSW_G3SG1))
{
engclient_cmd(id, "drop", "weapon_g3sg1")
plist2[id] = 0
if (auto_count[team] > 0)
auto_count[team]--
}
}
}
}
return PLUGIN_CONTINUE
}
/*
* 1 = T's: AWP Key 4, AUTOSNIPER Key 5
* 2 = CT's: AWP Key 5, AUTOSNIPER Key 4
*/
public via_me(id,key)
{
new team = get_user_team(id)
if ((team==1 && key==5) || (team==2 && key==4))
menu_auto(id, key)
if ((team==1 && key==4) || (team==2 && key==5))
menu_awp(id, key)
return PLUGIN_CONTINUE
}
public check_rebuy(id)
{
if (get_pcvar_num(pv_checkrebuy) != 1) return PLUGIN_CONTINUE
client_print(id,print_center,"Sorry Rebuy command is blocked on this server")
return PLUGIN_HANDLED
}
public total_snipers()
{
new players[32], numPlayerCount, idxPlayer, id, wpflags
// 1 = T; 2 = CT
awp_count[1] = 0
auto_count[1] = 0
get_players(players, numPlayerCount,"he","TERRORIST")
for(idxPlayer = 0; idxPlayer < numPlayerCount; idxPlayer++)
{
id = players[idxPlayer]
if (!is_user_alive(id)) continue
if (!pev_valid(id)) continue
wpflags = pev(id, pev_weapons)
plist[id] = 0
plist2[id] = 0
if (wpflags & (1 << CSW_AWP))
{
plist[id] = 1
awp_count[1]++
}
if ((wpflags & (1 << CSW_SG550)) || (wpflags & (1 << CSW_G3SG1)))
{
plist2[id] = 1
auto_count[1]++
}
}
awp_count[2] = 0
auto_count[2] = 0
get_players(players, numPlayerCount,"he","CT")
for(idxPlayer = 0; idxPlayer < numPlayerCount; idxPlayer++)
{
id = players[idxPlayer]
if (!is_user_alive(id)) continue
if (!pev_valid(id)) continue
plist[id] = 0
plist2[id] = 0
if (wpflags & (1 << CSW_AWP))
{
plist[id] = 1
awp_count[2]++
}
if ((wpflags & (1 << CSW_SG550)) || (wpflags & (1 << CSW_G3SG1)))
{
plist2[id] = 1
auto_count[2]++
}
}
}
public round_start()
{
total_snipers()
}
public hook_touch(ptr, ptd)
{
static ptrClass[32]
static ptdClass[32]
static ptrModel[128]
static team
static min_players
static team1_num, team2_num, score_dif
static players[32]
static winspread_awp
static winspread_auto
static wpflags
if ((get_pcvar_num(pv_awplimit) != 1) && (get_pcvar_num(pv_autolimit) != 1))
return PLUGIN_CONTINUE
if (ptd > gl_maxplayers || ptd < 1 || ptr < 1 )
return PLUGIN_CONTINUE
if ( (!pev_valid(ptr)) || (!pev_valid(ptd)) )
return PLUGIN_CONTINUE
if (!is_user_connected(ptd))
return PLUGIN_CONTINUE
pev(ptr, pev_classname, ptrClass, 31)
pev(ptr, pev_model, ptrModel, 127)
pev(ptd, pev_classname, ptdClass, 31)
if ((!equal(ptrClass, "weaponbox")) && (!equal(ptrClass, "armoury_entity"))
&& (!equal(ptrClass, "csdmw_",6)))
return PLUGIN_CONTINUE
if (equal(ptdClass, "player"))
{
team = get_user_team(ptd)
min_players = get_pcvar_num(pv_minplayers)
get_players(players,team1_num,"e","TERRORIST")
get_players(players,team2_num,"e","CT")
wpflags = pev(ptd, pev_weapons)
if ((equal(ptrModel, "models/w_awp.mdl")) && (get_pcvar_num(pv_awplimit) == 1))
{
if (!(wpflags & (1 << CSW_AWP)))
{
if ((team1_num < min_players) || (team2_num < min_players))
{
client_print(ptd,print_center,"Not enough people in one team to allow AWP's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
return FMRES_SUPERCEDE
}
if (awp_count[team] >= get_pcvar_num(pv_max_awps))
{
client_print(ptd,print_center,"Too many people on your team have AWP's (%d/%d).", awp_count[team], get_pcvar_num(pv_max_awps))
return FMRES_SUPERCEDE
}
winspread_awp = get_pcvar_num(pv_winspread_awp)
if (winspread_awp)
{
score_dif = 0
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_awp)
{
client_print(ptd,print_center,"You are on the winning team and cannot use AWP's (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
return FMRES_SUPERCEDE
}
}
}
return PLUGIN_CONTINUE
}
if (((equal(ptrModel, "models/w_g3sg1.mdl")) || (equal(ptrModel, "models/w_sg550.mdl")))
&& (get_pcvar_num(pv_autolimit) == 1))
{
if (!(wpflags & (1 << CSW_SG550)) && !(wpflags & (1 << CSW_SG550)))
{
if ((team1_num < min_players) || (team2_num < min_players))
{
client_print(ptd,print_center,"Not enough people in one team to allow AUTO's (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
return FMRES_SUPERCEDE
}
if (auto_count[team] >= get_pcvar_num(pv_max_autos))
{
client_print(ptd,print_center,"Too many people on your team have AUTO's (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
return FMRES_SUPERCEDE
}
winspread_auto = get_pcvar_num(pv_winspread_auto)
if (winspread_auto)
{
score_dif = 0
if (team == 2)
score_dif = ctscore - tscore
else if (team == 1)
score_dif = tscore - ctscore
if (score_dif >= winspread_auto)
{
client_print(ptd,print_center,"You are on the winning team and cannot use AUTO's (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
return FMRES_SUPERCEDE
}
}
}
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}
public team_assign()
{
new id = read_data(1)
if ((id < 1) || (id > gl_maxplayers))
return PLUGIN_CONTINUE
if (!is_user_connected(id) || !is_user_alive(id) || (!plist[id] && !plist2[id]))
return PLUGIN_CONTINUE
total_snipers()
return PLUGIN_CONTINUE
}
public plugin_init()
{
register_plugin(PLUGINNAME,VERSION,AUTHOR)
register_menucmd(-31,(1<<4),"via_me" ) // T: AWP, CT: Sig SG-550 Sniper - VGUI
register_menucmd(-31,(1<<5),"via_me" ) // CT: AWP, T: H&K G3SG-1 Sniper Rifle - VGUI
register_menucmd(register_menuid("BuyRifle",1),(1<<4),"via_me" ) // T: AWP, CT: Sig SG-550 Sniper - STANDARD
register_menucmd(register_menuid("BuyRifle",1),(1<<5),"via_me" ) // CT: AWP, T: H&K G3SG-1 Sniper Rifle - STANDARD
register_clcmd("drop","handle_drop_weapon")
register_clcmd("awp","cmdawp")
register_clcmd("magnum","cmdawp")
register_clcmd("g3sg1","cmdauto")
register_clcmd("d3au1","cmdauto")
register_clcmd("sg550","cmdauto")
register_clcmd("krieg550","cmdauto")
register_clcmd("rebuy","check_rebuy")
pv_awplimit = register_cvar("awplimit","1")
pv_autolimit = register_cvar("autolimit","1")
pv_checkrebuy = register_cvar("checkrebuy","1")
pv_max_awps = register_cvar("max_awps","2")
pv_max_autos = register_cvar("max_autos","1")
pv_minplayers = register_cvar("min_players","5")
pv_winspread_awp = register_cvar("winspread_awp","3")
pv_winspread_auto = register_cvar("winspread_auto","2")
register_event("TeamScore", "team_score", "a")
register_event("TeamInfo","team_assign","a")
register_event("WeapPickup","handle_pickup_weapon","b")
register_event("DeathMsg","handle_death","a")
register_event("ResetHUD","check_winning_team","be")
register_logevent("round_start", 2, "1=Round_Start")
register_forward(FM_Touch, "hook_touch")
gl_maxplayers = get_maxplayers()
}Attığım Eklentide Oto Awp ve ve Ct yada T takımı ondeyse awp limitini kaldırabilirmiyiz peki yada bunun cvar kodlarıyla yapılan birşey ise cvar komutları bunlar
max_awps <xx> - Maximum Awps Allowed
* max_autos <xx> - Maximum Autos Allowed
* winspread_awp <xx> - When This Many Rounds Ahead, No Awps Allowed
* winspread_auto <xx> - When This Many Rounds Ahead, No Autos Allowed
* min_players <xx> - Below this amount of players in team, awp / auto are completly restricted (no matter of max_awps and max_autos)
* autolimit <1/0> - 1 = Restrict Auto, 0 = Don't
* awplimit <1/0> - 1 = Restrict Awp, 0 = Don't
* checkrebuy <1/0> - 1 = Prevent Rebuy Command, 0 = Don't
Son Düzenleme: 26-05-2021, 14:01, Düzenleyen: Areeeessss.
İstek konusu, @Grinin 50 Tonu adlı kullanıcı tarafından 2 gün içinde çözülmüştür.
İsteği çözdüğü için Grinin 50 Tonu Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Grinin 50 Tonu Adlı kullanıcı sizin dışınızda toplam 3 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
İsteği çözdüğü için Grinin 50 Tonu Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Grinin 50 Tonu Adlı kullanıcı sizin dışınızda toplam 3 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
)


