Del vieno dalyko.

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
ahujel
Ar galit patikėti? Jis jau parašė 20 žinučių
Posts: 29
Joined: 2010 Sep 04 11:09
Skype: prolik3
Location: Panevėžys

Del vieno dalyko.

Post by ahujel »

Taigi su draugu sukurem plugina ,ten gali nusipirkti galingesni gun. Taigi reikia kad tas nusipirktas gun butu šešis roundus, mes nemokam padaryt. Taigi koks kodas tu roundu?
Ačių.

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

Re: Del vieno dalyko.

Post by aaarnas »

Tau tą pluginą perdaryti ar kodą kaip suskaičiuoti 6 round?
Palikau CS pasaulį ;/ . Nebepasiekiamas.

ahujel
Ar galit patikėti? Jis jau parašė 20 žinučių
Posts: 29
Joined: 2010 Sep 04 11:09
Skype: prolik3
Location: Panevėžys

Re: Del vieno dalyko.

Post by ahujel »

Na taip, kad tas nusipirktas gun butu tik 6 roundus, po 6 roundu jis dings. Kad butu aiškiau ta gun nusiperki iš sukurtos komandos ten "/gunshop" o ne iš kokio "Buy Menu"

-- 2010 Spa 31 21:17 --

Nu tai??

-- 2010 Lap 04 19:07 --

TAI PADES AR NE KASNORS?????

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: Del vieno dalyko.

Post by newb »

Raudai skaiciuojasi taip.

Code: Select all

#include <amxmodx>#include <amxmisc> new round public plugin_init() {    register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")} public round_start() {    round++ }
Bet manau tau kiekvienam atskirai reikia skaicuot, bet gal pats perdarysi.

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

Re: Del vieno dalyko.

Post by aaarnas »

Arba:

Code: Select all

 /* Plugin generated by AMXX-Studio */ #include <amxmodx>#include <amxmisc> #define PLUGIN "Plugin"#define VERSION "1.0"#define AUTHOR "aaarnas" new round public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)        register_event("HLTV", "event_round_start", "a", "1=0", "2=0")    register_event("TextMsg", "event_round_restart", "a", "2&#Game_w" )} public event_round_start() round++public event_round_restart() round = 0 
Šitas būdas geresnis, nes round prisumuojamas dar prieš visų žaidėjų spawn.

O sąlyga žaidėjui būtų tokia:

Code: Select all

 /* Plugin generated by AMXX-Studio */ #include <amxmodx>#include <amxmisc> #define PLUGIN "Plugin"#define VERSION "1.0"#define AUTHOR "aaarnas" new p_round[33] public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")    register_event("TextMsg", "event_round_restart", "a", "2&#Game_w" )} public event_round_start() {        round++    if(round-p_round[id] > 6) {                //Praėjo 6 raundai            }}    public event_round_restart() round = 0  public nupirko(id) {        p_round[id] = round    } 
Palikau CS pasaulį ;/ . Nebepasiekiamas.

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: Del vieno dalyko.

Post by newb »

Antrame kode +

Code: Select all

new round
o per

Code: Select all

public event_round_restart()
Manau dar reikia ir

Code: Select all

arrayset(p_round[id], 0, sizeof(p_round))
Nes jeigu nupirks per 20 raunda ginkla ir padarys restrata, tai sitas negreit bus true.

Code: Select all

round-p_round[id] > 6
Nu ir aisko event_round_restart su ciklu bus.
Last edited by newb on 2010 Nov 05 23:25, edited 1 time in total.

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

Re: Del vieno dalyko.

Post by aaarnas »

Teisingai, bet pagal viską round restart turėtų atimti tą ginklą. O tada jau nebesvarbu kas nustatyta p_round, nes nuperkant į jį bus nustatyta reikšmė :]

Na čia toliau viskas priklauso nuo plugino ir kodo pritaikymo.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

ahujel
Ar galit patikėti? Jis jau parašė 20 žinučių
Posts: 29
Joined: 2010 Sep 04 11:09
Skype: prolik3
Location: Panevėžys

Re: Del vieno dalyko.

Post by ahujel »

Ehh.... Ačiu. Štai visas kodas plugino:

Code: Select all

#include <amxmodx> #define Plugin  "GX Shop"#define Author  "xFrostas"#define Version "1.0" new bool: LanguageLT[33]new bool: LanguageEN[33] new PlayerXP[33] public plugin_init(){    register_plugin(Plugin, Version, Author)     register_event("DeathMsg", "Event_DeathMsg", "a")     register_menucmd(register_menuid("Main_GxShop_Menu"), 1023, "GxShop_Menu")} public client_putinserver(id){    LanguageEN[33] == true    LanguageLT[33] == false} public Event_DeathMsg(){    new attacker = read_data(1)    new victim = read_data(2)     if (attacker != victim)    {        new XP = 50                 set_hudmessage(0, 255, 0, -1.0, 0.3, 1, 2.0, 2.0)            ShowSyncHudMsg(attacker, g_msgHudSyncX, "+%i XP For Killing!", XP)             PlayerXP[attacker] += XP    }}  public Main_GxShop_Menu(id){    if (LanguageEN[id] == true)    {        new szMenuBody[512]        new len = format(szMenuBody, 511, "GX Shop^n")        len += format(szMenuBody[len], 511-len, "^n1. HE Grenade (50xp) For 2 rounds")        len += format(szMenuBody[len], 511-len, "^n2. Deagle GX (950xp) For 6 rounds")        len += format(szMenuBody[len], 511-len, "^n3. Ak X (1850xp) For 6 rounds")        len += format(szMenuBody[len], 511-len, "^n4. Mk X (2500xp) For 6 rounds")        len += format(szMenuBody[len], 511-len, "^n^n9. Change Language")        len += format(szMenuBody[len], 511-len, "^n0. Back To Game")         new keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<8|1<<9)        show_menu(id, keys, szMenuBody, -1, "Main_GxShop_Menu")    }    if (LanguageLT[id] == true)    {        new szMenuBody[512]        new len = format(szMenuBody, 511, "GX Parduotuve^n")        len += format(szMenuBody[len], 511-len, "^n1. HE Granata (50xp) 2 raundams")        len += format(szMenuBody[len], 511-len, "^n2. Deagle X (950xp) 6 raundams")        len += format(szMenuBody[len], 511-len, "^n3. Ak X (1850xp) 6 raundams")        len += format(szMenuBody[len], 511-len, "^n4. Mk X (2500xp) 6 raundams")        len += format(szMenuBody[len], 511-len, "^n^n9. Pakeisti Kalba")        len += format(szMenuBody[len], 511-len, "^n0. Gryzti I Zaidima")         new keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<8|1<<9)        show_menu(id, keys, szMenuBody, -1, "Main_GxShop_Menu")    }}public GxShop_Menu(id, key){    new XP = PlayerXP[id]        grenade_cost = 50    deagle_cost = 950    ak47_cost = 1850    m4a1_cost = 2500     switch(key)    {        case 1:        {            if (XP < grenade_cost)            {                client_print(id, print_center, "You need %di XP to buy it", grenade_cost)            }            else            {                fm_give_item(id, "weapon_hegrenade")            }        }        case 2:        {            if (XP < deagle_cost)            {                client_print(id, print_center, "You need %di XP to buy it", deagle_cost)            }            else            {                fm_give_item(id, "weapon_deagle")                fm_set_user_bpammo(id, CSW_DEAGLE, 35)            }        }        case 3:        {            if (XP < ak47_cost)            {                client_print(id, print_center, "You need %di XP to buy it", ak47_cost)            }            else            {                fm_give_item(id, "weapon_ak47")                fm_set_user_bpammo(id, CSW_AK47, 90)            }        }        case 4:        {            if (XP < m4a1_cost)            {                client_print(id, print_center, "You need %di XP to buy it", m4a1_cost)            }            else            {                fm_give_item(id, "weapon_m4a1")                fm_set_user_bpammo(id, CSW_M4A1, 90)            }        }        case 9:        {            Main_Languages_Menu(id)        }    }    return PLUGIN_HANDLED} public Main_Languages_Menu(id){    new szMenuBody[512]    new len = format(szMenuBody, 511, "Choose Language/Pasirink Kalba^n")    len += format(szMenuBody[len], 511-len, "^n1. English/Anglu")    len += format(szMenuBody[len], 511-len, "^n2. Lithuania/Lietuviu")    len += format(szMenuBody[len], 511-len, "^n0. Back/Atgal")     new keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<8|1<<9)    show_menu(id, keys, szMenuBody, -1, "Main_Languages_Menu")}public Languages_Menu(id, key){    switch(key)    {        case 1:        {            print_color(id, "Your language change to English.")            LanguageEN[id] = true        }        case 2:        {            print_color(id, "Tavo kalba pakeista i Lietuviu.")            LanguageLT[id] = true        }    }    return PLUGIN_HANDLED} stock print_color(const id, const input[], any:...){    new msg[191], players[32], count = 1;    vformat(msg,190,input,3);    replace_all(msg,190,"/g","^4");// green clr    replace_all(msg,190,"/y","^1");// orange clr    replace_all(msg,190,"/ctr","^3");// team clr    if (id) players[0] = id; else get_players(players,count,"ch");    for (new i=0;i<count;i++)        if (is_user_connected(players[i]))        {            message_begin(MSG_ONE_UNRELIABLE, 76, _, players[i]);            write_byte(players[i]);            write_string(msg);            message_end();        }} stock fm_give_item(index, const item[]){    if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))        return 0     new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item))    if (!pev_valid(ent))        return 0     new Float:origin[3]    pev(index, pev_origin, origin)    set_pev(ent, pev_origin, origin)    set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)    dllfunc(DLLFunc_Spawn, ent)     new save = pev(ent, pev_solid)    dllfunc(DLLFunc_Touch, ent, index)    if (pev(ent, pev_solid) != save)        return ent     engfunc(EngFunc_RemoveEntity, ent)     return -1} stock fm_set_user_bpammo(id, iWeapon, iAmount) {     new iOffset;     switch(iWeapon)     {         case CSW_AWP: iOffset = 377;         case CSW_SCOUT, CSW_AK47, CSW_G3SG1: iOffset = 378;         case CSW_M249: iOffset = 379;         case CSW_FAMAS, CSW_M4A1, CSW_AUG, CSW_SG550, CSW_GALI, CSW_SG552: iOffset = 380;         case CSW_M3, CSW_XM1014: iOffset = 381;         case CSW_USP, CSW_UMP45, CSW_MAC10: iOffset = 382;         case CSW_FIVESEVEN, CSW_P90: iOffset = 383;         case CSW_DEAGLE: iOffset = 384;         case CSW_P228: iOffset = 385;         case CSW_GLOCK18, CSW_MP5NAVY, CSW_TMP, CSW_ELITE: iOffset = 386;         case CSW_FLASHBANG: iOffset = 387;         case CSW_HEGRENADE: iOffset = 388;         case CSW_SMOKEGRENADE: iOffset = 389;         case CSW_C4: iOffset = 390;         default:return;     }     set_pdata_int(id, iOffset, iAmount); }
Padarykite su roundais. Ir manau čia yra keliatas klaideliu, jei galite ištaisykite jas. Ačiu dar karta. :S: :S:

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

Re: Del vieno dalyko.

Post by aaarnas »

Code: Select all

 #include <amxmodx>#include <fakemeta> #define Plugin  "GX Shop"#define Author  "xFrostas"#define Version "1.0" new bool: LanguageLT[33]new bool: LanguageEN[33] new PlayerXP[33]new g_msgHudSyncX public plugin_init(){    register_plugin(Plugin, Version, Author)        register_event("DeathMsg", "Event_DeathMsg", "a")        register_menucmd(register_menuid("Main_GxShop_Menu"), 1023, "GxShop_Menu")        g_msgHudSyncX = CreateHudSyncObj()} public client_putinserver(id){    LanguageEN[id] = true    LanguageLT[id] = false} public Event_DeathMsg(){    new attacker = read_data(1)    new victim = read_data(2)        const XP = 50         if (attacker != victim)    {           set_hudmessage(0, 255, 0, -1.0, 0.3, 1, 2.0, 2.0)        ShowSyncHudMsg(attacker, g_msgHudSyncX, "+%i XP For Killing!", XP)                PlayerXP[attacker] += XP    }}  public Main_GxShop_Menu(id){    if (LanguageEN[id] == true)    {        new szMenuBody[512]        new len = format(szMenuBody, 511, "GX Shop^n")        len += format(szMenuBody[len], 511-len, "^n1. HE Grenade (50xp) For 2 rounds")        len += format(szMenuBody[len], 511-len, "^n2. Deagle GX (950xp) For 6 rounds")        len += format(szMenuBody[len], 511-len, "^n3. Ak X (1850xp) For 6 rounds")        len += format(szMenuBody[len], 511-len, "^n4. Mk X (2500xp) For 6 rounds")        len += format(szMenuBody[len], 511-len, "^n^n9. Change Language")        len += format(szMenuBody[len], 511-len, "^n0. Back To Game")                new keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<8|1<<9)        show_menu(id, keys, szMenuBody, -1, "Main_GxShop_Menu")    }    if (LanguageLT[id] == true)    {        new szMenuBody[512]        new len = format(szMenuBody, 511, "GX Parduotuve^n")        len += format(szMenuBody[len], 511-len, "^n1. HE Granata (50xp) 2 raundams")        len += format(szMenuBody[len], 511-len, "^n2. Deagle X (950xp) 6 raundams")        len += format(szMenuBody[len], 511-len, "^n3. Ak X (1850xp) 6 raundams")        len += format(szMenuBody[len], 511-len, "^n4. Mk X (2500xp) 6 raundams")        len += format(szMenuBody[len], 511-len, "^n^n9. Pakeisti Kalba")        len += format(szMenuBody[len], 511-len, "^n0. Gryzti I Zaidima")                new keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<8|1<<9)        show_menu(id, keys, szMenuBody, -1, "Main_GxShop_Menu")    }}public GxShop_Menu(id, key){    new XP = PlayerXP[id]        const grenade_cost = 50    const deagle_cost = 950    const ak47_cost = 1850    const m4a1_cost = 2500        switch(key)    {        case 1:        {            if (XP < grenade_cost)            {                client_print(id, print_center, "You need %di XP to buy it", grenade_cost)            }            else            {                fm_give_item(id, "weapon_hegrenade")            }        }        case 2:        {            if (XP < deagle_cost)            {                client_print(id, print_center, "You need %di XP to buy it", deagle_cost)            }            else            {                fm_give_item(id, "weapon_deagle")                fm_set_user_bpammo(id, CSW_DEAGLE, 35)            }        }        case 3:        {            if (XP < ak47_cost)            {                client_print(id, print_center, "You need %di XP to buy it", ak47_cost)            }            else            {                fm_give_item(id, "weapon_ak47")                fm_set_user_bpammo(id, CSW_AK47, 90)            }        }        case 4:        {            if (XP < m4a1_cost)            {                client_print(id, print_center, "You need %di XP to buy it", m4a1_cost)            }            else            {                fm_give_item(id, "weapon_m4a1")                fm_set_user_bpammo(id, CSW_M4A1, 90)            }        }        case 9:        {            Main_Languages_Menu(id)        }    }    return PLUGIN_HANDLED} public Main_Languages_Menu(id){    new szMenuBody[512]    new len = format(szMenuBody, 511, "Choose Language/Pasirink Kalba^n")    len += format(szMenuBody[len], 511-len, "^n1. English/Anglu")    len += format(szMenuBody[len], 511-len, "^n2. Lithuania/Lietuviu")    len += format(szMenuBody[len], 511-len, "^n0. Back/Atgal")        new keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<8|1<<9)    show_menu(id, keys, szMenuBody, -1, "Main_Languages_Menu")}public Languages_Menu(id, key){    switch(key)    {        case 1:        {            print_color(id, "Your language change to English.")            LanguageEN[id] = true        }        case 2:        {            print_color(id, "Tavo kalba pakeista i Lietuviu.")            LanguageLT[id] = true        }    }    return PLUGIN_HANDLED} stock print_color(const id, const input[], any:...){    new msg[191], players[32], count = 1;    vformat(msg,190,input,3);    replace_all(msg,190,"/g","^4");// green clr    replace_all(msg,190,"/y","^1");// orange clr    replace_all(msg,190,"/ctr","^3");// team clr    if (id) players[0] = id; else get_players(players,count,"ch");    for (new i=0;i<count;i++)        if (is_user_connected(players[i]))    {        message_begin(MSG_ONE_UNRELIABLE, 76, _, players[i]);        write_byte(players[i]);        write_string(msg);        message_end();    }} stock fm_give_item(index, const item[]){    if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))        return 0        new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item))    if (!pev_valid(ent))        return 0        new Float:origin[3]    pev(index, pev_origin, origin)    set_pev(ent, pev_origin, origin)    set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)    dllfunc(DLLFunc_Spawn, ent)        new save = pev(ent, pev_solid)    dllfunc(DLLFunc_Touch, ent, index)    if (pev(ent, pev_solid) != save)        return ent        engfunc(EngFunc_RemoveEntity, ent)        return -1} stock fm_set_user_bpammo(id, iWeapon, iAmount) {     new iOffset;     switch(iWeapon)     {         case CSW_AWP: iOffset = 377;             case CSW_SCOUT, CSW_AK47, CSW_G3SG1: iOffset = 378;             case CSW_M249: iOffset = 379;             case CSW_FAMAS, CSW_M4A1, CSW_AUG, CSW_SG550, CSW_GALI, CSW_SG552: iOffset = 380;             case CSW_M3, CSW_XM1014: iOffset = 381;             case CSW_USP, CSW_UMP45, CSW_MAC10: iOffset = 382;             case CSW_FIVESEVEN, CSW_P90: iOffset = 383;             case CSW_DEAGLE: iOffset = 384;             case CSW_P228: iOffset = 385;             case CSW_GLOCK18, CSW_MP5NAVY, CSW_TMP, CSW_ELITE: iOffset = 386;             case CSW_FLASHBANG: iOffset = 387;             case CSW_HEGRENADE: iOffset = 388;             case CSW_SMOKEGRENADE: iOffset = 389;             case CSW_C4: iOffset = 390;             default:return;     }     set_pdata_int(id, iOffset, iAmount); } 
Klaidas pataisiau. Tai, kad čia tik duoda ginklus. Kur visi kiti dalykai? Turi būti taip, kad nusipirkus gun jis jam būtų visada, ir mirus ir kitą raundą, bet šitaip tik 4 raundus. Jei taip tai čia daug dar kas nepadaryta.
Beje nėra ir meniu iškvietimo.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

ahujel
Ar galit patikėti? Jis jau parašė 20 žinučių
Posts: 29
Joined: 2010 Sep 04 11:09
Skype: prolik3
Location: Panevėžys

Re: Del vieno dalyko.

Post by ahujel »

Omg... xFrostas apgavo. Žodžiu, jei nesunku padaryk kad daugiau dmg darytu ginklai. Ir nusiperkant pasikeistu ginklu skinai. (SKINUS TURIU) tiesiog padaryk ir nurodyk kur jie turi buti ikelti. Ir padaryk "meniu iškvietima" kaip rašiai ten ar ko dar ten reikia.

More damage turi but kaip rašoma čia:
Gavai Deagle GX kuri daro 2x daugiau zalos negu paprastai. + Gavai free armor 6 raundams.
Gavai Ak GX kuri daro 2x daugiau zalos negu paprastai. + Gavai free armor ir HE granata 6 raundams.
Gavai Mk GX daro 3x daugiau zalos negu paprastai. + Gavai free armor ir FB,HE granatas 6 roundams.

:(

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests