Rocket hk.
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 1780
- Kayıt: Cum Oca 01, 2016 9:12 am
- Server Ip/DNS: x
- Clan İsmi: Mr.GaminG
-
- Mesajlar: 594
- Kayıt: Çrş May 16, 2018 4:28 pm
- Konum: Turkey
- Clan İsmi: [R]edWorse
Rocket hk.
Evet biz bu sorunu yaklaşık 2 3 haftadır yaşıyoruz ping artışı yaşanıyor rokcet de lag donma vs ama konu açmamıştım ben iyi oldu bu konu cevaplanırsa sevinirim.
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: 594
- Kayıt: Çrş May 16, 2018 4:28 pm
- Konum: Turkey
- Clan İsmi: [R]edWorse
-
- Mesajlar: 594
- Kayıt: Çrş May 16, 2018 4:28 pm
- Konum: Turkey
- Clan İsmi: [R]edWorse
Rocket hk.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
-
Konu Sahibi - Mesajlar: 1780
- Kayıt: Cum Oca 01, 2016 9:12 am
- Server Ip/DNS: x
- Clan İsmi: Mr.GaminG
Rocket hk.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
Rocket hk.
Bu roket muhabbeti resmen işkence, sunucu iyi bu durumu az çok kaldırabiliyor.
1. Neden get_players kullanıp for içerisinde if ile takım sorgusu yaptırmış? Get_players zaten sorunlu çalışıyor iken bi de bunun içerisine o sorguyu katması çok yersiz.
2.
---->
3. switchlerdeki static yersiz olmuş biraz.
4. For içerisindeki hucrekapisiniac() sunucunun içinden geçer. Canlı oyuncular kadar sunucuya hücreleri aç komutu gönderiliyor ve her gönderişte oyundaki bütün nesneler tek tek sorgulanıyor. 20 canlı oyuncu var diyelim, 20 kere alttaki kod bulağı sunucuya boş yere gönderiliyor.
5.
---->
6. Roket efekti 10'dan fazla oyuncuda aynı anda uygulandığı için sunucuya birden yük bindirmesi normal. Bu roket kodlarını yazan adam bunu normalde 1 oyuncu için yapmıştı, ama bizim jailci arkadaşlarımız bunu bütün oyuncular için ne olacak yaaa dediği için dozunu arttırmıştır.
Bu arada eklenti çok kötü @Colditz , biğinmidim.
Ama redin paylaştığı Necatinin jbmenü eklentisinde bu tip sorunlar yok, aksine baya özenilmiş kodlar mantıklı algoritmalar var. O eklentide roket diğer eklentinin aksine daha rahat çalışması lazım. Sunucuda ne kadarlık bir takılma oluyor? Roket esnasındaki net_graph 3 değerlerini skor tablosu açık bir şekilde ekran görüntüsünü alıp paylaşabilir misin?
1. Neden get_players kullanıp for içerisinde if ile takım sorgusu yaptırmış? Get_players zaten sorunlu çalışıyor iken bi de bunun içerisine o sorguyu katması çok yersiz.
2.
Kod: Tümünü seç
public rocketmenu(id)
{
if(get_user_team(id) == 2 && is_user_alive(id))
{
new menu = menu_create("\wRoket Menu", "rocketmenu2")
menu_additem(menu, "\y10 \wSaniye \wRoket \wAt", "1", 0);
menu_additem(menu, "\y20 \wSaniye \wRoket \wAt", "2", 0);
menu_additem(menu, "\y30 \wSaniye \wRoket \wAt", "3", 0);
menu_additem(menu, "\y40 \wSaniye \wRoket \wAt", "4", 0);
menu_additem(menu, "\y50 \wSaniye \wRoket \wAt", "5", 0);
menu_additem(menu, "\y60 \wSaniye \wRoket \wAt \d(1 Dakika)", "6", 0);
menu_setprop(menu, MPROP_EXITNAME, "Cikis")
menu_display(id, menu, 0)
}
else if(get_user_team(id) == 2 && !is_user_alive(id))
{
client_printc(id, "!t[!gNexus!t] !nBu menuye !tOluler !ngiremez")
}
else
{
client_printc(id, "!t[!gNexus!t] !nBu menuye girme yetkin yok")
}
}
Kod: Tümünü seç
public rocketmenu(id)
{
if(!is_user_alive(id))
{
client_printc(id, "!t[!gNexus!t] !nBu menuye !tOluler !ngiremez")
}
else if(get_user_team(id) == 2)
{
new menu = menu_create("\wRoket Menu", "rocketmenu2")
menu_additem(menu, "\y10 \wSaniye \wRoket \wAt", "1", 0);
menu_additem(menu, "\y20 \wSaniye \wRoket \wAt", "2", 0);
menu_additem(menu, "\y30 \wSaniye \wRoket \wAt", "3", 0);
menu_additem(menu, "\y40 \wSaniye \wRoket \wAt", "4", 0);
menu_additem(menu, "\y50 \wSaniye \wRoket \wAt", "5", 0);
menu_additem(menu, "\y60 \wSaniye \wRoket \wAt \d(1 Dakika)", "6", 0);
menu_setprop(menu, MPROP_EXITNAME, "Cikis")
menu_display(id, menu, 0)
}
else
{
client_printc(id, "!t[!gNexus!t] !nBu menuye girme yetkin yok")
}
}
4. For içerisindeki hucrekapisiniac() sunucunun içinden geçer. Canlı oyuncular kadar sunucuya hücreleri aç komutu gönderiliyor ve her gönderişte oyundaki bütün nesneler tek tek sorgulanıyor. 20 canlı oyuncu var diyelim, 20 kere alttaki kod bulağı sunucuya boş yere gönderiliyor.
Kod: Tümünü seç
public hucrekapisiniac()
{
new Float:radius = 200.0, Float:origin[3], ent = 1, ent2 = 1, ent3, class[32], name[32], pos
while((pos <= sizeof(found)) && (ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "info_player_deathmatch")))
{
pev(ent, pev_origin, origin)
while((ent2 = engfunc(EngFunc_FindEntityInSphere, ent2, origin, radius)))
{
if(!pev_valid(ent2))
continue
pev(ent2, pev_classname, class, charsmax(class))
if(!equal(class, "func_door"))
continue
pev(ent2, pev_targetname, name, charsmax(name))
ent3 = engfunc(EngFunc_FindEntityByString, 0, "target", name)
if(pev_valid(ent3) && (in_array(ent3, found, sizeof(found)) < 0))
{
ExecuteHamB(Ham_Use, ent3, 0, 0, 1, 1.0)
pos++
break
}
}
}
return pos
}
Kod: Tümünü seç
public rocketmenu2(id, menu, item)
{
if(item == MENU_EXIT || get_user_team(id) != 2 || !is_user_alive(id))
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64], Access, Callback
menu_item_getinfo(menu, item, Access, data, sizeof(data), iName, sizeof(iName), Callback)
new key = str_to_num(data)
remove_task(1300)
switch(key)
{
case 1: {
new players[32], inum;
static Uid;
get_players(players, inum, "a")
for(new i; i < inum; i++) {
Uid = players[i];
Sure = -1
YeniSure = -1
//set_cvar_num("semiclip", 1)
hucrekapisiniac()
if(get_user_team(Uid) == 1) {
give_item(Uid, "weapon_tmp")
unammocuk[Uid] = true
}
else if(get_user_team(Uid) == 2) {
set_user_godmode(Uid, 1)
set_user_health(Uid, 50000)
}
}
roket = 10
set_task(0.1, "roketdevam", 1300)
}
case 2: {
new players[32], inum;
static Uid;
get_players(players, inum, "a")
for(new i; i < inum; i++) {
Uid = players[i];
Sure = -1
YeniSure = -1
//set_cvar_num("semiclip", 1)
hucrekapisiniac()
if(get_user_team(Uid) == 1) {
give_item(Uid, "weapon_tmp")
unammocuk[Uid] = true
}
else if(get_user_team(Uid) == 2) {
set_user_godmode(Uid, 1)
set_user_health(Uid, 50000)
}
}
roket = 20
set_task(0.1, "roketdevam", 1300)
}
case 3: {
new players[32], inum;
static Uid;
get_players(players, inum, "a")
for(new i; i < inum; i++) {
Uid = players[i];
Sure = -1
YeniSure = -1
//set_cvar_num("semiclip", 1)
hucrekapisiniac()
if(get_user_team(Uid) == 1) {
give_item(Uid, "weapon_tmp")
unammocuk[Uid] = true
}
else if(get_user_team(Uid) == 2) {
set_user_godmode(Uid, 1)
set_user_health(Uid, 50000)
}
}
roket = 30
set_task(0.1, "roketdevam", 1300)
}
case 4: {
new players[32], inum;
static Uid;
get_players(players, inum, "a")
for(new i; i < inum; i++) {
Uid = players[i];
Sure = -1
YeniSure = -1
//set_cvar_num("semiclip", 1)
hucrekapisiniac()
if(get_user_team(Uid) == 1) {
give_item(Uid, "weapon_tmp")
unammocuk[Uid] = true
}
else if(get_user_team(Uid) == 2) {
set_user_godmode(Uid, 1)
set_user_health(Uid, 50000)
}
}
roket = 40
set_task(0.1, "roketdevam", 1300)
}
case 5: {
new players[32], inum;
static Uid;
get_players(players, inum, "a")
for(new i; i < inum; i++) {
Uid = players[i];
Sure = -1
YeniSure = -1
//set_cvar_num("semiclip", 1)
hucrekapisiniac()
if(get_user_team(Uid) == 1) {
give_item(Uid, "weapon_tmp")
unammocuk[Uid] = true
}
else if(get_user_team(Uid) == 2) {
set_user_godmode(Uid, 1)
set_user_health(Uid, 50000)
}
}
roket = 50
set_task(0.1, "roketdevam", 1300)
}
case 6: {
new players[32], inum;
static Uid;
get_players(players, inum, "a")
for(new i; i < inum; i++) {
Uid = players[i];
Sure = -1
YeniSure = -1
//set_cvar_num("semiclip", 1)
hucrekapisiniac()
if(get_user_team(Uid) == 1) {
give_item(Uid, "weapon_tmp")
unammocuk[Uid] = true
}
else if(get_user_team(Uid) == 2) {
set_user_godmode(Uid, 1)
set_user_health(Uid, 50000)
}
}
roket = 60
set_task(0.1, "roketdevam", 1300)
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
Kod: Tümünü seç
public rocketmenu2(id, menu, item)
{
if(item == MENU_EXIT || get_user_team(id) != 2 || !is_user_alive(id))
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64], Access, Callback
menu_item_getinfo(menu, item, Access, data, sizeof(data), iName, sizeof(iName), Callback)
new key = str_to_num(data)
remove_task(1300)
hucrekapisiniac()
Sure = -1
YeniSure = -1
for (new i = 1; i <= MAX_CLIENTS; i++){
if(get_user_team(i) == 1 && is_user_alive(i)) {
give_item(i, "weapon_tmp")
unammocuk[i] = true
}
else if(get_user_team(i) == 2 && is_user_alive(i)) {
set_user_godmode(i, 1)
set_user_health(i, 50000)
}
}
switch(key)
{
case 1: {
roket = 10
}
case 2: {
roket = 20
}
case 3: {
roket = 30
}
case 4: {
roket = 40
}
case 5: {
roket = 50
}
case 6: {
roket = 60
}
}
set_task(0.1, "roketdevam", 1300)
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public roketdevam()
{
if(roket == 0)
{
t_roketle()
client_print(0, print_center, "Sure Bitti. Mahkumlar Roketlendi")
}
else if(roket == -1)
{
}
else
{
client_print(0, print_center, "[ %d ] Saniye Sonra Mahkumlar Roketlenecektir", roket)
roket--
set_task(1.0, "roketdevam", 1300)
}
}
Bu arada eklenti çok kötü @Colditz , biğinmidim.
Ama redin paylaştığı Necatinin jbmenü eklentisinde bu tip sorunlar yok, aksine baya özenilmiş kodlar mantıklı algoritmalar var. O eklentide roket diğer eklentinin aksine daha rahat çalışması lazım. Sunucuda ne kadarlık bir takılma oluyor? Roket esnasındaki net_graph 3 değerlerini skor tablosu açık bir şekilde ekran görüntüsünü alıp paylaşabilir misin?
Link: | |
Linklerini gizle |
-
Yönetici - Mesajlar: 5427
- Kayıt: Pzr Eyl 06, 2015 6:12 pm
- Server Ip/DNS: dm.csduragi.com
- Clan İsmi: csd
Rocket hk.
ip adresi nedir ?
rocket atıldığı esnada unammo ve silah veriliyor mu ?
rocket atılınca panelden konsola 1 saniye ara ile 4-5 kere stats yazın, aynısını birde rocketsiz yapıp değerleri buraya gönderin kontrol edelim
rocket atıldığı esnada unammo ve silah veriliyor mu ?
rocket atılınca panelden konsola 1 saniye ara ile 4-5 kere stats yazın, aynısını birde rocketsiz yapıp değerleri buraya gönderin kontrol edelim
Link: | |
Linklerini gizle |
-
- Mesajlar: 2574
- Kayıt: Çrş Ağu 23, 2017 9:17 pm
Rocket hk.
Sunucularda roket kullanılmasını önermiyorum yani başka alternatifler bulunabilir. Eskiden bir bugu olduğu bilinmiyordu ve eğlenceliydi fakat artık status bugu olduğunu biliyoruz. Ayrıca sunucuya çok yük bindiriyor ve kasmalara, donmalara hatta çökmelere sebep olabiliyor.
Link: | |
Linklerini gizle |