Určite mnohých z vás pri jenom scripte npr. TIP (timer + scmta) napadne viac spôsobov ako na to. Mám riešenie ! Otestujte oba, a ten čo bude rýchlejší použite. Čím rýchlejší, tým menej sa server namáha (by y_less). Ako na to ? no použijeme GetTickCount. GetTickCount zistuje uptime servera v MS takže začneme.
Neviete sa rozhodnúť medzi switch alebo if tak sa rozhodnete otestovať si oba scripty tak ideme na to
rozdiel zistíme:
nový čas - starý čas
tak isto sa rátajú aj roky keď viete rok narodenia npr.
2011-1995=16
a teraz vám ukážem ako som testoval y_ini
TU JE http://pastebin.com/FKqWRh0h
Pre viditeľný rozdiel si testovací script "znásobíme" Pomocou cykla... jedno či už for alebo wile ale základom je rovnaký spôsob...
a keď bude A menšie ako B test tak A sa oplatí použiť... lebo čím dlhšie to trvá, tým viac to zaťažuje (npr. musí to stále čítať && a podobne...)
Dúfam že ste si niečo vzali k srdcu a budete to využívať.
S pozdravom
QWER
Neviete sa rozhodnúť medzi switch alebo if tak sa rozhodnete otestovať si oba scripty tak ideme na to
- kód:
new Old[2];
new New[2];
- kód:
forward msg();
public msg(){
new ran = random(5);
switch(ran){
case 0: SCMTA(COLOR_RED,"0");
case 1: SCMTA(COLOR_RED,"1");
case 2: SCMTA(COLOR_RED,"2");
case 3: SCMTA(COLOR_RED,"3");
case 4: SCMTA(COLOR_RED,"4");
}
new ran2 = random(5); // ja viem že stačí jedna premena
if(ran2 == 0) SCMTA(COLOR_RED,"0");
if(ran2 == 1) SCMTA(COLOR_RED,"1");
if(ran2 == 2) SCMTA(COLOR_RED,"2");
if(ran2 == 3) SCMTA(COLOR_RED,"3");
if(ran2 == 4) SCMTA(COLOR_RED,"4");
}
- kód:
forward msg();
public msg(){
Old[0] = GetTickCount(); // zistíme uptime serveru pred prvým scriptom a uložíme do premeny
new ran = random(5);
switch(ran){
case 0: SCMTA(COLOR_RED,"0");
case 1: SCMTA(COLOR_RED,"1");
case 2: SCMTA(COLOR_RED,"2");
case 3: SCMTA(COLOR_RED,"3");
case 4: SCMTA(COLOR_RED,"4");
}
New[0] = GetTickCount(); // zistíme uptime serveru po prvom scripte
Old[1] = GetTickCount();// uptime serveru pred druhým scriptom
new ran2 = random(5); // ja viem že stačí jedna premena
if(ran2 == 0) SCMTA(COLOR_RED,"0");
if(ran2 == 1) SCMTA(COLOR_RED,"1");
if(ran2 == 2) SCMTA(COLOR_RED,"2");
if(ran2 == 3) SCMTA(COLOR_RED,"3");
if(ran2 == 4) SCMTA(COLOR_RED,"4");
New[1] = GetTickCount(); // uptime serveru po druhom scripte
}
- kód:
forward msg();
public msg(){
Old[0] = GetTickCount(); // zistíme uptime serveru pred prvým scriptom a uložíme do premeny
new ran = random(5);
switch(ran){
case 0: SCMTA(COLOR_RED,"0");
case 1: SCMTA(COLOR_RED,"1");
case 2: SCMTA(COLOR_RED,"2");
case 3: SCMTA(COLOR_RED,"3");
case 4: SCMTA(COLOR_RED,"4");
}
New[0] = GetTickCount(); // zistíme uptime serveru po prvom scripte
Old[1] = GetTickCount();// uptime serveru pred druhým scriptom
new ran2 = random(5); // ja viem že stačí jedna premena
if(ran2 == 0) SCMTA(COLOR_RED,"0");
if(ran2 == 1) SCMTA(COLOR_RED,"1");
if(ran2 == 2) SCMTA(COLOR_RED,"2");
if(ran2 == 3) SCMTA(COLOR_RED,"3");
if(ran2 == 4) SCMTA(COLOR_RED,"4");
New[1] = GetTickCount(); // uptime serveru po druhom scripte
printf("Switch:\n Old: %d New: %d\n Difference:%d\n IF\n Old: %d\n New: %d\n Difference:%d",Old[0],New[0],New[0]-Old[0],Old[1],New[1],New[1]-Old[1]);
}
rozdiel zistíme:
nový čas - starý čas
tak isto sa rátajú aj roky keď viete rok narodenia npr.
2011-1995=16
a teraz vám ukážem ako som testoval y_ini
TU JE http://pastebin.com/FKqWRh0h
Pre viditeľný rozdiel si testovací script "znásobíme" Pomocou cykla... jedno či už for alebo wile ale základom je rovnaký spôsob...
- kód:
main(){
new x = 5, y = 6, z = 7, a= 8, b = 9, c = 10;
new Old1,
New1;
Old1 = GetTickCount();
for( i < 10000 ; i++){
if(x == 5){
if(y == 6){
if(z == 7){
if(a == 8){
if(b == 9){
if(C == 10){
SendClientMessageToAll(0xFF000000,"Ahoj");
}}}}}}}
New1 = GetTickCount();
printf("A %d",New1-Old1);
Old1 = GetTickCount();
for( i < 10000 ; i++){
if(x == 5 && y == 6 && z == 7 && a == 8 && b == 9 && C == 10){
SendClientMessageToAll(0xFF000000,"Ahoj");
}}
New1 = GetTickCount();
printf("B %d",New1-Old1);
}
a keď bude A menšie ako B test tak A sa oplatí použiť... lebo čím dlhšie to trvá, tým viac to zaťažuje (npr. musí to stále čítať && a podobne...)
Dúfam že ste si niečo vzali k srdcu a budete to využívať.
S pozdravom
QWER