Jump to content
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
fabko

[CS:GO] Losowe menu na początku rundy

Recommended Posts

2 minuty temu, MAGNET napisał:

co to za losy? ;>

Taki mały systemik kluczy i skrzynek na serwerze

KYUtWNc.png

 

A tutaj po losowaniu:

kHpspQi.png

  • Wow! 1

Share this post


Link to post
Share on other sites

Zastanawiam się tylko nad tym faktem, że widziałem ten plugin wcześniej na podobnej stronie o tej tematyce a nagle pojawia się tutaj.

Spoiler

#include <sourcemod>
#include <cstrike>
#include <sdktools>
#include <sdkhooks>

public Plugin myinfo = 
{
    name = "Losowe menu gracza",
    author = "sourZ",
    description = "",
    version = "1.0",
    url = "koderZ.pl"
}

float freezeTime;

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_PlayerSpawn);
}

public Action Event_PlayerSpawn(Handle event, const char[] name, bool dontBroadcast)
{
    int userid = GetEventInt(event, "userid");
    int client = GetClientOfUserId(userid);

    Handle mp_freezetime = FindConVar("mp_freezetime");
     if (mp_freezetime != null) 
     { 
         freezeTime = GetConVarFloat(mp_freezetime); 
     }

     float sekundy = 1.0 + freezeTime;

     if((GetRandomInt(1, 3) == 1) && GetClientTeam(client) > 1)
     {
         PrintToChat(client, "★ \x07[Bonus] \x05Bonusowe menu pokaże się za kilka chwil!")
         CreateTimer(sekundy, WyswietlMenu, client);
     }
}

public Action WyswietlMenu(Handle timer, any client)
{
    if(IsValidClient(client))
    {
        MenuGracza(client, 0);
    }
}

public Action MenuGracza(int client, int args)
{
    Menu menu = new Menu(MenuH);
    menu.SetTitle("");
    menu.AddItem("1", "Dodatkowe 500 dolarów");
    menu.AddItem("2", "Dodatkowe 15 punktow zycia");
    menu.AddItem("3", "Dodatkowe 5%% szybkosci");
    if(IsPlayerVip(client))
    {
        menu.AddItem("4", "[VIP] Wybierz broń");
    }
    menu.ExitButton = false;
    menu.Display(client, 10);
}

public Action Bronie(int client)
{
    Menu menu = new Menu(BronieH);
    menu.SetTitle("Wybierz broń:");
    menu.AddItem("1", "AK-47");
    menu.AddItem("2", "M4A1");
    menu.AddItem("3", "M4A1-S");
    menu.ExitButton = false;
    menu.Display(client, 10);
}

public int MenuH(Menu menu, MenuAction action, int client, int pos)
{
    switch(action)
    {
        case MenuAction_Select:
        {
            char arg[2];
            menu.GetItem(pos, arg, sizeof(arg));
            int numArg = StringToInt(arg);
            switch(numArg)
            {
                case 1:
                {
                    int hajs = GetEntProp(client, Prop_Send, "m_iAccount");
                    SetEntProp(client, Prop_Send, "m_iAccount", hajs+500);
                }
                case 2:
                {
                    SetEntityHealth(client, GetClientHealth(client)+15);
                }
                case 3:
                {
                    SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", 1.05);
                }
                case 4:
                {
                    Bronie(client);
                }
            }
        }
    }
}

public int BronieH(Menu menu, MenuAction action, int client, int pos)
{
    switch(action)
    {
        case MenuAction_Select:
        {
            char arg[2];
            menu.GetItem(pos, arg, sizeof(arg));
            int numArg = StringToInt(arg);
            switch(numArg)
            {
                case 1:
                {
                    GivePlayerItem(client, "weapon_ak47");
                }
                case 2:
                {
                    GivePlayerItem(client, "weapon_m4a1");
                }
                case 3:
                {
                    GivePlayerItem(client, "weapon_m4a1_silencer");
                }
            }
        }
    }
}

stock bool IsValidClient(int client)
{
    if(client >= 1 && client <= MaxClients && IsClientInGame(client) && !IsFakeClient(client) && !IsClientSourceTV(client))
        return true;
    return false;
}

stock bool IsPlayerVip(int client)
{
    if(GetUserFlagBits(client) & ADMFLAG_CUSTOM1)
        return true;
    return false;
}

 

 

Jestem ciekaw kto od kogo zrzyna 1:1 i podaje się za autora ;) Zrozumiałbym jeszcze jakby kod był trochę inny ale aż w taki sposób?

Edited by int
  • Lubię to! 1

Share this post


Link to post
Share on other sites
11 minut temu, int napisał:

Zastanawiam się tylko nad tym faktem, że widziałem ten plugin wcześniej na podobnej stronie o tej tematyce a nagle pojawia się tutaj.

 
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Odkryj ukrytą treść

#include <sourcemod>
#include <cstrike>
#include <sdktools>
#include <sdkhooks>

public Plugin myinfo = 
{
    name = "Losowe menu gracza",
    author = "sourZ",
    description = "",
    version = "1.0",
    url = "koderZ.pl"
}

float freezeTime;

public void OnPluginStart()
{
    HookEvent("player_spawn", Event_PlayerSpawn);
}

public Action Event_PlayerSpawn(Handle event, const char[] name, bool dontBroadcast)
{
    int userid = GetEventInt(event, "userid");
    int client = GetClientOfUserId(userid);

    Handle mp_freezetime = FindConVar("mp_freezetime");
     if (mp_freezetime != null) 
     { 
         freezeTime = GetConVarFloat(mp_freezetime); 
     }

     float sekundy = 1.0 + freezeTime;

     if((GetRandomInt(1, 3) == 1) && GetClientTeam(client) > 1)
     {
         PrintToChat(client, "★ \x07[Bonus] \x05Bonusowe menu pokaże się za kilka chwil!")
         CreateTimer(sekundy, WyswietlMenu, client);
     }
}

public Action WyswietlMenu(Handle timer, any client)
{
    if(IsValidClient(client))
    {
        MenuGracza(client, 0);
    }
}

public Action MenuGracza(int client, int args)
{
    Menu menu = new Menu(MenuH);
    menu.SetTitle("");
    menu.AddItem("1", "Dodatkowe 500 dolarów");
    menu.AddItem("2", "Dodatkowe 15 punktow zycia");
    menu.AddItem("3", "Dodatkowe 5%% szybkosci");
    if(IsPlayerVip(client))
    {
        menu.AddItem("4", "[VIP] Wybierz broń");
    }
    menu.ExitButton = false;
    menu.Display(client, 10);
}

public Action Bronie(int client)
{
    Menu menu = new Menu(BronieH);
    menu.SetTitle("Wybierz broń:");
    menu.AddItem("1", "AK-47");
    menu.AddItem("2", "M4A1");
    menu.AddItem("3", "M4A1-S");
    menu.ExitButton = false;
    menu.Display(client, 10);
}

public int MenuH(Menu menu, MenuAction action, int client, int pos)
{
    switch(action)
    {
        case MenuAction_Select:
        {
            char arg[2];
            menu.GetItem(pos, arg, sizeof(arg));
            int numArg = StringToInt(arg);
            switch(numArg)
            {
                case 1:
                {
                    int hajs = GetEntProp(client, Prop_Send, "m_iAccount");
                    SetEntProp(client, Prop_Send, "m_iAccount", hajs+500);
                }
                case 2:
                {
                    SetEntityHealth(client, GetClientHealth(client)+15);
                }
                case 3:
                {
                    SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", 1.05);
                }
                case 4:
                {
                    Bronie(client);
                }
            }
        }
    }
}

public int BronieH(Menu menu, MenuAction action, int client, int pos)
{
    switch(action)
    {
        case MenuAction_Select:
        {
            char arg[2];
            menu.GetItem(pos, arg, sizeof(arg));
            int numArg = StringToInt(arg);
            switch(numArg)
            {
                case 1:
                {
                    GivePlayerItem(client, "weapon_ak47");
                }
                case 2:
                {
                    GivePlayerItem(client, "weapon_m4a1");
                }
                case 3:
                {
                    GivePlayerItem(client, "weapon_m4a1_silencer");
                }
            }
        }
    }
}

stock bool IsValidClient(int client)
{
    if(client >= 1 && client <= MaxClients && IsClientInGame(client) && !IsFakeClient(client) && !IsClientSourceTV(client))
        return true;
    return false;
}

stock bool IsPlayerVip(int client)
{
    if(GetUserFlagBits(client) & ADMFLAG_CUSTOM1)
        return true;
    return false;
}

 

 

Jestem ciekaw kto od kogo zrzyna 1:1 i podaje się za autora ? Zrozumiałbym jeszcze jakby kod był trochę inny ale aż w taki sposób?

To mój plugin, koderzów już nie ma, dlatego udostępniam go tutaj. 

http://prntscr.com/ksgjok
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

  • Lubię to! 1

Share this post


Link to post
Share on other sites

To, że nie ma to ja wiem, ale chodzi mi kto jest autorem. Skoro Ty go napisałeś, to dlaczego autorem tam był kto inny a tutaj kto inny?

Share this post


Link to post
Share on other sites
11 godzin temu, plx211 napisał:

@fabko skrzynki i klucze w gui to screen overlay czy cos innego?

overlay?

19 godzin temu, int napisał:

To, że nie ma to ja wiem, ale chodzi mi kto jest autorem. Skoro Ty go napisałeś, to dlaczego autorem tam był kto inny a tutaj kto inny?

To może taki dowód będzie dobry

http://prntscr.com/ksti96
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Edited by fabko
  • Lubię to! 2

Share this post


Link to post
Share on other sites
Dnia 3.09.2018 o 15:55, fabko napisał:

Taki mały systemik kluczy i skrzynek na serwerze

KYUtWNc.png

 

A tutaj po losowaniu:

kHpspQi.png

Czy to jest zawarte w pluginie z 1 posta?

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

Nasza historia

Na początku byliśmy małą grupą internetowych znajomych, którzy stwierdzili, że potrzebne jest solidne forum, na którym znajdą się ludzie z dużą wiedzą programistyczną ukierunkowaną na CS:GO. Pomysł powstał na początku 2018 roku, a parę miesięcy później, 19 kwietnia, powstała ta strona internetowa. Jako alternatywna odpowiedź na inne tego typu miejsca, poważnie podeszliśmy do tematu, najpierw tłumacząc angielską dokumentację SourceMod'a na język polski, a potem pisząc rozległe poradniki i wypełniając forum najpotrzebniejszymi rzeczami dla właścicieli serwerów i programistów. Cała nasza Ekipa jest dumna z pracy jaką w to włożyliśmy i cieszymy się że zbierają się wokół nas zarówno ludzie znający tematy sourcepawn'a i konfiguracji, jak i również nowe twarze w tym "biznesie", którym z chęcią niesiemy wiedzę oraz pomoc w rozwiązywaniu problemów.

Największe modyfikacje serwerowe

×
×
  • Create New...