Skocz do zawartości
konkol01

Szukam

Rekomendowane odpowiedzi

Jeżeli interesuje Cię ruletka pod kredyty zapraszam na pw. Mam jedną na sprzedaż.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Spoiler

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

bool IsClientInRoulette[MAXPLAYERS + 1] = {false, ...};
int win = 0;
int ClientMoneyInRoulette[MAXPLAYERS + 1] = {0, ...};
int ClientColorBet[MAXPLAYERS + 1] = {0, ...};
int RedPull = 0;
int RouletteWinner = 0;
int BluePull = 0;
int GreenPull = 0;
int RouletteTime = 30;
int RouletteCooldown = 0;
bool IsRouletteStarted = false;

public OnPluginStart()
{
    RegConsoleCmd("sm_ruletka", OnRouletteStart);
    RegConsoleCmd("sm_roulette", OnRouletteStart);
    RegConsoleCmd("sm_r", OnRouletteStart);
    RegConsoleCmd("sm_ruleta", OnRouletteStart);
    RegConsoleCmd("sm_red", OnClientBetRed);
    RegConsoleCmd("sm_czerwone", OnClientBetRed);
    RegConsoleCmd("sm_czerw", OnClientBetRed);
    RegConsoleCmd("sm_czerwony", OnClientBetRed);
    RegConsoleCmd("sm_blue", OnClientBetBlue);
    RegConsoleCmd("sm_niebieskie", OnClientBetBlue);
    RegConsoleCmd("sm_niebieski", OnClientBetBlue);
    RegConsoleCmd("sm_nieb", OnClientBetBlue);
    RegConsoleCmd("sm_green", OnClientBetGreen);
    RegConsoleCmd("sm_zielone", OnClientBetGreen);
    RegConsoleCmd("sm_zielony", OnClientBetGreen);
    RegConsoleCmd("sm_ziel", OnClientBetGreen);
}

public Action ShowHud(Handle timer)
{
    for (int i = 1;i <= MaxClients; i++)
    {
        SetHudTextParams(0.66, 0.06, 1.0, 230, 50, 50, 140);
        ShowHudText(i, -1, "[RULETKA] Czerwone [2x] [%d$]", RedPull);
        SetHudTextParams(0.66, 0.10, 1.0, 50, 50, 230, 140);
        ShowHudText(i, -1, "[RULETKA] Niebieskie [3x] [%d$]", BluePull);
        SetHudTextParams(0.66, 0.14, 1.0, 50, 230, 50, 140);
        ShowHudText(i, -1, "[RULETKA] Zielone [14x] [%d$]", GreenPull);
        SetHudTextParams(0.66, 0.18, 1.0, 200, 50, 200, 140);
        ShowHudText(i, -1, "[RULETKA] Pozostało [%ds]", RouletteTime);
        if (RouletteTime <= 1)
        {
            KillTimer(timer);
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}
 
public Action OnRouletteStart(int client, int args)
{
    if (!IsRouletteStarted)
    {
        if (RouletteCooldown > 0)
        {
            PrintToChat(client, " \x10[RULETKA]\x01 Ruletka będzie dostępna za \x10%d\x01 sekund!", RouletteCooldown);
            return Plugin_Handled;
        }
        IsRouletteStarted = true;
        PrintToChatAll(" \x10**********************************************************************************************\x01");
        PrintToChatAll(" ");
        PrintToChatAll(" \x10[RULETKA]\x01 RULETKA WŁASNIE WYSTARTOWAŁA!");
        PrintToChatAll(" \x10[RULETKA]\x01 Wpisz \x0F!red <ilosc>\x01 aby obstawić na \x0FCZERWONY [x2]\x01 kolor.");
        PrintToChatAll(" \x10[RULETKA]\x01 Wpisz \x0B!blue <ilosc>\x01 aby obstawić na \x0BNIEBIESKI [x3]\x01 kolor.");
        PrintToChatAll(" \x10[RULETKA]\x01 Wpisz \x04!green <ilosc>\x01 aby obstawić na \x04ZIELONY [x14]\x01 kolor.");
        PrintToChatAll(" ");
        PrintToChatAll(" \x10**********************************************************************************************\x01");
        CreateTimer(1.0, TimerStart, _, TIMER_REPEAT);
        CreateTimer(1.0, ShowHud, _, TIMER_REPEAT);
    }
    else
    {
        PrintToChat(client, " \x10[RULETKA]\x01 Ruletka trwa!");
        return Plugin_Handled;
    }
    return Plugin_Continue;
}
 
public Action RouletteCooldownTimer(Handle timer)
{
    RouletteCooldown--;
    if (RouletteCooldown <= 0)
    {
        KillTimer(timer);
    }
    return Plugin_Continue;
}
 
public Action TimerStart(Handle timer)
{
    RouletteTime--;
    if (RouletteTime <= 0)
    {
        RouletteTime = 0;
        OnRouletteEnd();
        KillTimer(timer);
        return Plugin_Handled;
    }
    return Plugin_Continue;
}
 
void AddClientCredits(int client, int money)
{
    Store_SetClientCredits(client, Store_GetClientCredits(client) + money);
}
 
void SubClientCredits(int client, int money)
{
    Store_SetClientCredits(client, Store_GetClientCredits(client) - money);
}
 
void RouletteReset()
{
    win = 0;
    RedPull = 0;
    BluePull = 0;
    GreenPull = 0;
    RouletteTime = 30;
    RouletteCooldown = 90;
    RouletteWinner = 0;
    IsRouletteStarted = false;
    CreateTimer(1.0, RouletteCooldownTimer, _, TIMER_REPEAT);
    for (int client = 1;client <= MaxClients; client++)
    {
        IsClientInRoulette[client] = false;
        ClientMoneyInRoulette[client] = 0;
        ClientColorBet[client] = 0;
    }
}
 
void OnRouletteEnd()
{
    win = GetRandomInt(1, 100);
    if (win >= 1 && win < 10)
        RouletteWinner = 3;
    else if (win >= 10 && win < 40)
        RouletteWinner = 2;
    else
        RouletteWinner = 1;
    for (int client = 1;client <= MaxClients; client++)
    {
        if (IsClientInRoulette[client])
        {
            if (RouletteWinner == 3)
            {
                if (ClientColorBet[client] == 3)
                    AddClientCredits(client, ClientMoneyInRoulette[client] * 14);   
            }
            else if (RouletteWinner == 2)
            {
                if (ClientColorBet[client] == 2)
                    AddClientCredits(client, ClientMoneyInRoulette[client] * 3);   
            }
            else {
                if (ClientColorBet[client] == 1)
                    AddClientCredits(client, ClientMoneyInRoulette[client] * 2);
            }
        }
    }
 
    if (RouletteWinner == 3)
    {
        PrintToChatAll(" \x10**********************************************************************************************\x01");
        PrintToChatAll(" ");
        PrintToChatAll(" \x10[RULETKA]\x01 \x0FSUMA STRAT: %d kredytów!\x01", RedPull);
        PrintToChatAll(" \x10[RULETKA]\x01 \x0BSUMA STRAT: %d kredytów!\x01", BluePull);
        PrintToChatAll(" \x10[RULETKA]\x01 \x04SUMA WYGRANA: %d kredytów!\x01", GreenPull *14);
        PrintToChatAll(" \x10[RULETKA]\x01 WYGRAŁ KOLOR \x04ZIELONY!\x01");
        PrintToChatAll(" ");
        PrintToChatAll(" \x10**********************************************************************************************\x01");
    }
    else if (RouletteWinner == 2)
    {
        PrintToChatAll(" \x10**********************************************************************************************\x01");
        PrintToChatAll(" ");
        PrintToChatAll(" \x10[RULETKA]\x01 \x0FSUMA STRAT: %d kredytów!\x01", RedPull);
        PrintToChatAll(" \x10[RULETKA]\x01 \x04SUMA STRAT: %d kredytów!\x01", GreenPull);
        PrintToChatAll(" \x10[RULETKA]\x01 \x0BSUMA WYGRANA: %d kredytów!\x01", BluePull * 3);
        PrintToChatAll(" \x10[RULETKA]\x01 WYGRAŁ KOLOR \x0BNIEBIESKI!\x01");
        PrintToChatAll(" ");
        PrintToChatAll(" \x10**********************************************************************************************\x01");
    }
    else if (RouletteWinner == 1)
    {
        PrintToChatAll(" \x10**********************************************************************************************\x01");
        PrintToChatAll(" ");
        PrintToChatAll(" \x10[RULETKA]\x01 \x04SUMA STRAT: %d kredytów!\x01", GreenPull);
        PrintToChatAll(" \x10[RULETKA]\x01 \x0BSUMA STRAT: %d kredytów!\x01", BluePull);
        PrintToChatAll(" \x10[RULETKA]\x01 \x0FSUMA WYGRANA: %d kredytów!\x01", RedPull * 2);
        PrintToChatAll(" \x10[RULETKA]\x01 WYGRAŁ KOLOR \x0FCZERWONY!\x01");
        PrintToChatAll(" ");
        PrintToChatAll(" \x10**********************************************************************************************\x01");
    }
    else {
        PrintToChatAll(" \x10error\x01");
    }
    
    RouletteReset();
}
 
public Action OnClientBetRed(int client, int args)
{
    if (IsClientInGame(client) && !IsFakeClient(client) && IsClientConnected(client))
    {
        if (!IsRouletteStarted)
        {
            PrintToChat(client, " \x10[RULETKA]\x01 Ruletka jeszcze nie wystartowała!");
            return Plugin_Handled;
        }
        if (!IsClientInRoulette[client])
        {
            char ClientRouletteBetChar[32];
            GetCmdArg(args, ClientRouletteBetChar, sizeof(ClientRouletteBetChar));
            int ClientBet = StringToInt(ClientRouletteBetChar);
            if (ClientBet > 0) 
            {
                if (Store_GetClientCredits(client) < ClientBet) 
                {
                    PrintToChat(client, " \x10[RULETKA]\x01 Nie możesz obstawić więcej niż masz!");
                    return Plugin_Handled;
                }
                SubClientCredits(client, ClientBet);
                ClientMoneyInRoulette[client] = ClientBet;
                RedPull += ClientBet;
                IsClientInRoulette[client] = true;
                ClientColorBet[client] = 1;
                PrintToChat(client, " \x10[RULETKA]\x01 Obstawiłeś \x0F%d$\x01 na kolor \x0FCZERWONY!\x01", ClientBet);
            }
            else
                PrintToChat(client, " \x10[RULETKA]\x01 Minimalna stawka to 1$!");
        }
        else {
            PrintToChat(client, " \x10[RULETKA]\x01 Akutalnie bierzesz udział w ruletce!");
        }
    }
    return Plugin_Continue;
}
 
public Action OnClientBetBlue(int client, int args)
{
    if (IsClientInGame(client) && !IsFakeClient(client) && IsClientConnected(client))
    {
        if (!IsRouletteStarted)
        {
            PrintToChat(client, " \x10[RULETKA]\x01 Ruletka jeszcze nie wystartowała!");
            return Plugin_Handled;
        }
        if (!IsClientInRoulette[client])
        {
            char ClientRouletteBetChar[32];
            GetCmdArg(args, ClientRouletteBetChar, sizeof(ClientRouletteBetChar));
            int ClientBet = StringToInt(ClientRouletteBetChar);
            if (ClientBet > 0) 
            {
                if (Store_GetClientCredits(client) < ClientBet) 
                {
                    PrintToChat(client, " \x10[RULETKA]\x01 Nie możesz obstawić więcej niż masz!");
                    return Plugin_Handled;
                }
                SubClientCredits(client, ClientBet);
                ClientMoneyInRoulette[client] = ClientBet;
                BluePull += ClientBet;
                IsClientInRoulette[client] = true;
                ClientColorBet[client] = 2;
                PrintToChat(client, " \x10[RULETKA]\x01 Obstawiłeś \x0F%d$\x01 na kolor \x0BNIEBIESKI!\x01", ClientBet);
            }
            else
                PrintToChat(client, " \x10[RULETKA]\x01 Minimalna stawka to 1$!");
        }
        else {
            PrintToChat(client, " \x10[RULETKA]\x01 Akutalnie bierzesz udział w ruletce!");
        }
    }
    return Plugin_Continue;
}
 
public Action OnClientBetGreen(int client, int args)
{
    if (IsClientInGame(client) && !IsFakeClient(client) && IsClientConnected(client))
    {
        if (!IsRouletteStarted)
        {
            PrintToChat(client, " \x10[RULETKA]\x01 Ruletka jeszcze nie wystartowała!");
            return Plugin_Handled;
        }
        if (!IsClientInRoulette[client])
        {
            char ClientRouletteBetChar[32];
            GetCmdArg(args, ClientRouletteBetChar, sizeof(ClientRouletteBetChar));
            int ClientBet = StringToInt(ClientRouletteBetChar);
            if (ClientBet > 0) 
            {
                if (Store_GetClientCredits(client) < ClientBet) 
                {
                    PrintToChat(client, " \x10[RULETKA]\x01 Nie możesz obstawić więcej niż masz!");
                    return Plugin_Handled;
                }
                SubClientCredits(client, ClientBet);
                ClientMoneyInRoulette[client] = ClientBet;
                GreenPull += ClientBet;
                IsClientInRoulette[client] = true;
                ClientColorBet[client] = 3;
                PrintToChat(client, " \x10[RULETKA]\x01 Obstawiłeś \x0F%d$\x01 na kolor \x04ZIELONY!\x01", ClientBet);
            }
            else
                PrintToChat(client, " \x10[RULETKA]\x01 Minimalna stawka to 1$!");
        }
        else {
            PrintToChat(client, " \x10[RULETKA]\x01 Akutalnie bierzesz udział w ruletce!");
        }
    }
    return Plugin_Continue;
}

 

pod store od zephyrusa, jeden z moich pierwszych pluginow dlatego kod wyglada jak wyglada

ruleta.sp
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Przez Paweł,

Kod dodawaj w spoiler ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...