Skocz do zawartości
Sqower

Ghost

Rekomendowane odpowiedzi

Klasa posiada stałe 1hp oraz 1/1 z prawego posiada 2 skoki i mniejszą grawitacje Klasa na flage "p"

 

 

Spoiler

/* Plugin Template generated by Pawn Studio */

#include <sourcemod>
#include <CodD0_engine>
#include <CodD0/skills/CodD0_skill_visibility>
#include <CodD0/skills/CodD0_skill_damage>
#include <CodD0/skills/CodD0_skill_gravity>
#include <CodD0/skills/CodD0_skill_noFallDamage>
#include <CodD0/skills/CodD0_skill_multiJump>

public Plugin myinfo =  {
    name = "CodD0 Class: [P] Ghost",
    author = "d0naciak",
    description =  "[P] Ghost",
    version = "1.0",
    url = "d0naciak.pl"
}

int g_classID;
bool g_hasClass[MAXPLAYERS + 1];

public void OnPluginStart() {
    g_classID = CodD0_RegisterClass("[P] Ghost", "Całkowicie niewidzialny na nożu, 1/1 z Kosy PPM", {0, -99, 0, 100}, { CSWeapon_KNIFE }, 1);
}

public void OnPluginEnd() {
    CodD0_UnregisterClass(g_classID);
}

public Action CodD0_ClassChanged(int client, int classID) {
    if(g_classID == classID) {
        CodD0_SetClientChanceToKillByKnife(client, CodD0_SkillSlot_Class, 1, true);
        if(!CheckCommandAccess(client, "sm_klasa_Ghost", ADMFLAG_CUSTOM2)) {
            PrintToChat(client, " \x06\x04[COD:MW]\x01 Aby skorzystać z tej klasy, użyj komendy \x05!sklepsms");
            return Plugin_Handled;
        }
    } else if (g_hasClass[client]) {
        CodD0_SetClientVisibility(client, CodD0_SkillSlot_Class, 255);
        CodD0_SetClientVisibilityOnKnife(client, CodD0_SkillSlot_Class, 255);
        CodD0_SetClientMultiJumps(client, CodD0_SkillSlot_Class, 0);
        CodD0_SetClientGravity(client, CodD0_SkillSlot_Class, 0.0);
        CodD0_SetClientNoFallDamage(client, CodD0_SkillSlot_Class, false);
        g_hasClass[client] = false;
    }
    
    return Plugin_Continue;
}

public void CodD0_ClassChanged_Post(int client, int classID) {
    if(g_classID == classID) {
        CodD0_SetClientVisibility(client, CodD0_SkillSlot_Class, 5);
        CodD0_SetClientMultiJumps(client, CodD0_SkillSlot_Class, 2);
        CodD0_SetClientGravity(client, CodD0_SkillSlot_Class, 0.6);
        CodD0_SetClientNoFallDamage(client, CodD0_SkillSlot_Class, true);
        g_hasClass[client] = true;
        CodD0_SetClientChanceToKillByKnife(client, CodD0_SkillSlot_Class, 1, true);
        CreateTimer(0.5, CheckHealth, client, TIMER_FLAG_NO_MAPCHANGE);
    }
}

public Action CheckHealth(Handle timer, any client)
{
    if(g_hasClass[client])
    {
        if(IsPlayerAlive(client))
        {
            if(GetClientHealth(client) > 1)
                SetEntityHealth(client, 1);
        }
        CreateTimer(0.5, CheckHealth, client, TIMER_FLAG_NO_MAPCHANGE);
    }
}

Podziękowania dla @Yamakashi

Pod tego codmoda 

 

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ę...