Skocz do zawartości
Deshayiere

[Plugin] AWP + LVL CSGO

Rekomendowane odpowiedzi

Napisano (edytowane)

Cześć i czołem, udostępniam wam moją paczkę AWP + LVL. Postanowiłem się podzielić tutaj tym pluginem, bo na razie nie mam planów na stawianie własnego serwera.

 

Tryb polega na tym, że za zabijanie przeciwników otrzymujemy określoną ilość doświadczenia. Za doświadczenie otrzymujemy poziomy a za poziomy - punkty umiejętności.

Za poziom otrzymujecie 2 punkty umiejętności, razem jest 20 poziomów. (łącznie 40 punktów co idealnie starcza na ulepszenie wszystkiego.)

 

Komendy:

 

 


!lvl

!poziom

!level

 

!givepoints - Dodaje 40 punktów (Wymagana flaga Z)

Wszystkie robią to samo.

 

 

To teraz screenshoty (Dzięki @ deshaspokoza pomoc :) )

 

 


Tabela wyników

Dfevy0Y.png

 

Główne menu:

ePGXO6s.png

 

Zakładka ulepszeń:

Otm5MEy.png

 

Hud:

ZaduhTL.png

 

Zabójstwo Headshot + NoScope:

K8sG7tD.png

 

Zabójstwo NoScope:

LpvVCrN.png

 

Zabójstwo Scope + HeadShot:

Ce6jWsv.png

 

Zabójstwo nożem:

MCd6mqu.png

 

I po prostu zabójstwo scope:

hDBBKiN.png

 

Osiągnięcie poziomu:

fvumfdd.png

 

Ulepszenie:

wNohzUB.png
 

 

 

Podłączenie do bazy danych:

 

 


    "AWPLVL"
    {
        "driver"            " "
        "host"                " "
        "database"            " "
        "user"                " "
        "pass"                " "
        //"timeout"            "0"
        "port"                "3306"
    }
 

 

 

No i oczywiście reklama. :kappa:

 

 


fapffNn.png
 

 

 

Plik SP załączam na dole.

Na końcu dodam, że jest to mój pierwszy kod.

 

 

 

 

 

AWPLVL.sp

Edytowane przez SchMidT
cos sie popsulo
  • Lubię to! 3
  • Kocham to! 15
Dodane przez SchMidT,

Poprawiam nazwę tematu na prośbę autora, Edit. Dodaję jedną z komend na prosbę autora.

Edytowano

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

omg ale kozak

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

WOOOOW ZAJEFAJNE !!!!

Edytowane przez krzychu12338

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Czy ten plugin czasami nie byłby lepszy od tego z odznakami? 

Sądzę, że jest na to duża szansa 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
35 minut temu, himek napisał:

Czy ten plugin czasami nie byłby lepszy od tego z odznakami? 

Sądzę, że jest na to duża szansa 

Może i byłby lepszy, jednakże nie będziemy go dodawać na serwer. Zrobimy modyfikacje tego pluginu z odznakami.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

1. Kod strasznie chaotyczny.

public Action timerautor(Handle timer, int client)
{
    PrintToChatAll("%s Autorem paczki AWP + LVL jest Deshayiere.", TAG);
}

2. Czy ty jeden plik nazwałeś paczką xd?

 

3. Zamiast:

Spoiler

RegConsoleCmd("sm_givepoints", awp_givepoints);

public Action awp_givepoints(int client, int args)
{
    if (GetUserFlagBits(client) && ADMFLAG_ROOT)
    {
        awp_punktylv[client] += 40;
        SaveAll(client);
    }
}

 

mogłeś użyć:

Spoiler

RegAdminCmd("sm_givepoints", awp_givepoints, ADMFLAG_ROOT);

public Action awp_givepoints(int client, int args)
{
    if (GetUserFlagBits(client) && ADMFLAG_ROOT)
    {
        awp_punktylv[client] += 40;
        SaveAll(client);
    }
}

 

4. Tutaj masz błąd:

if (GetUserFlagBits(client) && ADMFLAG_ROOT)

powinno być:

if (GetUserFlagBits(client) & ADMFLAG_ROOT)
Spoiler

public Action Event_PlayerSpawn(Event event, const char[] name, bool dontBroadcast)
{
    int client = GetClientOfUserId(GetEventInt(event, "userid"));
    GivePlayerItem(client, "weapon_awp");
    SetEntProp(client, Prop_Send, "m_ArmorValue", 100);
    SetEntProp(client, Prop_Send, "m_bHasHelmet", 1);
    if (IsValidClient(client))
    {
        SetEntityHealth(client, GetClientHealth(client)+(1 * awp_zycie[client]));
        SetEntityGravity(client, GetGravity(client));
        SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", GetSpeed(client));
        CreateTimer(1.0, Timer_CheckSetGravity, GetClientUserId(client), TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT);
    }
    char buffer[32];
    Format(buffer, sizeof(buffer), "[ Poziom %i ]", awp_lvl[client]);
    CS_SetClientClanTag(client, buffer);
}

 

5. W powyższym kodzie sprawdzasz czy klient jest połączony z serwerem, nie jest botem itd.(wszystko co jest zawarte w booleanie) tylko dla części kodu. Dlaczego nie zastosujesz tego dla całej akcji? Myślę, że jest prawdopodobieństwo wysypu error logów.

 

6. 

Spoiler

public Action timerhud(Handle timer, int client)
{
    for (int i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && !IsFakeClient(i))
        {
            PrintHintText(i, "<font color='#00ff12'>//</font> <font color='#ff0000'>Only AWP + LvL</font> <font color='#00ff12'>//</font>\n<font color='#00c0ff'>» <font color='#ff9c00'>Poziom: %i\n<font color='#00c0ff'>» <font color='#ff9c00'>Doswiadczenie: %i", awp_lvl[i], awp_exp[i]);
        }
    }
}

 

Do timera daje się "any client", a nie "int client". Tutaj akurat jest to nawet nie potrzebne bo i tak tego nie używasz.

 

7. W tej akcji nie sprawdzasz czy klient jest botem itd. Znowu prawdopodobny wysyp error logów.

Spoiler

public Action Event_PlayerDeath(Event event, const char[] name, bool dontBroadcast)

 

 

8. 

Spoiler

FormatEx(buffer, 512, "Poziomy - OnlyAWP + LvL");

 

o wiele lepszy i pewniejszy sposób:

Spoiler

FormatEx(buffer, sizeof(buffer), "Poziomy - OnlyAWP + LvL");

 

 

  • Smutne. 1
  • Haha! 1
  • Kocham to! 2

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@ Yamakashidaj spokój xd

Chłopak początkujący zapewnie. 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

^co z tego, jak yama mu napisał jak to zrobić lepiej? morda w kubeł i pobieraj lekcje za free :FeelsOkayMan:

 

 

  • Lubię to! 1
  • Wrr! 2

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×