Witam
Posiadam plugin, który ma za zadanie podmienianie modeli graczy jeżeli ten wpisze na say /awp niestety po wpisaniu tej komendy nie wyskakuje okienka z mozliwoscia wyboru modeli. Teraz czy znalazła by się dobra dusza, która by doprowadziła to do użytku
Kod pluginu
Spoiler
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <vault>
#include <fun>
#define PLUGIN "AwP Mod"
#define VERSION "1.0"
#define AUTHOR ""
#define TASK_INTERVAL 4.0
new awp_model[33]
new g_Menu
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event( "Damage", "event_damage", "be" )
register_event("CurWeapon","CurWeapon","be","1=1")
g_Menu = register_menuid("AwP MoD")
register_menucmd(g_Menu, 1023, "awpmenu")
register_clcmd("say /awp", "display_awp")
set_task(480.0, "amodmsg", 0, _, _, "b")
}
public plugin_precache() {
precache_model("models/awp-mod/Abstract/v_awp.mdl")
precache_model("models/awp-mod/Arms/p_awp.mdl")
precache_model("models/awp-mod/Arms/v_awp.mdl")
precache_model("models/awp-mod/Arms/w_awp.mdl")
precache_model("models/awp-mod/Asiimov/p_awp.mdl")
precache_model("models/awp-mod/Asiimov/v_awp.mdl")
precache_model("models/awp-mod/Asiimov/w_awp.mdl")
precache_model("models/awp-mod/Corticera/v_awp.mdl")
precache_model("models/awp-mod/Desinty/p_awp.mdl")
precache_model("models/awp-mod/Desinty/v_awp.mdl")
precache_model("models/awp-mod/Desinty/w_awp.mdl")
precache_model("models/awp-mod/Hyper/v_awp.mdl")
precache_model("models/awp-mod/Tiger/v_awp.mdl")
precache_model("models/awp-mod/Default/v_awp.mdl")
}
public display_knife(id) {
new menuBody[512]
add(menuBody, 511, "\rAwP MoD\w^n^n")
add(menuBody, 511, "1. Abstract \w^n")
add(menuBody, 511, "2. Arms \w^n")
add(menuBody, 511, "3. Asiimov \w^n")
add(menuBody, 511, "4. Corticera Awp\w^n")
add(menuBody, 511, "5. Desinty \w^n^n")
add(menuBody, 511, "6. Hyper \w^n")
add(menuBody, 511, "7. Tiger \w^n")
add(menuBody, 511, "8. Default \w^n^n")
add(menuBody, 511, "0. Exit^n")
new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<9 )
show_menu(id, keys, menuBody, -1, "AwP MoD")
}
public awpmenu(id, key) {
switch(key)
{
case 0: SetAwp(id , 8)
case 1: SetAwp(id , 7)
case 2: SetAwp(id , 6)
case 3: SetAwp(id , 5)
case 4: SetAwp(id , 4)
case 5: SetAwp(id , 3)
case 6: SetAwp(id , 2)
case 7: SetAwp(id , 1)
case 8: SetAwp(id , 0)
default: return PLUGIN_HANDLED
}
SaveData(id)
return PLUGIN_HANDLED
}
public SetAwp(id , Awp) {
awp_model[id] = Awp
new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
if ( Weapon != CSW_AWP )
return PLUGIN_HANDLED
new vModel[56]
switch(Awp)
{
case 0: {
format(vModel,55,"models/awp-mod/Default/v_awp.mdl")
}
case 1: {
format(vModel,55,"models/awp-mod/Tiger/v_awp.mdl")
}
case 2: {
format(vModel,55,"models/awp-mod/Hyper/v_awp.mdl")
}
case 3: {
format(vModel,55,"models/awp-mod/Desinty/v_awp.mdl")
}
case 4: {
format(vModel,55,"models/awp-mod/Corticera/v_awp.mdl")
}
case 5: {
format(vModel,55,"models/awp-mod/Asiimov/v_awp.mdl")
}
case 6: {
format(vModel,55,"models/awp-mod/Arms/v_awp.mdl")
}
case 7: {
format(vModel,55,"models/awp-mod/Abstract/v_awp.mdl")
}
}
entity_set_string(id, EV_SZ_viewmodel, vModel)
return PLUGIN_HANDLED;
}
stock log_kill(killer, victim, weapon[],headshot) {
user_silentkill( victim );
message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( killer );
write_byte( victim );
write_byte( headshot );
write_string( weapon );
message_end();
new kfrags = get_user_frags( killer );
set_user_frags( killer, kfrags++ );
new vfrags = get_user_frags( victim );
set_user_frags( victim, vfrags++ );
return PLUGIN_CONTINUE
}
public client_disconnect(id) {
if(task_exists(id)) remove_task(id)
}
public amodmsg() {
client_print(0,print_chat,"[AWP] Aby zmienic model AWP, wystarczy wpisac na say /AWP")
}
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, "AMOD_%s", authid)
format(vaultdata, 63, "%d", awp_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, "AMOD_%s", authid)
get_vaultdata(vaultkey, vaultdata, 63)
awp_model[id] = str_to_num(vaultdata)
}
#include <amxmisc>
#include <engine>
#include <vault>
#include <fun>
#define PLUGIN "AwP Mod"
#define VERSION "1.0"
#define AUTHOR ""
#define TASK_INTERVAL 4.0
new awp_model[33]
new g_Menu
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event( "Damage", "event_damage", "be" )
register_event("CurWeapon","CurWeapon","be","1=1")
g_Menu = register_menuid("AwP MoD")
register_menucmd(g_Menu, 1023, "awpmenu")
register_clcmd("say /awp", "display_awp")
set_task(480.0, "amodmsg", 0, _, _, "b")
}
public plugin_precache() {
precache_model("models/awp-mod/Abstract/v_awp.mdl")
precache_model("models/awp-mod/Arms/p_awp.mdl")
precache_model("models/awp-mod/Arms/v_awp.mdl")
precache_model("models/awp-mod/Arms/w_awp.mdl")
precache_model("models/awp-mod/Asiimov/p_awp.mdl")
precache_model("models/awp-mod/Asiimov/v_awp.mdl")
precache_model("models/awp-mod/Asiimov/w_awp.mdl")
precache_model("models/awp-mod/Corticera/v_awp.mdl")
precache_model("models/awp-mod/Desinty/p_awp.mdl")
precache_model("models/awp-mod/Desinty/v_awp.mdl")
precache_model("models/awp-mod/Desinty/w_awp.mdl")
precache_model("models/awp-mod/Hyper/v_awp.mdl")
precache_model("models/awp-mod/Tiger/v_awp.mdl")
precache_model("models/awp-mod/Default/v_awp.mdl")
}
public display_knife(id) {
new menuBody[512]
add(menuBody, 511, "\rAwP MoD\w^n^n")
add(menuBody, 511, "1. Abstract \w^n")
add(menuBody, 511, "2. Arms \w^n")
add(menuBody, 511, "3. Asiimov \w^n")
add(menuBody, 511, "4. Corticera Awp\w^n")
add(menuBody, 511, "5. Desinty \w^n^n")
add(menuBody, 511, "6. Hyper \w^n")
add(menuBody, 511, "7. Tiger \w^n")
add(menuBody, 511, "8. Default \w^n^n")
add(menuBody, 511, "0. Exit^n")
new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<9 )
show_menu(id, keys, menuBody, -1, "AwP MoD")
}
public awpmenu(id, key) {
switch(key)
{
case 0: SetAwp(id , 8)
case 1: SetAwp(id , 7)
case 2: SetAwp(id , 6)
case 3: SetAwp(id , 5)
case 4: SetAwp(id , 4)
case 5: SetAwp(id , 3)
case 6: SetAwp(id , 2)
case 7: SetAwp(id , 1)
case 8: SetAwp(id , 0)
default: return PLUGIN_HANDLED
}
SaveData(id)
return PLUGIN_HANDLED
}
public SetAwp(id , Awp) {
awp_model[id] = Awp
new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
if ( Weapon != CSW_AWP )
return PLUGIN_HANDLED
new vModel[56]
switch(Awp)
{
case 0: {
format(vModel,55,"models/awp-mod/Default/v_awp.mdl")
}
case 1: {
format(vModel,55,"models/awp-mod/Tiger/v_awp.mdl")
}
case 2: {
format(vModel,55,"models/awp-mod/Hyper/v_awp.mdl")
}
case 3: {
format(vModel,55,"models/awp-mod/Desinty/v_awp.mdl")
}
case 4: {
format(vModel,55,"models/awp-mod/Corticera/v_awp.mdl")
}
case 5: {
format(vModel,55,"models/awp-mod/Asiimov/v_awp.mdl")
}
case 6: {
format(vModel,55,"models/awp-mod/Arms/v_awp.mdl")
}
case 7: {
format(vModel,55,"models/awp-mod/Abstract/v_awp.mdl")
}
}
entity_set_string(id, EV_SZ_viewmodel, vModel)
return PLUGIN_HANDLED;
}
stock log_kill(killer, victim, weapon[],headshot) {
user_silentkill( victim );
message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( killer );
write_byte( victim );
write_byte( headshot );
write_string( weapon );
message_end();
new kfrags = get_user_frags( killer );
set_user_frags( killer, kfrags++ );
new vfrags = get_user_frags( victim );
set_user_frags( victim, vfrags++ );
return PLUGIN_CONTINUE
}
public client_disconnect(id) {
if(task_exists(id)) remove_task(id)
}
public amodmsg() {
client_print(0,print_chat,"[AWP] Aby zmienic model AWP, wystarczy wpisac na say /AWP")
}
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, "AMOD_%s", authid)
format(vaultdata, 63, "%d", awp_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, "AMOD_%s", authid)
get_vaultdata(vaultkey, vaultdata, 63)
awp_model[id] = str_to_num(vaultdata)
}
Error log pluginu
Spoiler
L 11/11/2015 - 00:47:46: Function "event_damage" was not found
L 11/11/2015 - 00:47:46: [AMXX] Displaying debug trace (plugin "awp.amxx", version "1.0")
L 11/11/2015 - 00:47:46: [AMXX] Run time error 19: function not found
L 11/11/2015 - 00:47:46: [AMXX] [0] awp_mod_3076514.sma::plugin_init (line 20)
Użytkownik devil11 edytował ten post 11.11.2015 01:03