Sveiki atvyke į Counter Strike Godlike.lt - CS, CSS, GTA ir visa kita!. Spausk čia registruotis

[PAMOKA]Pasidarom savo shopą.

Čia tik Counter-Strike 1.6 Serverio Kūrimo Pamokos !!! Į ŠIA SKYLTI NEUŽDAVINĖJAME KLAUSIMŲ IR PNŠ! ČIA TIK PAMOKOS!

Moderatorius: Serverio kūrimo Komanda.

[PAMOKA]Pasidarom savo shopą.

Standartine Koderis » 06 Sau 2010, 20:56

    Dėmesio jai nemokate pakeisti paprašykite čia kad pakeisčiau.

    Šitoje pamokoje parodysiu kaip susikūrti savo norimą shopą.

    Kodas: Pasirinkti visus
         healthpotion = register_cvar("price_hp", "4000")
         speedpotion = register_cvar("price_sp", "4000")
         gravitypotion = register_cvar("price_gp", "4000")
         imortalitypotion = register_cvar("price_ip", "16000")

         //Special Shop Cost
         randomgun = register_cvar("price_gun", "16000")
         armor = register_cvar("price_armor", "4000")
         randomgrenade = register_cvar("price_grenade", "5000")


    Skaičiai reiškia kainas jai norite pakeiskite.

    Specialus shopas!

    Pradedame:

    1.Susikuriame tekstinį dokumentą.

    2.Įsijungiame jį.

    3.Ir pradedam

    Moduliai:

    Kodas: Pasirinkti visus
    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <fun>


    Defainai:

    Kodas: Pasirinkti visus
    #define PLUGIN "Pavadinimas"
    #define VERSION "Versija"
    #define AUTHOR "Autorius"


    New constai:

    Kodas: Pasirinkti visus
    new const gSpecialBuy[] = "Shop/Buy.wav"
    new const gPotionDrink[] = "Shop/PotionDrink.wav"
    new const gNoMoney[] = "Shop/NoMoney.wav"

    //Guns
    new const Grenades[][] = {
       "weapon_hegrenade",
       "weapon_flashbang",
       "weapon_smokegrenade"
    };

    new const Primary[][] = {
       "weapon_ak47",
       "weapon_m4a1",
       "weapon_m3",
       "weapon_xm1014",
       "weapon_mac10"
    };

    new const Secondary[][] = {
       "weapon_deagle",
       "weapon_usp",
       "weapon_glock18",
       "weapon_elite"
    };

    Variables:

    Kodas: Pasirinkti visus
    //Potion Shop
    new healthpotion
    new speedpotion
    new gravitypotion
    new imortalitypotion

    //Special Shop
    new randomgun
    new armor
    new randomgrenade

    //Other stuff
    new hp
    new sp
    new gp


    initas ir precache:


    Kodas: Pasirinkti visus
    public plugin_init()
    {
         register_plugin( PLUGIN, VERSION, AUTHOR );

               register_logevent( "round_start", 2, "1=Round_Start" );

         register_clcmd("say /shop", "Shop")
         register_clcmd("say_team /shop", "Shop")

       //Other stuff
       hp = register_cvar("amx_potion_health", "100");
       sp = register_cvar("amx_potion_speed", "100");
       gp = register_cvar("amx_potion_gravity", "0.6");
       
       //Potion Cost
         healthpotion = register_cvar("price_hp", "4000")
         speedpotion = register_cvar("price_sp", "4000")
         gravitypotion = register_cvar("price_gp", "4000")
       imortalitypotion = register_cvar("price_ip", "16000")

       //Special Shop Cost
       randomgun = register_cvar("price_gun", "16000")
       armor = register_cvar("price_armor", "4000")
       randomgrenade = register_cvar("price_grenade", "5000")

       //Dictionary
         register_dictionary("shop.txt");
    }

    public plugin_precache()
    {   
       precache_sound(gPotionDrink)
       precache_sound(gSpecialBuy)
       precache_sound(gNoMoney)
    }



    Ir dadedam toki

    Kodas: Pasirinkti visus
    public Shop(id)
    {
       new menu = menu_create("\yShop!", "menu_handler")
       
       menu_additem(menu, "Potion Shop", "1", 0)
       menu_additem(menu, "Special Shop", "2", 0)
       
       menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
       menu_display(id, menu, 0)
    }

    public menu_handler(id, menu, item)
    {
       if (item == MENU_EXIT)
       {
          menu_destroy(menu)
          return PLUGIN_HANDLED
       }
       
       new data[6], iName[64]
       new access, callback
       menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
       
       new key = str_to_num(data)
       
       switch(key)
       {
          case 1:
          {
                      new secmenu = menu_create("\wPotions:", "potmenu_handler")
                      menu_additem(secmenu, "\wHealth Potion", "1", 0)
                      menu_additem(secmenu, "\wSpeed Potion", "2", 0)
                      menu_additem(secmenu, "\wGravity Potion", "3", 0)
                      menu_additem(secmenu, "\wImortality Potion", "4", 0)

                      menu_setprop(secmenu, MPROP_EXIT, MEXIT_ALL)
                      menu_display(id, secmenu, 0)
                      return PLUGIN_HANDLED
          }

          case 2:
          {
                      new secmenu = menu_create("\wSpecial Shop:", "spemenu_handler")
                      menu_additem(secmenu, "\wRandom Gun", "1", 0)
                      menu_additem(secmenu, "\wArmor", "2", 0)
                      menu_additem(secmenu, "\wRandom Grenade", "3", 0) 

                      menu_setprop(secmenu, MPROP_EXIT, MEXIT_ALL)
                      menu_display(id, secmenu, 0)
                      return PLUGIN_HANDLED
          }
       }
       menu_destroy(menu)
       return PLUGIN_HANDLED;
    }

    public potmenu_handler(id, potmenu, item)
    {
        if (item == MENU_EXIT)
        {
            menu_destroy(potmenu)
            return PLUGIN_HANDLED
        }
         
        new data[6], iName[64]
        new access, callback
        menu_item_getinfo(potmenu, item, access, data, 5, iName, 63, callback)
        new key = str_to_num(data)
        switch(key)
        {
            case 1:
       {
             new Cost = get_pcvar_num(healthpotion);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED;
             }
             else
             {

                set_user_health(id, get_user_health(id) + get_pcvar_num(hp));
                client_print(id, print_chat, "%L", LANG_PLAYER, "HP", Cost);
                         client_cmd( 0, "spk %s", gPotionDrink);   
                
                Money -= Cost;
       
                cs_set_user_money(id, Money);
             }
       }

            case 2:
            {
          {
             new Cost = get_pcvar_num(speedpotion);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(sp));
                client_print(id, print_chat, "%L", LANG_PLAYER, "SP", Cost);
                         client_cmd( 0, "spk %s", gPotionDrink);
       
                Money -= Cost;
       
                cs_set_user_money(id, Money);
                
             }
          }
            }
            case 3:
       {
             new Cost = get_pcvar_num(gravitypotion);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                set_user_gravity(id, get_user_gravity(id) + get_pcvar_num(gp));
                client_print(id, print_chat, "%L", LANG_PLAYER, "GP", Cost);
                         client_cmd( 0, "spk %s", gPotionDrink);
       
                Money -= Cost;
       
                cs_set_user_money(id, Money);   
                
             }
       }
       case 4:
       {
             new Cost = get_pcvar_num(imortalitypotion);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                       set_hudmessage( 225, 225, 225, -1.0, 0.29, 1, 6.0, 12.0 );
                       show_hudmessage( 0, "Congratz! You are now imortal for 1 round!" );
                set_user_godmode(id, 1)
                client_print(id, print_chat, "%L", LANG_PLAYER, "IP", Cost);
                         client_cmd( 0, "spk %s", gPotionDrink);
       
                Money -= Cost;
       
                cs_set_user_money(id, Money);   
                
             }
       }
        }
        menu_destroy(potmenu)
        return PLUGIN_HANDLED
    }

    public spemenu_handler(id, spemenu, item)
    {
        if (item == MENU_EXIT)
        {
            menu_destroy(spemenu)
            return PLUGIN_HANDLED
        }
         
        new data[6], iName[64]
        new access, callback
        menu_item_getinfo(spemenu, item, access, data, 5, iName, 63, callback)
        new key = str_to_num(data)
        switch(key)
        {
            case 1:
       {
             new Cost = get_pcvar_num(randomgun);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED;
             }
             else
             {
                     strip_user_weapons(id)
                     give_item(id, Primary[random_num(0, sizeof Primary - 1)])
                     give_item(id, Secondary[random_num(0, sizeof Secondary - 1)])
                     give_item(id, "weapon_knife")
                client_print(id, print_chat, "%L", LANG_PLAYER, "RANDOM_GUN", Cost);
                         client_cmd( 0, "spk %s", gSpecialBuy);   
                
                Money -= Cost;
       
                cs_set_user_money(id, Money);
             }
       }

            case 2:
            {
          {
             new Cost = get_pcvar_num(armor);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                set_user_armor(id, 100)
                client_print(id, print_chat, "%L", LANG_PLAYER, "ARMOR", Cost);
                         client_cmd( 0, "spk %s", gSpecialBuy);
       
                Money -= Cost;
       
                cs_set_user_money(id, Money);
                
             }
          }
            }
            case 3:
       {
             new Cost = get_pcvar_num(randomgrenade);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                     give_item(id, Grenades[random_num(0, sizeof Grenades - 1)])
                client_print(id, print_chat, "%L", LANG_PLAYER, "RANDOM_GRENADE", Cost);
                         client_cmd( 0, "spk %s", gSpecialBuy);
                Money -= Cost;
       
                cs_set_user_money(id, Money);   
                
             }
       }
        }
        menu_destroy(spemenu)
        return PLUGIN_HANDLED
    }


    Pilnas Kodas:

    Kodas: Pasirinkti visus
    #include <amxmodx>
    #include <amxmisc>
    #include <cstrike>
    #include <fun>

    #define PLUGIN "Pavadinimas"
    #define VERSION "Versija"
    #define AUTHOR "Autorius"

    new const gSpecialBuy[] = "Shop/Buy.wav"
    new const gPotionDrink[] = "Shop/PotionDrink.wav"
    new const gNoMoney[] = "Shop/NoMoney.wav"


    //Guns
    new const Grenades[][] = {
       "weapon_hegrenade",
       "weapon_flashbang",
       "weapon_smokegrenade"
    };

    new const Primary[][] = {
       "weapon_ak47",
       "weapon_m4a1",
       "weapon_m3",
       "weapon_xm1014",
       "weapon_mac10"
    };

    new const Secondary[][] = {
       "weapon_deagle",
       "weapon_usp",
       "weapon_glock18",
       "weapon_elite"
    };


    //Potion Shop
    new healthpotion
    new speedpotion
    new gravitypotion
    new imortalitypotion

    //Special Shop
    new randomgun
    new armor
    new randomgrenade

    //Other stuff
    new hp
    new sp
    new gp

    public plugin_init()
    {
         register_plugin( PLUGIN, VERSION, AUTHOR );

               register_logevent( "round_start", 2, "1=Round_Start" );

         register_clcmd("say /shop", "Shop")
         register_clcmd("say_team /shop", "Shop")

       //Other stuff
       hp = register_cvar("amx_potion_health", "100");
       sp = register_cvar("amx_potion_speed", "100");
       gp = register_cvar("amx_potion_gravity", "0.6");
       
       //Potion Cost
         healthpotion = register_cvar("price_hp", "4000")
         speedpotion = register_cvar("price_sp", "4000")
         gravitypotion = register_cvar("price_gp", "4000")
       imortalitypotion = register_cvar("price_ip", "16000")

       //Special Shop Cost
       randomgun = register_cvar("price_gun", "16000")
       armor = register_cvar("price_armor", "4000")
       randomgrenade = register_cvar("price_grenade", "5000")

       //Dictionary
         register_dictionary("shop.txt");
    }

    public plugin_precache()
    {   
       precache_sound(gPotionDrink)
       precache_sound(gSpecialBuy)
       precache_sound(gNoMoney)
    }

    public Shop(id)
    {
       new menu = menu_create("\yShop!", "menu_handler")
       
       menu_additem(menu, "Potions Shop", "1", 0)
       menu_additem(menu, "Special Shop", "2", 0)
       
       menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
       menu_display(id, menu, 0)
    }

    public menu_handler(id, menu, item)
    {
       if (item == MENU_EXIT)
       {
          menu_destroy(menu)
          return PLUGIN_HANDLED
       }
       
       new data[6], iName[64]
       new access, callback
       menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
       
       new key = str_to_num(data)
       
       switch(key)
       {
          case 1:
          {
                      new secmenu = menu_create("\wPotions:", "potmenu_handler")
                      menu_additem(secmenu, "\wHealth Potion", "1", 0)
                      menu_additem(secmenu, "\wSpeed Potion", "2", 0)
                      menu_additem(secmenu, "\wGravity Potion", "3", 0)
                      menu_additem(secmenu, "\wImortality Potion", "4", 0)

                      menu_setprop(secmenu, MPROP_EXIT, MEXIT_ALL)
                      menu_display(id, secmenu, 0)
                      return PLUGIN_HANDLED
          }

          case 2:
          {
                      new secmenu = menu_create("\wSpecial Shop:", "spemenu_handler")
                      menu_additem(secmenu, "\wRandom Gun", "1", 0)
                      menu_additem(secmenu, "\wArmor", "2", 0)
                      menu_additem(secmenu, "\wRandom Grenade", "3", 0) 

                      menu_setprop(secmenu, MPROP_EXIT, MEXIT_ALL)
                      menu_display(id, secmenu, 0)
                      return PLUGIN_HANDLED
          }
       }
       menu_destroy(menu)
       return PLUGIN_HANDLED;
    }

    public potmenu_handler(id, potmenu, item)
    {
        if (item == MENU_EXIT)
        {
            menu_destroy(potmenu)
            return PLUGIN_HANDLED
        }
         
        new data[6], iName[64]
        new access, callback
        menu_item_getinfo(potmenu, item, access, data, 5, iName, 63, callback)
        new key = str_to_num(data)
        switch(key)
        {
            case 1:
       {
             new Cost = get_pcvar_num(healthpotion);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED;
             }
             else
             {

                set_user_health(id, get_user_health(id) + get_pcvar_num(hp));
                client_print(id, print_chat, "%L", LANG_PLAYER, "HP", Cost);
                         client_cmd( 0, "spk %s", gPotionDrink);   
                
                Money -= Cost;
       
                cs_set_user_money(id, Money);
             }
       }

            case 2:
            {
          {
             new Cost = get_pcvar_num(speedpotion);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(sp));
                client_print(id, print_chat, "%L", LANG_PLAYER, "SP", Cost);
                         client_cmd( 0, "spk %s", gPotionDrink);
       
                Money -= Cost;
       
                cs_set_user_money(id, Money);
                
             }
          }
            }
            case 3:
       {
             new Cost = get_pcvar_num(gravitypotion);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                set_user_gravity(id, get_user_gravity(id) + get_pcvar_num(gp));
                client_print(id, print_chat, "%L", LANG_PLAYER, "GP", Cost);
                         client_cmd( 0, "spk %s", gPotionDrink);
       
                Money -= Cost;
       
                cs_set_user_money(id, Money);   
                
             }
       }
       case 4:
       {
             new Cost = get_pcvar_num(imortalitypotion);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                       set_hudmessage( 225, 225, 225, -1.0, 0.29, 1, 6.0, 12.0 );
                       show_hudmessage( 0, "Congratz! You are now imortal for 1 round!" );
                set_user_godmode(id, 1)
                client_print(id, print_chat, "%L", LANG_PLAYER, "IP", Cost);
                         client_cmd( 0, "spk %s", gPotionDrink);
       
                Money -= Cost;
       
                cs_set_user_money(id, Money);   
                
             }
       }
        }
        menu_destroy(potmenu)
        return PLUGIN_HANDLED
    }

    public spemenu_handler(id, spemenu, item)
    {
        if (item == MENU_EXIT)
        {
            menu_destroy(spemenu)
            return PLUGIN_HANDLED
        }
         
        new data[6], iName[64]
        new access, callback
        menu_item_getinfo(spemenu, item, access, data, 5, iName, 63, callback)
        new key = str_to_num(data)
        switch(key)
        {
            case 1:
       {
             new Cost = get_pcvar_num(randomgun);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED;
             }
             else
             {
                     strip_user_weapons(id)
                     give_item(id, Primary[random_num(0, sizeof Primary - 1)])
                     give_item(id, Secondary[random_num(0, sizeof Secondary - 1)])
                     give_item(id, "weapon_knife")
                client_print(id, print_chat, "%L", LANG_PLAYER, "RANDOM_GUN", Cost);
                         client_cmd( 0, "spk %s", gSpecialBuy);   
                
                Money -= Cost;
       
                cs_set_user_money(id, Money);
             }
       }

            case 2:
            {
          {
             new Cost = get_pcvar_num(armor);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                set_user_armor(id, 100)
                client_print(id, print_chat, "%L", LANG_PLAYER, "ARMOR", Cost);
                         client_cmd( 0, "spk %s", gSpecialBuy);
       
                Money -= Cost;
       
                cs_set_user_money(id, Money);
                
             }
          }
            }
            case 3:
       {
             new Cost = get_pcvar_num(randomgrenade);
             new Money = cs_get_user_money(id);
             
             if (Money < Cost)
             {
                client_print(id, print_chat, "%L", LANG_PLAYER, "NO_MONEY", Cost);
                client_cmd( 0, "spk %s", gNoMoney);
                return PLUGIN_HANDLED
             }
             else
             {
                     give_item(id, Grenades[random_num(0, sizeof Grenades - 1)])
                client_print(id, print_chat, "%L", LANG_PLAYER, "RANDOM_GRENADE", Cost);
                         client_cmd( 0, "spk %s", gSpecialBuy);
                Money -= Cost;
       
                cs_set_user_money(id, Money);   
                
             }
       }
        }
        menu_destroy(spemenu)
        return PLUGIN_HANDLED
    }

Vartotojo avataras
Koderis
Apsilankantis
Apsilankantis
Statusas: Atsijungęs
Pranešimai: 270
Užsiregistravo:
24 Bir 2009, 17:15
Pinigai: 93.00
Reputacija: 20
Medaliai: 2
už 100 pranešimų (1) GFX (1)

Standartine Tomax » 06 Sau 2010, 21:24

Perkelta
Vartotojo avataras
Tomax
Vyr. Moderatorius
Vyr. Moderatorius
Statusas: Atsijungęs
Pranešimai: 3484
Užsiregistravo:
29 Bal 2009, 15:42
Miestas: Utena
Vardas: Tomas
Skype: tomax079
Steam ID: tomax079
Pinigai: 956.00
Reputacija: 172
Medaliai: 13
Vyr. Moderatorius (1) Medalių Moderatorius (1) už 100 pranešimų (1) už 300 pranešimų (1) už 500 pranešimų (1)
už 700 pranešimų (1) už 1000 pranešimų (1) už 1500 pranešimų (1) už 2000 pranešimų (1) už 3000 pranešimų (1)
Reputacija (1) Parama (1) Admino Numylėtinis (1)

Re: [PAMOKA]Pasidarom savo shopą.

Standartine fcuk » 26 Spa 2010, 20:16

O jeigu noriu sukurti tik granatų shopą ? ir gal žinai kaip padaryt , kad tą shopą atidarytų tada , kai įsijungia kažkoks veiksmas ?
fcuk
Naujokas (-ė)
Naujokas (-ė)
Statusas: Atsijungęs
Pranešimai: 2
Užsiregistravo:
20 Vas 2010, 20:44
Pinigai: 2.00
Reputacija: 0

Re: [PAMOKA]Pasidarom savo shopą.

Standartine Aur3kas » 30 Spa 2010, 07:49

Jai tik granatu tai pašalini ginklus ir tiek kiek supratau.
Naujokas? Žvilgtelk čia -> forumo-taisykles-t33.html
Paveikslelis
Vartotojo avataras
Aur3kas
Administratorius
Administratorius
Statusas: Atsijungęs
Pranešimai: 8415
Užsiregistravo:
09 Spa 2008, 10:10
Miestas: Panevėžys
Vardas: Aurimas
Skype: arsiaxz
Pinigai: 2,618.00
Reputacija: 149
Medaliai: 13
Administracija (1) Medalių Moderatorius (1) Apžvalgų Kūrėjas (1) už 100 pranešimų (1) už 300 pranešimų (1)
už 500 pranešimų (1) už 700 pranešimų (1) už 1000 pranešimų (1) už 1500 pranešimų (1) už 2000 pranešimų (1)
už 3000 pranešimų (1) už 5000 pranešimų (1) Reputacija (1)

Pakomentuoti per Facebook


Grižti i Serverio Kūrimo Pamokos

Dabar prisijunge

Vartotojai naršantys ši foruma: Registruotu vartotoju nera ir 0 sveciu