![]() |
|
Knife API v2.2 - Printable Version +- CSHOT.PL - Pluginy amxx , plugins amxx , server game counter strike , serwery gier , forum (https://cshot.pl) +-- Forum: Counter-Strike (https://cshot.pl/forumdisplay.php?fid=54) +--- Forum: Counter-Strike 1.6 (https://cshot.pl/forumdisplay.php?fid=55) +---- Forum: PLUGINY (https://cshot.pl/forumdisplay.php?fid=62) +---- Thread: Knife API v2.2 (/showthread.php?tid=2306) |
Knife API v2.2 - Poster - 09-18-2025 [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") 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 !! 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/](http://amxx.pl/topic/13-instalacja- pluginow-amxx/) 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 ![]() * **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 ? ![]() #include <amxmodx> #include <hamsandwich> #include <fakemeta> #include <engine> #include <cstrike> #include <fun> #include <knifeapi> #include <xs> 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 |