[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
Moderatör: Moderatörler
Forum kuralları
DİKKAT !
Konu Başlığı veya içeriği BÜYÜK HARFLERLE olan konular direk silenecektir !
Burası eklenti paylaşım bölümüdür ve yönetici onaylıdır. Alakasız konular hiçbir şekilde onaylanmayacaktır
Eklenti eklerken eklenti kurallarına uyulması gerekir.
En önemlisi paylaşılan eklenti şablonuna uyulması gerekir.
Bu hususlara dikkat edilmeyip paylaşılan eklenti konuları silenecektir.
DİKKAT !
Konu Başlığı veya içeriği BÜYÜK HARFLERLE olan konular direk silenecektir !
Burası eklenti paylaşım bölümüdür ve yönetici onaylıdır. Alakasız konular hiçbir şekilde onaylanmayacaktır
Eklenti eklerken eklenti kurallarına uyulması gerekir.
En önemlisi paylaşılan eklenti şablonuna uyulması gerekir.
Bu hususlara dikkat edilmeyip paylaşılan eklenti konuları silenecektir.
-
- Mesajlar: 594
- Kayıt: Çrş May 16, 2018 4:28 pm
- Konum: Turkey
- Clan İsmi: [R]edWorse
[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
#define semiclip_cvaraktif
Bunun önüne // koydugumda hata alıyordum ama kaldırınca hata almadım. Şuan çalışıyor.
Bunun önüne // koydugumda hata alıyordum ama kaldırınca hata almadım. Şuan çalışıyor.
Etiketler:
Link: | |
Linklerini gizle |
-
- Mesajlar: 2574
- Kayıt: Çrş Ağu 23, 2017 9:17 pm
[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
Aynen kesinlikle
Bilbaz'dan bildiğin eklentinin tamamını çalan arkadaş var. Yazık (!)
Link: | |
Linklerini gizle |
-
- Mesajlar: 234
- Kayıt: Sal Oca 28, 2020 5:48 pm
- Server Ip/DNS: 213.238.173.120
- Clan İsmi: Adora™
-
- Mesajlar: 7
- Kayıt: Pzr Mar 22, 2020 12:33 pm
[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
oyunlar çalışmıyordu enfeksiyon gömülen ölür vs.
Link: | |
Linklerini gizle |
-
- Mesajlar: 594
- Kayıt: Çrş May 16, 2018 4:28 pm
- Konum: Turkey
- Clan İsmi: [R]edWorse
-
Konu Sahibi - Mesajlar: 822
- Kayıt: Prş Haz 07, 2018 6:18 pm
- Konum: İstanbul
- Clan İsmi: Ke$`h Gaming
- İletişim:
[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
Semiclip cvar ayarı olan bir semiclip eklentisi kullanın. Team Semiclip 2.0.0 veya son sürümünü araştırıp kullanabilirsiniz. Bunu yaparsanız define bin başına // koymayin.
Veya viewtopic.php?p=301605#p301605 bu yorumda söylediğim kodu değiştirip define semiclipi silip kullanın calismasu gerekiyor ama şimdilik önerim semiclip eklentisi bulup kullanmanız.
Veya viewtopic.php?p=301605#p301605 bu yorumda söylediğim kodu değiştirip define semiclipi silip kullanın calismasu gerekiyor ama şimdilik önerim semiclip eklentisi bulup kullanmanız.
Link: | |
Linklerini gizle |
-
- Mesajlar: 2574
- Kayıt: Çrş Ağu 23, 2017 9:17 pm
[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
Necati Doğan yazdı: ↑Cum Tem 24, 2020 4:29 am
- CT Menü tamamen sıfırdan kodlanmıştır. Eklenti uzun süre KaoS Gaming 'de denenmiştir, yinede açık/bug vs. bulan olursa lütfen yorum olarak belirtiniz. Ayrıca yapılmasını istediğiniz farklı fikirler varsa yorum olarak belirtebilirsiniz.
Eklentiyi şimdi inceleme şansım oldu. Güzel kodlanmış fakat birkaç eksikler gördüm.
- Sadece 0-1 olan komutlarda bool kullanabilirsin.
Kod: Tümünü seç
//new ..., ..., ..., takimHasar, silahliGom, m249Active
//bind_pcvar_num(create_cvar("ctmenu_takimHasar", "1"), takimHasar);
//bind_pcvar_num(create_cvar("ctmenu_silahliGom", "0"), silahliGom);
//bind_pcvar_num(create_cvar("ctmenu_m249Active", "1"), m249Active);
new ..., ..., ..., bool:takimHasar, bool:silahliGom, bool:m249Active
bind_pcvar_num(create_cvar("ctmenu_takimHasar", "1", _, _, true, 0.0, true, 1.0), takimHasar);
bind_pcvar_num(create_cvar("ctmenu_silahliGom", "1", _, _, true, 0.0, true, 1.0), silahliGom);
bind_pcvar_num(create_cvar("ctmenu_m249Active", "1", _, _, true, 0.0, true, 1.0), m249Active);
- Önceden de dediğim gibi insanları semiclip ile uğraştırmamak için semiclip cvarının kontrolünü yap. Eğer semiclip cvarı yoksa bir tane yalandan oluştur. O komutu değiştirip dursun ne de olsa işlevi yok.
Kod: Tümünü seç
#if defined semiclip_cvaraktif
if(!get_cvar_pointer("semiclip"))
{
create_cvar("semiclip", "");
}
semiclip = get_cvar_pointer("semiclip");
#endif
- ScreenFade gibi komutları plugin_init bölümünde tanıtırsan daha hızlı çalışır.
Kod: Tümünü seç
new ScreenFade, SetFOV...
public plugin_init() {
...
ScreenFade = get_user_msgid("ScreenFade");
SetFOV = get_user_msgid("SetFOV");
}
message_begin(MSG_ONE_UNRELIABLE,ScreenFade,{0,0,0},id);
//message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0},id);
message_begin(MSG_ONE, get_user_msgid("SetFOV"), { 0, 0, 0 }, ids);
message_begin(MSG_ONE, SetFOV, { 0, 0, 0 }, ids);
...
- Get_user_origin komutunun sıfırlı hâli get_entvar ile çekilebilir, daha hızlı olması açısından
Ayrıca is_user_alive komutu zaten oyuncunun oyuna bağlı olup olmamasını kontrol ediyor. İki kere aynı şeyi kontrol ediyor kısaca.
Birkaç tane komut gördüm böyle, düzeltilebilir.
Kod: Tümünü seç
public infect_aura(id) {
id=id- task_ENFEKSIYON;
//if(is_user_connected(id) && is_user_alive(id) && g_infect[id]) {
if(is_user_alive(id) && g_infect[id]) {
//new origin[3]; get_user_origin(id, origin, 0);
new Float:origin[3]; get_entvar(id, var_origin, origin);
message_begin(MSG_ALL, SVC_TEMPENTITY);
write_byte(TE_DLIGHT);
//write_coord(origin[0]);
//write_coord(origin[1]);
//write_coord(origin[2]);
write_coord_f(origin[0]);
write_coord_f(origin[1]);
write_coord_f(origin[2]);
write_byte(12);
write_byte(0); write_byte(255); write_byte(0);
write_byte(1);
write_byte(0);
message_end();
}
}
- Bu pek önemli değil ama yapılırsa biraz daha hızlandırabilir olayları. Değişmeyen menüyü tekrar göstermek istiyorsan menu_display kullanabilirsin.
Kod: Tümünü seç
public piclik2(id, menu, item) {
if(item == MENU_EXIT || get_member(id, m_iTeam)!=TEAM_CT) { menu_destroy(menu); return PLUGIN_HANDLED; }
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(data));
key = str_to_num(data);
switch(key) {
case 1....
...
case 5 : set_pcvar_num(sv_gravity, 800), client_print_color(0, id, "^1[^3%n^1]^4 adli gardiyan piclik oyununda^1 Gravity 800 ^4yapti.", id);
default: menu_destroy(menu); return PLUGIN_HANDLED;
}
//piclik(id);
menu_display(id, menu);
return PLUGIN_HANDLED;
}
- get_user_aiming komutunda ids != id komutuna gerek yok ve ayrıyeten yine is_user_connected ve is_user_alive çatışması.
is_user_alive komutu oyuncu oyundaysa ve yaşıyorsa aktif oluyor. Fazladan ids komutunun olup olmadığını kontrol etmeye gerek yok.
Kod: Tümünü seç
new ids,body; get_user_aiming(id, ids, body);
//if(is_user_connected(ids) && ids && ids!=id && get_member(ids, m_iTeam)==TEAM_TERRORIST && is_user_alive(ids)) {
if(is_user_alive(ids) && get_member(ids, m_iTeam)==TEAM_TERRORIST) {
- set_entity_visibility komutunu reapi olarak kullanabilirsin. Engine kütüphanesinde stock olarak kullanılıyor. Reapiye çevrilmesinin bir sakıncası yok. Direkt set_entvar şeklinde kullanmanı tavsiye ederim lakin üşenirim diyorsan rg_set_entity_visibility de aynı işlevi görecektir.
Kod: Tümünü seç
rg_set_entity_visibility(const entity, visible == 1)
{
set_entvar(entity, var_effects, visible == 1 ? get_entvar(entity, var_effects) & ~EF_NODRAW : get_entvar(entity, var_effects) | EF_NODRAW);
}
// gorunmez -> set_entvar(entity, var_effects, get_entvar(entity, var_effects) | EF_NODRAW);
// gorunur -> set_entvar(entity, var_effects, get_entvar(entity, var_effects) & ~EF_NODRAW);
- Fazla yok ama düzeltilmesi gerekiyor. For döngüsü içinde değişken oluşturma.
Kod: Tümünü seç
new Float:origin[3];
for(new i=0; i<num; i++) {
ids=players[i];
if(g_hain[ids]) {
//new Float:origin[3]; get_entvar(id, var_origin, origin);
get_entvar(id, var_origin, origin);
say=true;
- Gondol oyununda aimdeki oyuncuyu glowla derken ölü olup olmamasını kontrol etmek yetiyor.
Kod: Tümünü seç
//if(is_user_connected(ids) && ids && ids!=id) {
if(is_user_alive(ids))
[list]get_players komutu sadece oyunda olanları algılatıyor. Tekrardan kontrol etmeye gerek yok[/list]
[code]
new players[MAX_PLAYERS], num, ids;
get_players_ex(players, num, GetPlayers_ExcludeAlive | GetPlayers_MatchTeam | GetPlayers_ExcludeBots, "TERRORIST");
for(new i=0; i<num; i++) {
ids=players[i];
rg_round_respawn(ids);
//if(is_user_connected(ids))
//rg_round_respawn(ids);
//}
}
- Bu gayet güzel. Bunu güzel olduğu için yazma isteği duydum.
Kod: Tümünü seç
if(is_user_connected(key) && !is_user_alive(key)) {
- Böyle basit komutlarda for döngüsü ile oyuncu çekmek daha hızlı ve basit olabilir. Değiştirilmese pek sıkıntı olmaz fakat ben öğrendiğime göre for döngüsü get_players komutundan hızlı çalışıyormuş fakat MaxClients kullanılırsa hızlı çalışıyor.
Kod: Tümünü seç
for(new ids = 1; ids <= MaxClients; ids++)
{
if(is_user_alive(ids) && get_member(ids, m_iTeam) == TEAM_TERRORIST && Takim[ids] == 2)
{
user_kill(ids);
}
}
//new players[MAX_PLAYERS], num, ids;
//get_players_ex(players, num, GetPlayers_ExcludeDead | GetPlayers_MatchTeam | GetPlayers_ExcludeBots, "TERRORIST");
//for(new i=0; i<num; i++) {
//ids=players[i];
//if(Takim[ids]==2)
//user_kill(ids);
//}
//}
[list]Birçok kez kullanılan komutları tek bir komutla birleştirebilirsin.[/list]
[code]
public .....()
{
oyuncuyudondur(ids);
//flags=get_entvar(ids, var_flags);
//if(~flags & FL_FROZEN) {
//set_entvar(ids, var_flags, flags | FL_FROZEN);
//}
}
oyuncuyudondur(const id)
{
new flags=get_entvar(ids, var_flags);
if(~flags & FL_FROZEN) {
set_entvar(ids, var_flags, flags | FL_FROZEN);
}
}
- Float ile daha bir güzel olurdu gibi.
Kod: Tümünü seç
glowla(const id, const Float:bir, const Float:iki, const Float:uc) {
//glowla(const id, const bir=0, const iki=0, const uc=0) {
//new Float:RenderColor[3];
//RenderColor[0]=float(bir);
//RenderColor[1]=float(iki);
//RenderColor[2]=float(uc);
set_entvar(id, var_renderfx, kRenderFxGlowShell);
set_entvar(id, var_rendercolor, RenderColor);
set_entvar(id, var_rendermode, kRenderNormal);
set_entvar(id, var_renderamt, 30.0);
}
- pev yerine reapi?
Kod: Tümünü seç
bool:Stuck(id) {
//static Float:Origin[3]; pev(id, pev_origin, Origin);
static Float:Origin[3]; get_entvar(id, var_origin, Origin);
//engfunc(EngFunc_TraceHull, Origin, Origin, IGNORE_MONSTERS, pev(id, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN, 0, 0);
engfunc(EngFunc_TraceHull, Origin, Origin, IGNORE_MONSTERS, get_entvar(id, var_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN, 0, 0);
//if(get_tr2(0, TR_StartSolid) ) return true;
//return false;
return bool:get_tr2(0, TR_StartSolid);
}
- RG_CBasePlayer_ResetMaxSpeed komutunda yaşıyor olup olmamasını kontrole gerek yok.
Sadece doğduğunda hız kapanıyorsa sıkıntı yok.
Kod: Tümünü seç
public resetSpeed(id) {
//if(g_hiz[id] && is_user_alive(id)) {
if(g_hiz[id])
{
set_entvar(id, var_maxspeed, 650.0);
return HC_SUPERCEDE;
}
return HC_CONTINUE;
}
- Ayarları sıfırlarken if komutlarına gerek yok. Direkt değerleri 0 yapıp taskları silseniz yeterli. Remove_task eklentisi zaten task yokken çalışmaz
Kod: Tümünü seç
oylamaSayac=0;
remove_task(task_KORUMA);
//if(oylamaSayac>0) {
//oylamaSayac=0;
//remove_task(task_KORUMA);
//}
[list]Touch komutunda da ölü olup olmadığını vs kontrole gerek yok. Oyuncu öldüğünde değer kapanıyorsa tadından yenmez.[/list]
[code]
public touch_weapon(ent, id) {
return g_silahKontrol[id] ? PLUGIN_HANDLED : PLUGIN_CONTINUE;
//if(g_silahKontrol[id] && is_user_connected(id) && is_user_alive(id))
//return PLUGIN_HANDLED;
//return PLUGIN_CONTINUE;
}
- Damage oluştururken hamsandwich kütüphanesi kullanılabilir.
Kod: Tümünü seç
ExecuteHam(Ham_TakeDamage, ent, 0, id, 90000.0, DMG_SHOCK);
//if(is_user_alive(ent))
//kill(id, ent, "deagle");//user_kill(ent, 1);
//message_begin( MSG_BROADCAST, get_user_msgid("DeathMsg"),{0,0,0},0);
//write_byte(id);
//write_byte(ent);
//write_byte(0);
//message_end();
- Tek komut bile olsa yapılmaması gerek
Kod: Tümünü seç
for(new i = 1; i <= MaxClients; i++)
{
yarismaSayac[i] = 0;
}
//for(new i=0; i<num; i++)
//yarismaSayac[players[i]]=0;
Link: | |
Linklerini gizle |
-
- Mesajlar: 111
- Kayıt: Çrş Eyl 09, 2015 3:23 pm
- Konum: Çanakkale
- Server Ip/DNS: cs21.csduragi.com
- Clan İsmi: eLit gAming
[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
Eklentide ayarları sıfırla menüsü çalışmamakta tıklandığında herhangi bir şey olmuyor.
Link: | |
Linklerini gizle |
-
- Mesajlar: 52
- Kayıt: Cum Ağu 24, 2018 6:37 pm
- Clan İsmi: MoonGaming
[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
Semiclip eklentisi kullanıyor musunuz ?ElitGaminG yazdı: ↑Pzt Ağu 03, 2020 12:41 am
Eklentide ayarları sıfırla menüsü çalışmamakta tıklandığında herhangi bir şey olmuyor.
Link: | |
Linklerini gizle |
-
- Mesajlar: 670
- Kayıt: Prş Nis 09, 2020 2:12 pm
- Konum: Bursa
- Server Ip/DNS: cs.darkthronejb.com
- Clan İsmi: DarkThrone Jail
- İletişim:
[ReAPI] Gelişmiş Temiz CT Menü Eklentisi (/ctmenu)
Bazı Bölümler çalışmıyor sanırım semiclip yüzünden elinizde teamsemiclip 2.0.0 dosyasının sma sı var mı acaba ? veya içeriğini paylaşabilir misiniz. Tekrar elinize sağlık yeni deniyebildik her şey çok güzelNecati Doğan yazdı: ↑Pzt Tem 27, 2020 8:08 pm Semiclip cvar ayarı olan bir semiclip eklentisi kullanın. Team Semiclip 2.0.0 veya son sürümünü araştırıp kullanabilirsiniz. Bunu yaparsanız define bin başına // koymayin.
Veya viewtopic.php?p=301605#p301605 bu yorumda söylediğim kodu değiştirip define semiclipi silip kullanın calismasu gerekiyor ama şimdilik önerim semiclip eklentisi bulup kullanmanız.
Link: | |
Linklerini gizle |