klausimas dėl include naudojimo

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

klausimas dėl include naudojimo

Post by aurimasko »

Ar tiesa, kad naudojant plugine mažiau include <..> susinaudoja mažiau resursų? Arba jeigu aš naudoju visur get_user_team komandą, o ne cs_get_user_team, bet reikia include <cstrike> dėl tokių komandų kaip cs_set_user_ammo, tai mažiau sunaudos resursų negu naudojant visur cs_get_user_team?

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: klausimas dėl include naudojimo

Post by aaarnas »

Include skaičius nesudaro jokio skirtumo. Ar jų bus 1 ar bus daug. Gali includinti kad ir visus cs amxmodx modulius. Svarbiausia kažkokiam veiksmui atlikti naudoti to modulio funkcijas, kuris atlieką tą veiksmą optimaliausiai.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: klausimas dėl include naudojimo

Post by aurimasko »

aaarnas wrote:Include skaičius nesudaro jokio skirtumo. Ar jų bus 1 ar bus daug. Gali includinti kad ir visus cs amxmodx modulius. Svarbiausia kažkokiam veiksmui atlikti naudoti to modulio funkcijas, kuris atlieką tą veiksmą optimaliausiai.
O kaip geriau naudoti cs_get_user_team ar get_user_team?

Ir ar geriau daryti:

Code: Select all

 if(cs_get_user_team(id) == CS_TEAM_T){...}else if(cs_get_user_team(id) == CS_TEAM_CT){...} 
ar

Code: Select all

 switch(cs_get_user_team(id)){case CS_TEAM_T: { .... }case CS_TEAM_CT: { .... }} 

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: klausimas dėl include naudojimo

Post by aaarnas »

Tarp jų didelio skirtumo manau nėra. Logiškai mąstant, cstrike modulis turėtų būti optimalesnis. Gali naudoti tą kuris labiau patinka.

Savaime suprantama antras variantas.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: klausimas dėl include naudojimo

Post by aurimasko »

aaarnas wrote:Tarp jų didelio skirtumo manau nėra. Logiškai mąstant, cstrike modulis turėtų būti optimalesnis. Gali naudoti tą kuris labiau patinka.

Savaime suprantama antras variantas.
Tai gerai aš switch ir naudoju :D

O kas dar turi įtakos serverio apkrovimui?

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: klausimas dėl include naudojimo

Post by aaarnas »

Na ant kiek optimaliai sugebėsi parašyti algoritmą. Tas ir turi įtakos.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: klausimas dėl include naudojimo

Post by aurimasko »

O šitas pvz optimaliausias ar įmanoma dar geriau?

Code: Select all

 public player_attack(victim, attacker, Float:damage, Float:direction[3], tracehandle, damagebits){    static CsTeams:vteam, CsTeams:ateam    if(!is_user_connected(victim) || !is_user_connected(attacker) || victim == attacker)        return HAM_IGNORED        new weapon = get_user_weapon(attacker, _, _);     vteam = cs_get_user_team(victim)    ateam = cs_get_user_team(attacker)        if(kill[victim] && kill[attacker])        if((ateam == CS_TEAM_CT && vteam == CS_TEAM_T) || (ateam == CS_TEAM_T && vteam == CS_TEAM_CT))        return HAM_SUPERCEDE        if(gaudynes[attacker] && gaudynes[victim])         if(ateam == CS_TEAM_CT && vteam == CS_TEAM_T)        if(weapon != CSW_KNIFE)        return HAM_SUPERCEDE        if(slepynes[attacker] && slepynes[victim])        if(ateam == CS_TEAM_T && vteam == CS_TEAM_CT)        if(weapon != CSW_KNIFE)        return HAM_SUPERCEDE        if(amgunday[attacker] && amgunday[victim])        if((ateam == CS_TEAM_CT && vteam == CS_TEAM_T) || (ateam == CS_TEAM_T && vteam == CS_TEAM_CT))        return HAM_SUPERCEDE        if(agaudynes[attacker] && agaudynes[victim])        if(ateam == CS_TEAM_CT && vteam == CS_TEAM_T)        if(weapon != CSW_KNIFE && weapon != CSW_GLOCK18)        return HAM_SUPERCEDE        if(sharkas[attacker] && sharkas[victim])        if(ateam == CS_TEAM_CT && vteam == CS_TEAM_T)        if(weapon != CSW_KNIFE)        return HAM_SUPERCEDE        if(medziokl[attacker] && medziokl[victim])        if((ateam == CS_TEAM_T && vteam == CS_TEAM_CT) || (ateam == CS_TEAM_CT && vteam == CS_TEAM_T))        if(weapon != CSW_AWP)        return HAM_SUPERCEDE        return HAM_IGNORED}  

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: klausimas dėl include naudojimo

Post by aaarnas »

Tai visada galima kažką optimaliau sugalvoti. Pvz pasidarai kintamuosius cl_connected, cl_team ir juose žaidėjų informaciją atnaujini. Taip nereiks kaskart iškvietinėti funkcijų. Bet šitas metodas geriausiai tinka moduose arba dideliuose pluginuose.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: klausimas dėl include naudojimo

Post by aurimasko »

aaarnas wrote:Tai visada galima kažką optimaliau sugalvoti. Pvz pasidarai kintamuosius cl_connected, cl_team ir juose žaidėjų informaciją atnaujini. Taip nereiks kaskart iškvietinėti funkcijų. Bet šitas metodas geriausiai tinka moduose arba dideliuose pluginuose.
maždaug taip

Code: Select all

 new cl_teampublic player_spawn(id){cl_team = cs_get_user_team(id)} 

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: klausimas dėl include naudojimo

Post by aaarnas »

Code: Select all

 register_event("TeamInfo", "team_change", "a")public team_change() {        new id = read_data(1)    new team[15]    read_data(2, team, charsmax(team))    switch(team[0]) {        case 'T': p_team[id] = 1        case 'C': p_team[id] = 2    }}
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 1 guest