Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
- Ошибка
-
Можно ли сделать так чтобы когда выбираешь любой ножик он менялся сразу.
Так же при выборе ножа он не меняется. Пробовала создавать отчет с KnifeId[id] = 0, не работает, потом начала подчет с 1, тоже не работает. При респавне игрока без флага он появляется с обычным ножом, при заходе игрока с флагом то он появляется с последним ножом.
В чем проблема. Уже капаюсь час и не могу ничего сделать.
- ОС
- Linux
- Amx Mod X
-
Amx Mod X ниже 1.9.0
- Билд
-
ReHLDS
- ReGamedll
-
5.9.0.366
- Версия Metamod
-
Metamod -p 1.21p37
- Список метамодулей
-
[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.9.0.5 ini Start ANY
[ 2] Reunion RUN - reunion_mm_i386. v0.1.0.9 ini Start Never
[ 3] VoiceTranscoder RUN - VoiceTranscoder. v2017RC3 ini ANY ANY
[ 4] CStrike RUN - cstrike_amxx_i38 v1.9.0.5 pl1 ANY ANY
[ 5] FakeMeta RUN - fakemeta_amxx_i3 v1.9.0.5 pl1 ANY ANY
[ 6] Ham Sandwich RUN - hamsandwich_amxx v1.9.0.5 pl1 ANY ANY
[ 7] Fun RUN - fun_amxx_i386.so v1.9.0.5 pl1 ANY ANY
- Список плагинов
-
[ 1] Admin Base 1.9.0.5249 AMXX Dev Team admin.amxx running
[ 2] Admin Commands 1.9.0.5249 AMXX Dev Team admincmd.amxx running
[ 3] Slots Reservation 1.9.0.5249 AMXX Dev Team adminslots.amxx running
[ 4] Menus Front-End 1.9.0.5249 AMXX Dev Team menufront.amxx running
[ 5] Commands Menu 1.9.0.5249 AMXX Dev Team cmdmenu.amxx running
[ 6] Players Menu 1.8.2 AMXX Dev Team plmenu.amxx running
[ 7] Maps Menu 1.9.0.5249 AMXX Dev Team mapsmenu.amxx running
[ 8] Plugin Menu 1.9.0.5249 AMXX Dev Team pluginmenu.amxx running
[ 9] Admin Chat 1.9.0.5249 AMXX Dev Team adminchat.amxx running
[ 10] Admin Votes 1.9.0.5249 AMXX Dev Team adminvote.amxx running
[ 11] NextMap 1.9.0.5249 AMXX Dev Team nextmap.amxx running
[ 12] Nextmap Chooser 1.9.0.5249 AMXX Dev Team mapchooser.amxx running
[ 13] TimeLeft 1.9.0.5249 AMXX Dev Team timeleft.amxx running
[ 14] Pause Plugins 1.9.0.5249 AMXX Dev Team pausecfg.amxx running
[ 15] Stats Configuration 1.9.0.5249 AMXX Dev Team statscfg.amxx running
[ 16] KnifeMenu 1.0 Natasha knife.amxx running
- Автор плагина
- Автор плагина я
- Версия плагина
- 1.0
- Исходный код
-
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#define PLUGIN "KnifeMenu"
#define VERSION "1.0"
#define AUTHOR "Natalya"
#define GolD ADMIN_LEVEL_H // Флаг Админа
#define GolD2 ADMIN_LEVEL_H // Флаг Админа
#define GolD3 ADMIN_LEVEL_H // Флаг Админа
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_0
new szTwoJump[33], szTwoJumpNum[33], szDoTwoJump[33]
new KnifeId[33]
public plugin_precache()
{
precache_model("models/v_knife.mdl") // Обычный нож
precache_model("models/knife_gold/v_knife.mdl") // GOLD Нож
precache_model("models/knife_gold/v_knife.mdl") // GOLD Нож +20hp
precache_model("models/knife_gold/v_m9.mdl") // GOLD Нож +20hp+прыжок
precache_model("models/p_knife.mdl") // Обычный нож
precache_model("models/knife_gold/p_knife.mdl") // GOLD Нож
precache_model("models/knife_gold/p_knife.mdl") // GOLD Нож +20hp
precache_model("models/knife_gold/p_knife.mdl") // GOLD Нож +20hp+прыжок
precache_model("models/player/jailmodels/jailmodels.mdl") // Модель КТ - Папка и название модели должны быть одинаковые.
precache_model("models/player/jailmodels/jailmodels.mdl") // Модель TT - Папка и название модели должны быть одинаковые.
return PLUGIN_CONTINUE
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu 1", keys, "menu_knife")
register_clcmd("say /knife", "knife_menu")
register_clcmd("say_team /knife", "knife_menu")
register_clcmd("knife", "knife_menu")
register_clcmd("knifes", "knife_menu")
RegisterHam(Ham_Item_Deploy, "weapon_knife", "SetKnife", 1)
RegisterHam(Ham_Item_Holster, "weapon_knife", "KnifeSet", 1)
RegisterHam(Ham_TakeDamage, "player", "EventDamage", 0)
RegisterHam(Ham_TakeDamage, "player", "TakeDamage", .Post = true)
RegisterHam(Ham_Killed, "player", "KilledPost", .Post = true)
RegisterHam(Ham_Player_Jump, "player", "PreTwoJump")
register_event("ResetHUD", "resetModel", "b")
RegisterHam(Ham_Spawn,"player","player_respawn")
register_logevent("round_start",2,"1=Round_Start")
}
public round_start(id)
{
client_cmd(id, "knife")
KnifeId[id] = 0
}
public player_respawn(id)
{
client_cmd(id, "knife")
KnifeId[id] = 0
}
public resetModel(id, level, cid)
{
if(get_user_flags(id) & GolD3)
{
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T)
{
cs_set_user_model(id, "jailmodels") // Модель ТТ
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "jailmodels") // Модель КТ
}
else
{
cs_reset_user_model(id)
}
}
return PLUGIN_CONTINUE
}
public client_connect(id)
{
KnifeId[id] = 0
}
public client_disconnect(nClientIndex)
{
remove_task(nClientIndex)
}
public knife_menu(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yВыберите \rличный \yнож^nВ продаже есть еще \rличный префикс\r/СКИН игрока\r/\yTOP-1 место^nПокупать на нашем сайте^n^n")
if(!is_user_connected(id))
return PLUGIN_CONTINUE
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y1. \wОбчный нож^n")
keys |= MENU_KEY_1
if(get_user_flags(id) & GolD)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y2. \wGOLD нож + Урон 2x = 50р/навсегда^n")
keys |= MENU_KEY_2
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y2. \wGOLD нож + Урон 2x = 50р/навсегда \r[Не куплен]^n")
}
if(get_user_flags(id) & GolD2)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y3. \wGOLD нож + Урон 2x + 20hp = 75р/навсегда^n")
keys |= MENU_KEY_3
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y3. \wGOLD нож + Урон 2x + 20hp = 75р/навсегда \r[Не куплен]^n")
}
if(get_user_flags(id) & GolD3)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y4. \wGOLD нож + Урон 2x + 20hp + прыжок = 100р/навсегда^n^n")
keys |= MENU_KEY_4
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y4. \wGOLD нож + Урон 2x + 20hp + прыжок = 100р/навсегда \r[Не куплен]^n^n")
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y0. \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu 1")
return PLUGIN_HANDLED
}
public menu_knife(id, key)
{
new health[32]
switch(key)
{
case 0:
{
KnifeId[id] = 0
ColorChat(id, GREEN, "[^4Ножи^1] ^4Вы взяли обычный нож")
}
case 1:
{
if(get_user_flags(id) & GolD)
{
health[id] = get_user_health(id)
set_user_health(id,health[id] + 20)
KnifeId[id] = 1
ColorChat(id, GREEN, "[^4Ножи^1] GOLD: ^42x урон")
}
}
case 2:
{
if(get_user_flags(id) & GolD2)
{
health[id] = get_user_health(id)
set_user_health(id,health[id] + 20)
KnifeId[id] = 2
}
}
case 3:
{
if(get_user_flags(id) & GolD3)
{
health[id] = get_user_health(id)
set_user_health(id,health[id] + 20)
KnifeId[id] = 3
ColorChat(id, GREEN, "[^4Ножи^1] GOLD 3: ^42x урон + 20hp + 2x прыжок")
}
}
}
return PLUGIN_HANDLED
}
public SetKnife(weapon)
{
new id = get_pdata_cbase(weapon, 41, 4)
if(!is_user_connected(id))
return PLUGIN_CONTINUE
if(KnifeId[id] == 0)
{
set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
set_pev(id, pev_weaponmodel2, "models/p_knife.mdl")
set_pdata_float(weapon, 58, 250.0)
set_pev(id, pev_gravity, 1.0)
szTwoJump[id] = false
}
if(KnifeId[id] == 1 || get_user_flags(id) & GolD)
{
set_pev(id, pev_viewmodel2, "models/knife_gold/v_knife.mdl")
set_pev(id, pev_weaponmodel2, "models/knife_gold/p_knife.mdl")
set_pdata_float(weapon, 58, 250.0)
set_pev(id, pev_gravity, 1.0)
szTwoJump[id] = false
}
if(KnifeId[id] == 2 || get_user_flags(id) & GolD2)
{
set_pev(id, pev_viewmodel2, "models/knife_gold/v_knife.mdl")
set_pev(id, pev_weaponmodel2, "models/knife_gold/p_knife.mdl")
set_pdata_float(weapon, 58, 250.0)
set_pev(id, pev_gravity, 1.0)
szTwoJump[id] = false
}
if(KnifeId[id] == 3 || get_user_flags(id) & GolD3)
{
set_pev(id, pev_viewmodel2, "models/knife_gold/v_m9.mdl")
set_pev(id, pev_weaponmodel2, "models/knife_gold/p_knife.mdl")
set_pdata_float(weapon, 58, 250.0)
set_pev(id, pev_gravity, 1.0)
szTwoJump[id] = true
}
return PLUGIN_HANDLED
}
public KilledPost(nClientIndex)
{
remove_task(nClientIndex)
}
public KnifeSet(ent)
{
set_pev(get_pdata_cbase(ent, 41, 4), pev_gravity, 1.0)
}
public EventDamage(victim, inflicator, attacker, Float:damage)
{
if(!is_user_connected(attacker))
return PLUGIN_HANDLED;
if(victim == attacker || !victim)
return PLUGIN_HANDLED;
if(get_user_team(attacker) != get_user_team (victim) && attacker != victim && get_user_weapon(attacker) == CSW_KNIFE && (KnifeId[attacker] == 1 || KnifeId[attacker] == 2 || KnifeId[attacker] == 3))
SetHamParamFloat(4, damage * 2.0)
return PLUGIN_HANDLED;
}
public TakeDamage(nClientIndex)
{
if(is_user_alive(nClientIndex))
{
task_exists(nClientIndex)
}
}
public PreTwoJump(id)
{
if(szTwoJump[id] && get_user_weapon(id) == CSW_KNIFE)
{
new szButton = pev(id, pev_button)
new szOldButton = pev(id, pev_oldbuttons)
if((szButton & IN_JUMP) && !(pev(id, pev_flags) & FL_ONGROUND) && !(szOldButton & IN_JUMP))
{
if(szTwoJumpNum[id] < 1)
{
szDoTwoJump[id] = true
szTwoJumpNum[id]++
PostTwoJump(id)
return PLUGIN_CONTINUE
}
}
if((szButton & IN_JUMP) && (pev(id, pev_flags) & FL_ONGROUND))
{
szTwoJumpNum[id] = 0
}
}
return PLUGIN_CONTINUE
}
public PostTwoJump(id)
{
if(szTwoJump[id])
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE
if(szDoTwoJump[id])
{
new Float:szVelocity[3]
pev(id, pev_velocity, szVelocity)
szVelocity[2] = random_float(295.0,305.0)
set_pev(id, pev_velocity, szVelocity)
szDoTwoJump[id] = false
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}
Можно ли сделать так чтобы когда выбираешь любой ножик он менялся сразу.
Так же при выборе ножа он не меняется. Пробовала создавать отчет с KnifeId[id] = 0, не работает, потом начала подчет с 1, тоже не работает. При респавне игрока без флага он появляется с обычным ножом, при заходе игрока с флагом то он появляется с последним ножом.
В чем проблема. Уже капаюсь час и не могу ничего сделать.
Так же при выборе ножа он не меняется. Пробовала создавать отчет с KnifeId[id] = 0, не работает, потом начала подчет с 1, тоже не работает. При респавне игрока без флага он появляется с обычным ножом, при заходе игрока с флагом то он появляется с последним ножом.
В чем проблема. Уже капаюсь час и не могу ничего сделать.
Вложения
-
8.6 KB Просмотры: 380