Kodo patvarkymas ir didinimas

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
Keistas
Jau po truputį tampa savu
Posts: 144
Joined: 2011 Feb 23 19:44
Skype: mindzekas.nu

Kodo patvarkymas ir didinimas

Post by Keistas »

Sveiki.

Norėčiau jūsų paprašyti pagalbos nebūkit abejingi. Pradedam.

1. Turiu plugina jis vadinasi: zp_level_system_xp3.2 ir logose rodo errora ir man reiktu ji ištaisyti kas nusimano padėkit. Logose tokios klaidas meta ir tokiose eilutėse:

L 09/11/2011 - 11:27:01: [AMXX] Displaying debug trace (plugin "zp_level_system_xp3.2.amxx")
L 09/11/2011 - 11:27:01: [AMXX] Run time error 10: native error (native "zp_get_user_zombie")
L 09/11/2011 - 11:27:01: [AMXX] [0] zp_level_system_xp3.2.sma::fw_TakeDamage (line 317)
L 09/11/2011 - 11:27:12: [ZP] Invalid Player (0)
L 09/11/2011 - 11:27:12: [AMXX] Displaying debug trace (plugin "zp_level_system_xp3.2.amxx")
L 09/11/2011 - 11:27:12: [AMXX] Run time error 10: native error (native "zp_get_user_zombie")
L 09/11/2011 - 11:27:12: [AMXX] [0] zp_level_system_xp3.2.sma::zp_user_infected_pre (line 363)

L 09/11/2011 - 11:27:21: [ZP] Invalid Player (0)
L 09/11/2011 - 11:34:01: [AMXX] Displaying debug trace (plugin "zp_level_system_xp3.2.amxx")
L 09/11/2011 - 11:34:01: [AMXX] Run time error 4: index out of bounds
L 09/11/2011 - 11:34:01: [AMXX] [0] zp_level_system_xp3.2.sma::zp_round_ended (line 565)
L 09/11/2011 - 11:34:16: [ZP] Invalid Player (0)
Šitų eilučių kodai:

Code: Select all

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits){    if ( !zp_get_user_zombie(attacker) && is_user_alive(attacker) ) // 317 - eilutė    SetHamParamFloat(4, damage + h_damage[attacker])    else    {        if ( zp_get_user_zombie(attacker) && is_user_alive(attacker) && !zp_get_user_nemesis(attacker))        SetHamParamFloat(4, damage + z_damage[attacker]);    }}

Code: Select all

public zp_user_infected_pre(id, infector){    if( is_user_alive(infector) && (level_exp[infector] < (g_level_exp[infector] - 1)) && zp_get_user_zombie(infector))    {        level_exp[infector] = level_exp[infector] + 1;        Level_Save(infector);    }    else    if (zp_get_user_zombie(infector)) // 363-eilutė        ChatColor(infector, "!g[ZP] !y Killed Zombie")}

Code: Select all

public zp_round_ended(winteam){    for(new id=1;id<=g_Players;id++)    g_trime[id] = true; // 565-eilutė}

Jei dar kokio kodo reikia, rašykit. Tik prašau atkreipkit dėmėsi, ačiū iš anksto.


2. Ar galima šitam plugine padidint vieno teksto dydi.

Code: Select all

public level_status(id){    if( is_user_alive(id))    {        switch( get_pcvar_num(g_hud_color) )             {                     case 1:                     {             set_hudmessage(255, 200, 3, 0.74, 0.84, 0, 1.0, 1.1, 0.0, 0.0, -1) // Man reikia šitoj vietoj kaip nors padidinti raidžių dydi.             show_hudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id], g_level_exp[id])                    }                     case 2:             {            static r, g, b; r = random_num(10, 200), g = random_num(0, 200), b = random_num(0, 200);            set_hudmessage(r, g, b, 0.02, 0.87, 0, 1.0, 1.1, 0.0, 0.0, -1)            show_hudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id], g_level_exp[id])            }                    case 3:             {                        set_hudmessage(red, green, blue, 0.02, 0.87, 0, 1.0, 1.1, 0.0, 0.0, -1)            show_hudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id], g_level_exp[id])            }        }    }}

User avatar
beast
AMX Mod X ekspertai
Posts: 509
Joined: 2011 Jan 08 18:44
Skype: thefurious4
Contact:

Re: Kodo patvarkymas ir didinimas

Post by beast »

Keistas wrote:nebūkit abejingi. Pradedam.
LOL,

pradėk nuo savęs http://www.amxmodx.lt/viewtopic.php?f=15&t=772 (čia dėl 1. punkto...)

2. Ne.
Last edited by beast on 2011 Sep 10 11:43, edited 1 time in total.

addinol
Jau po truputį tampa savu
Posts: 144
Joined: 2010 Sep 05 15:20
Skype: kasparas94

Re: Kodo patvarkymas ir didinimas

Post by addinol »

2. TAIP ! - Naudokis paiešką. Direct hud messages

Keistas
Jau po truputį tampa savu
Posts: 144
Joined: 2011 Feb 23 19:44
Skype: mindzekas.nu

Re: Kodo patvarkymas ir didinimas

Post by Keistas »

Man reikia iterpti čia:

Code: Select all

    public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)    {        if ( !zp_get_user_zombie(attacker) && is_user_alive(attacker) ) // 317 - eilutė        SetHamParamFloat(4, damage + h_damage[attacker])        else        {            if ( zp_get_user_zombie(attacker) && is_user_alive(attacker) && !zp_get_user_nemesis(attacker))            SetHamParamFloat(4, damage + z_damage[attacker]);        }    }

Code: Select all

if(is_user_connected(id) && is_user_alive(id)){


Bet kai iterpiu meta 9-10 eroru, ka man daryti?

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Kodo patvarkymas ir didinimas

Post by hleV »

Pluginas nesupranta, kas tas id, nes funkcijoje yra tik victim, inflictor ir attacker. Šiaip ar taip:

Code: Select all

if ( !zp_get_user_zombie(attacker) && is_user_alive(attacker) )
Sukeisk !zp_get_user_zombie(attacker) ir is_user_alive(attacker) vietomis. Pirma reikia patikrinti ar žaidėjas gyvas, o tik tada ar jis zombis.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

Keistas
Jau po truputį tampa savu
Posts: 144
Joined: 2011 Feb 23 19:44
Skype: mindzekas.nu

Re: Kodo patvarkymas ir didinimas

Post by Keistas »

hleV wrote:Pluginas nesupranta, kas tas id, nes funkcijoje yra tik victim, inflictor ir attacker. Šiaip ar taip:

Code: Select all

if ( !zp_get_user_zombie(attacker) && is_user_alive(attacker) )
Sukeisk !zp_get_user_zombie(attacker) ir is_user_alive(attacker) vietomis. Pirma reikia patikrinti ar žaidėjas gyvas, o tik tada ar jis zombis.

Padariau kaip sakiai, bet:

Code: Select all

public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits){    if ( is_user_alive(attacker) && ( !zp_get_user_zombie(attacker) )    SetHamParamFloat(4, damage + h_damage[attacker]) // Šitoj eilutėj meta klaida, neleidžia sukomplinti     else    {        if ( zp_get_user_zombie(attacker) && is_user_alive(attacker) && !zp_get_user_nemesis(attacker))        SetHamParamFloat(4, damage + z_damage[attacker]);    }}
Expected token: ">", but found "-identifier-

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Kodo patvarkymas ir didinimas

Post by hleV »

Tavo kodas labai neoptimalus, tad perrašiau visą funkciją.

Code: Select all

public fw_TakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage){    if (!is_user_alive(iAttacker))        return HAM_IGNORED;     if (!zp_get_user_zombie(iAttacker))    {        SetHamParamFloat(4, fDamage + h_damage[iAttacker]);         return HAM_HANDLED;    }     if (!zp_get_user_nemesis(iAttacker))    {        SetHamParamFloat(4, fDamage + z_damage[iAttacker]);         return HAM_HANDLED;    }     return HAM_IGNORED;}
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

Keistas
Jau po truputį tampa savu
Posts: 144
Joined: 2011 Feb 23 19:44
Skype: mindzekas.nu

Re: Kodo patvarkymas ir didinimas

Post by Keistas »

Ačiū, hlev. Gal žinai?

2. Ar galima šitam plugine padidint vieno teksto dydi.

Code: Select all

public level_status(id){    if( is_user_alive(id))    {        switch( get_pcvar_num(g_hud_color) )             {                     case 1:                     {             set_hudmessage(255, 200, 3, 0.74, 0.84, 0, 1.0, 1.1, 0.0, 0.0, -1) // Man reikia šitoj vietoj kaip nors padidinti raidžių dydi.             show_hudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id], g_level_exp[id])                    }                     case 2:             {            static r, g, b; r = random_num(10, 200), g = random_num(0, 200), b = random_num(0, 200);            set_hudmessage(r, g, b, 0.02, 0.87, 0, 1.0, 1.1, 0.0, 0.0, -1)            show_hudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id], g_level_exp[id])            }                    case 3:             {                        set_hudmessage(red, green, blue, 0.02, 0.87, 0, 1.0, 1.1, 0.0, 0.0, -1)            show_hudmessage(id,"%L", LANG_PLAYER, "LEVEL_STATUS", g_level[id], level_exp[id], g_level_exp[id])            }        }    }}

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: Kodo patvarkymas ir didinimas

Post by hleV »

Šrifto dydžio keist negalima. Jei reikia didesnių raidžių, naudok DHUD žinutes (paieškok AlliedModuose).
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests