Sign In

Sign In

    1. Created 15 September 2025

    CSHOT

    Siec tworzona z pasja, prężnie rozwijajacą się. Posiadamy serwery CS 1.6. Każdy znajdzie u nas coś dla siebie. Profesjonalne podejście administracji jak i adminów tworzy wspaniałą atmosferę na sieci. Jeśli masz

    1. Created 15 September 2025

    CSHOT

    Siec tworzona z pasja, prężnie rozwijajacą się. Posiadamy serwery CS GO. Każdy znajdzie u nas coś dla siebie. Profesjonalne podejście administracji jak i adminów tworzy wspaniałą atmosferę na sieci. Jeśli masz c

Partners

Awatar autora

Knife API v2.2

Created Today  in PLUGINY  by Poster
[TITLE] Knife API v2.2
[URL] https://amxx.pl/topic/136681-knife-api-v22/


Knife API v2.2
by [**Backstabnoob**](https://forums.alliedmods.net/member.php?u=47891
"Zewnętrzny odnośnik")
tłumaczenie z oryginalnego tematu:
[https://forums.allie...ad.php?t=240304](https://forums.alliedmods.net/showthread.php?t=240304
"Zewnętrzny odnośnik")

[Image: opis.png]
Moja pierwsza intencja tego pluginu była dla mojego nadchodzącego RPG.
Jednak nie mogłem znaleźć czegoś podobnego w pluginach, więc postanowiłem
włożyć to w wersję wstępną (takią same jak baza danych ORM).
Knife API dodaje w nowych nożach wiatry/bryzy do noży.
Mechanizm odbioru / wyłącznika / upuszczania.
W ten sposób wszystkie noże są dodawane przez standardowy sposób.
W wersji 2.0 dodano wiele nowych możliwości.
Jeśli masz wiele noży, możesz przełączać się między nimi (lub wyświetlić menu
jeśli masz cvar włączony) z R (+ przeładowanie) klawiszem.
UWAGA: Pluginy pisane przez Knife API <2.0 nie są kompatybilne z ostatnią
wersjią. Musisz zamienić stary plugin. Przepraszam, mam nadzieję, że to się
nie powtórzy!

Możliwości:
To jest na prawde bardzo dobre narzędzie dla pluginów, które zależy na nożu
takim jak noż RPG jailbreak i serwerów takiego typu.Tworzenie takich noży,
przez to staną sie bezproblemowe oprócz gry, zwłaszcza w połączeniu z
niestandardową poświatą.


Co ten plugin może robić:
Przypisywanie podstawowych wartości, takich jak modele i dźwięki do nowo
utworzonych noży.
Standardowy nóż z użyciem sprites patrz przykład.
Standardowy zasięg noży
Dodatkowe opóźnienie po rozpoczęciu animacji
Wyłapywanie Eventow takich jak atakowanie etc..



Co ten plugin nie może zrobić:
Choć może to nie wiele, ale musisz jeszcze dodać trochę swojej pracy do tego
pluginu.
Nie ma dużo rzeczy których nie zrobi, np nie zrobi ci kanapki:)

Wymagania są następujące:
Nie ma żadnych jak na razie !!
[Image: smile.png]
[Image: instalacja.png]
Instalacja pluginu(api) jak u w innych pluginach, ściągnij skompiluj kod
źródłowy i łącz go z innymi pluginami
[http://amxx.pl/topic...-pluginow-amxx/](...instalacja-
pluginow-amxx/)

[Image: konfiguracja.png]
Domyslny nóż z CS'a został usunięty i zastąpiony przez ręce ( widać te na
jailbreak).
Jeśli chcesz to zmienić zakomentuj #DEFAULT_HANDS w kodzie źródłowym w linii
59.

Jeśli to zrobisz, to też nie potrzeba plików resources.
Do skonfigurowania wartości domyslnego noża/rąk edytuj __addDefaultKnife()
jest to w kodzie źródłowym w lini 203

[Image: cvary.png]

* **knifeapi_dropondeath (domyślnie:1)** \- czy noże wypadają po śmierci gracza ? niestety noże nie wypadają po zgonie gracza, musisz również użyć knifeapi_lossondeath!
* **knifeapi_lossondeath (domyślnie:1)** \- Czt gracz straci wszystkie noże po śmierci ( z wyjątkiem noża podstawowego) ?
* **knifeapi_switchmenu (domyślnie:1)** \- po naciśnięciu klawisza R (RELOAD), chcesz, aby wyświetlić menu z nożami.
* **knifeapi_roundremoval (domyślnie:1)** \- noże które wypadły powinny być usunięte na koniec rundy ?




[Image: wymaganemoduly.png]




#include <amxmodx>

#include <hamsandwich>

#include <fakemeta>

#include <engine>

#include <cstrike>

#include <fun>

#include <knifeapi>

#include <xs>



[Image: inneinformacje.png]
Przykładowy plugin:

Spoiler



#include <amxmodx>

#include <knifeapi>

#include <cstrike>



new g_Knife



new const VMODEL[] = "models/v_knife.mdl"

new const PMODEL[] = "models/p_knife.mdl"



const KNIFE_PRICE = 300



public plugin_precache()

{

    precache_model(VMODEL)

    precache_model(PMODEL)

    

    // we precache the custom sprite .txt and .spr files

    precache_generic("sprites/weapon_superknife.txt")

    precache_generic("sprites/superknife.spr")

    

    // ALWAYS precache your files. If you don't, the server will crash, knife API doesn't do it for you

}



public plugin_init()

{

    register_plugin("Knife API example", "1.0", "idiotstrike")

    

    

    g_Knife = Knife_Register(

        .WeaponName =  "Default Knife",

        .VModel =      VMODEL,

        .PModel =      PMODEL

    )

    

    // additional properties (for a list of all properties, see knifeapi.inc):

    

    // we make the knife droppable

    Knife_SetProperty(g_Knife, KN_CLL_Droppable, true)

    

    // since we want to use a custom sprite, we set this to the .txt filename without extension.

    // if you don't want to use a custom sprite, don't change the KN_STR_SpriteName property!

    Knife_SetProperty(g_Knife, KN_STR_SpriteName, "weapon_superknife")

    

    // we can also change the primary range to 60.0 to make it more unrealistic

    //Knife_SetProperty(g_Knife, KN_CLL_PrimaryRange, 60.0)

    

    register_clcmd("say /buyknife", "CmdBuyKnife")

}



public CmdBuyKnife(id)

{

    if(!is_user_alive(id))

    {

        client_print(id, print_chat, "You need to be alive.")

    }

    else if(Knife_PlayerHas(id, g_Knife))

    {

        client_print(id, print_chat, "You already have this knife. Switch to knife and press R to see it.")

    }

    else

    {

        new Money = cs_get_user_money(id)

        

        if(Money < KNIFE_PRICE)

        {

            client_print(id, print_center, "You have insufficient funds.")

        }

        else

        {

            Knife_PlayerGive(id, g_Knife)

            cs_set_user_money(id, Money - KNIFE_PRICE)

        }

    }

    

    return PLUGIN_HANDLED









Załączniki:
knifeapi.inc
knifeapi.sma
resources.zip