Jump to content

Optimizari GM Burned?


Gabriel03

Recommended Posts

Salut! Am editat un gamemode burned, destul de mult insa am o mica problema: Optimizarile! Am sters sistemul de CS:GO, am lasat doar paintball-ul am schimbat if-urile cu switchurile am micsorat stringurile insa tot nu este de ajuns... Uneori sunt si 170 de tickuri pe server la cateva persoane ( Chestia asta tine si de host ce-i drept, care mi-a facut nervi in ultimele zile ) si as dorii sa stiu ce optimizari sa ii mai fac, ce sa mai sterg din el, etc...

Link to comment
Share on other sites

Ca exemplu de optimizare

Citat

//fara optimizare

new Float:health; 
for (new 
0MAX_PLAYERSi++) 
{ 
    if (
IsPlayerConnected(i)) 
    { 
        
GetPlayerHealth(ihealth); 
        
SetPlayerHealth(ihealth 10.0); 
    } 
 

Citat

//cu optimizare

new Float:health; 
for (new 
GetMaxPlayers()-1!= -1; --i) 
{ 
        if(!
IsPlayerConnected(i)) continue; 
    if (
GetPlayerHealth(ihealth)) SetPlayerHealth(ihealth 10.0); 
 

 

si tot asa mai departe pina ce o sa optimizezi tot modul?

Edited by #Yudin
Link to comment
Share on other sites

Uite ceva si cu dialogurile si anume tabulitia

Citat

//fara optimizare

if(dialogid == 100) 
    { 
if(
response) 
{ 
if(
listitem == 0) 
{ 

printf("1"); 
    } 
    if(
listitem == 1) 
    { 

printf("1"); 
    } 
    if(
listitem == 2) 
    { 

printf("1"); 
    } 
    if(
listitem == 3) 
    { 
        
printf("2"); 
} 
    if(
listitem == 4) 
    { 
        
printf("3"); 
    } 
if(
listitem == 5) 
    { 
        
printf("4"); 
    } 
    } 
 

Citat

//cu optimizare

if(dialogid == 1) 
{ 
    if(
response) 
    { 
        if(
listitem == 0) 
        { 
            
printf("1"); 
        } 
        if(
listitem == 1) 
        { 
            
printf("1"); 
        } 
        if(
listitem == 2) 
        { 
            
printf("1"); 
        } 
        if(
listitem == 3) 
        { 
            
printf("2"); 
        } 
        if(
listitem == 4) 
        { 
            
printf("3"); 
        } 
        if(
listitem == 5) 
        { 
            
printf("4"); 
        } 
    } 
} 
if(
dialogid == 2) 
{ 
    if(
response) 
    { 
        if(
listitem == 0) 
        { 
            
printf("1"); 
        } 
        if(
listitem == 1) 
        { 
            
printf("2"); 
        } 
        if(
listitem == 2) 
        { 
            
printf("3"); 
        } 
    } 
 

 

Link to comment
Share on other sites

Acum 12 minute, #Yudin a spus:

Ca exemplu de optimizare

si tot asa mai departe pina ce o sa optimizezi tot modul?

De ce nu

for(new i = 0, j = GetPlayerPoolSize(); i < j; i++); 

Sau chiar

foreach(new i : Players)

Ca sa nu fie nevoie sa faci loop prin toate sloturile. Daca ai 1000 slots si 50 playeri on nu ar avea logica sa faci loop de 1000 si sa gasesti doar 50 playeri on

Link to comment
Share on other sites

6 hours ago, #Yudin said:

As recomanda sa schimbi structura modului,totodata ai putea lua si in vedere optimizarea comenzilor,trecerea la un nou procesor de comenzi ca de exemplu Pawn.CMD 

Am Pawn.CMD de cateva luni si chiar este foarte bun 

Link to comment
Share on other sites

6 hours ago, Banditul said:

De ce nu


for(new i = 0, j = GetPlayerPoolSize(); i < j; i++); 

Sau chiar


foreach(new i : Players)

Ca sa nu fie nevoie sa faci loop prin toate sloturile. Daca ai 1000 slots si 50 playeri on nu ar avea logica sa faci loop de 1000 si sa gasesti doar 50 playeri on

Pai da, nu ma complic cu for loop-uri pt playeri

Link to comment
Share on other sites

6 hours ago, Banditul said:

170 tick e un numar decent pentru un gm rpg care poate ajunge imens

Foloseste profiler plugin si vezi ce parti sunt procesate greu

Sau poti reface gm in C++/C# daca consideri ca pawn e prea incet

Am pus profiler pe gamemode insa mi se pare prea complicat sa il refac in c#, multumesc oricum!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.