Witam, edytowałem mocno plugin knife mod pod swoje potrzeby i mam dwa następujące problemy:
- dwa noże są dla admina i vipa, osoba która nie posiada odpowiednich flag nie może wybrać tego modelu i wyświetla się info "Nie mozesz korzystac z tego modelu!", a model zamienia się na domyślny lecz gdy schowam go i wyciągnę ta informacja że nie można korzystać z tego modelu ciągle się pojawia, a chciałbym aby pojawiała się tylko przy próbie wyboru, a nie przy każdym wyciągnięciu
- gdy wybiorę jakiś model pojawia się informacja w say "[KNIFE] Wybrales model Domyslny" i ta informacja również pojawia się za każdorazowym wyciągnięciem noża, a powinna tylko wtedy gdy wybieram jakiś model
Poniżej kod pluginu:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <colorchat>
#define PLUGIN "Knife Models"
#define VERSION "1.0"
#define AUTHOR "DreameR"
new knife_model[33]
new g_Menu
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("CurWeapon","CurWeapon","be","1=1")
register_menucmd(g_Menu, 1023, "knifemenu")
register_clcmd("say /noz", "wybor_noza")
register_clcmd("say /noze", "wybor_noza")
}
public plugin_precache()
{
precache_model("models/noze/csr_karambit.mdl")
precache_model("models/noze/csr_butterfly.mdl")
precache_model("models/noze/csr_domyslny.mdl")
precache_model("models/noze/csr_bayonet.mdl")
precache_model("models/noze/csr_huntsman.mdl")
}
public wybor_noza(id)
{
new menu[512]
add(menu, 511, "\wWybierz \rModel Noza\w:^n^n")
add(menu, 511, "\r1. \wButterfly (\yModel dla \rAdminow\w)^n")
add(menu, 511, "\r2. \wKarambit (\yModel dla \rVIP'ow\w)^n")
add(menu, 511, "\r3. \wDomyslny^n")
add(menu, 511, "\r4. \wBayonet^n")
add(menu, 511, "\r5. \wHuntsman^n^n")
add(menu, 511, "\r0. \wWyjscie^n")
new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 )
show_menu(id, keys, menu, -1)
}
public knifemenu(id, key)
{
switch(key)
{
case 0: SetKnife(id , 0)
case 1: SetKnife(id , 1)
case 2: SetKnife(id , 2)
case 3: SetKnife(id , 3)
case 4: SetKnife(id , 4)
case 5: SetKnife(id , 5)
default: return PLUGIN_HANDLED
}
SaveData(id)
return PLUGIN_HANDLED
}
public SetKnife(id , Knife)
{
knife_model[id] = Knife
new Weapon = get_user_weapon(id)
if (Weapon != CSW_KNIFE)
return PLUGIN_HANDLED
new vModel[56]
switch(Knife)
{
case 0:
{
if(get_user_flags(id) & ADMIN_BAN)
{
format(vModel,55,"models/noze/csr_butterfly.mdl")
ColorChat(id,GREEN,"[KNIFE]^x01 Wybrales model^x03 Butterfly")
}
else
{
client_print(id, print_center, "Nie mozesz korzystac z tego modelu!")
format(vModel,55,"models/noze/csr_domyslny.mdl")
}
}
case 1:
{
if(get_user_flags(id) & ADMIN_LEVEL_H || get_user_flags(id) & ADMIN_BAN)
{
format(vModel,55,"models/noze/csr_karambit.mdl")
ColorChat(id,GREEN,"[KNIFE]^x01 Wybrales model^x03 Karambit")
}
else
{
client_print(id, print_center, "Nie mozesz korzystac z tego modelu!")
format(vModel,55,"models/noze/csr_domyslny.mdl")
}
}
case 2:
{
format(vModel,55,"models/noze/csr_domyslny.mdl")
ColorChat(id,GREEN,"[KNIFE]^x01 Wybrales model^x03 Domyslny")
}
case 3:
{
format(vModel,55,"models/noze/csr_bayonet.mdl")
ColorChat(id,GREEN,"[KNIFE]^x01 Wybrales model^x03 Bayonet")
}
case 4:
{
format(vModel,55,"models/noze/csr_huntsman.mdl")
ColorChat(id,GREEN,"[KNIFE]^x01 Wybrales model^x03 Huntsman")
}
}
entity_set_string(id, EV_SZ_viewmodel, vModel)
return PLUGIN_HANDLED;
}
public CurWeapon(id)
{
SetKnife(id, knife_model[id])
}
public client_authorized(id)
{
LoadData(id)
}
SaveData(id)
{
new authid[32]
get_user_authid(id, authid, 31)
new vaultkey[64]
new vaultdata[64]
format(vaultkey, 63, "KMOD_%s", authid)
format(vaultdata, 63, "%d", knife_model[id])
set_vaultdata(vaultkey, vaultdata)
}
LoadData(id)
{
new authid[32]
get_user_authid(id,authid,31)
new vaultkey[64], vaultdata[64]
format(vaultkey, 63, "KMOD_%s", authid)
get_vaultdata(vaultkey, vaultdata, 63)
knife_model[id] = str_to_num(vaultdata)
}
Użytkownik reload93 edytował ten post 10.04.2016 14:36


Dodatki SourceMod












