Русское сообщество по скриптингу

[Chameleon] Не работает (hamspawn)

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

[Chameleon] Не работает (hamspawn)

Сообщение Anonymouswhite » 21 апр 2018, 15:14

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>

#define Sound "misc/haha.wav"

new p_Onp_iCostp_szPrefixp_iHealthp_iAdd_Healthp_iSoundp_iMaxHealthp_iMsgShowTimep_iCheckTime 

new g_szPrefix[32]
new 
g_CZ

new b_has_chameleon[33]

new const 
t_models[][] =
{
    
"arctic",
    
"guerilla",
    
"leet",
    
"terror",
    
"militia"
}

new const 
ct_models[][] =
{
    
"gign",
    
"gsg9",
    
"sas",
    
"urban",
    
"spetsnaz"
}

public 
plugin_precache()
{
    
precache_sound(Sound)
}

public 
plugin_init()
{
    
register_plugin("Chameleon""1.0""")
    
    
register_event("DeathMsg""event_death""a")
    
    
RegisterHam(Ham_Spawn"player""OnPlayerSpawn"1);
    
    
register_clcmd("chameleon""Clcmd_Chameleon")
    
    
p_On        register_cvar("chameleon""1")
    
p_iCost        register_cvar("chameleon_cost""10")
    
p_szPrefix     register_cvar("chameleon_prefix""Chameleon")
    
p_iHealth     register_cvar("chameleon_health""1")
    
p_iAdd_Health     register_cvar("cham_killer_health""20")
    
p_iMaxHealth    register_cvar("cham_killer_max_health""120")
    
p_iSound     register_cvar("chameleon_sounds""1")
    
p_iMsgShowTime    register_cvar("cham_infomsg_show_time""180.0")
    
p_iCheckTime    register_cvar("cl_minmodels_check_time""30.0")
    
    new 
iEnt        create_entity("info_target")
    
entity_set_string(iEntEV_SZ_classname"show_infomsg_entity")
    
    
register_think("show_infomsg_entity""InfoMsg")
    
entity_set_float(iEntEV_FL_nextthinkget_gametime() + get_pcvar_float(p_iMsgShowTime))
    
    
g_CZ        is_running("czero")
}

public 
client_connect(id)
    
b_has_chameleon[id] = false

public client_disconnect(id)
    
b_has_chameleon[id] = false

public client_putinserver(id)
    
set_task(get_pcvar_float(p_iCheckTime), "Check_Minmodels_Value"id, .flags="b")

public 
OnPlayerSpawn(id

b_has_chameleon[id] = false 
}    

public 
event_death()
{
    new 
iKiller read_data(1)
    new 
iVictim read_data(2)
    
    if(
iKiller != iVictim && is_user_connected(iKiller) && get_pcvar_num(p_On) == 1)
    {
        if(
b_has_chameleon[iVictim])
        {
            if(
get_pcvar_num(p_iHealth))
            {
                new 
szKillerName[32]
                
get_user_name(iKillerszKillerNamecharsmax(szKillerName))
                
client_print(0print_chat"Вы Получаете дополнительное здоровье для убийства!"szKillerName)
                
                
set_user_health(iKillerget_user_health(iKiller) + get_pcvar_num(p_iAdd_Health))
                
                if(
get_user_health(iKiller) >= get_pcvar_num(p_iMaxHealth))
                {
                    
set_user_health(iKillerget_pcvar_num(p_iMaxHealth))
                }
            }
            
            switch(
get_pcvar_num(p_iSound))
            {
                case 
1client_cmd(0"spk ^"%s^""Sound)
                case 
2client_cmd(iKiller"spk ^"%s^""Sound)
                case 
3client_cmd(iVictim"spk ^"%s^""Sound)
            }
                
            
cs_reset_user_model(iVictim)
            
b_has_chameleon[iVictim] = false
        
}
    }
}

public 
Clcmd_Chameleon(id)
{
    if(
get_pcvar_num(p_On))
    {
        new 
iMoney cs_get_user_money(id) - get_pcvar_num(p_iCost)
        
get_pcvar_string(p_szPrefixg_szPrefixcharsmax(g_szPrefix))
        
        if(
b_has_chameleon[id])
        {
            
client_print(0print_chat"[Меню Прокачки] У вас есть Модель Противника!"g_szPrefix)
        }
        else if(!
is_user_alive(id))
        {
            
client_print(0print_chat"[Меню Прокачки] Вы не сможете купить (вы мертвы)!"g_szPrefix)
        }
        else
        {
            switch(
cs_get_user_team(id))
            {
                case 
CS_TEAM_T:
                {
                    
cs_set_user_model(idct_models[random(g_CZ )])
                    
cs_set_user_money(idiMoney)
                    
client_print(idprint_chat"[Меню Прокачки] Теперь вы будете выглядеть как враг!"g_szPrefix)
                    
b_has_chameleon[id] = true
                
}
                case 
CS_TEAM_CT:
                {
                    
cs_set_user_model(idt_models[random(g_CZ )])
                    
cs_set_user_money(idiMoney)
                    
client_print(idprint_chat"[Меню Прокачки] Теперь вы будете выглядеть как враг!"g_szPrefix)
                    
b_has_chameleon[id] = true
                
}
            }
        }
    }
}

public 
InfoMsg(iEnt)
{
    
client_print(0print_chat"")
    
entity_set_float(iEntEV_FL_nextthinkget_gametime() + get_pcvar_float(p_iMsgShowTime))
}

public 
Check_Minmodels_Value(id)
{
    if(
is_user_connected(id) && !is_user_bot(id))
    {
        
query_client_cvar(id"cl_minmodels""Minmodels_Value")
    }
}

public 
Minmodels_Value(id, const cvar[], const value[])
{
    new 
iValue str_to_num(value)
    
    if(
iValue 0)
        
server_cmd("kick #%d ^"This server use /chameleon featurewhich requires cl_minmodels 0 !^""get_user_userid(id))
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3098\\ f0\\ fs16 \n\\ par }
*/
 

public OnPlayerSpawn(id)
{
b_has_chameleon[id] = false
}
Этот функция не работает, ( помогите пожалусто )
Хочу сделать так чтобы при смерти исчезал хамелеон ( тоесть модель противника )
Аватара пользователя
Anonymouswhite
 
Сообщения: 20
Зарегистрирован: 15 мар 2017, 22:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: Pawn
SourcePawn
C++

Re: [Chameleon] Не работает (hamspawn)

Сообщение Stimul » 21 апр 2018, 15:21

Код: Выделить всё
public OnPlayerSpawn(id) 
{
    if(is_user_alive(id) && b_has_chameleon[id])
    {
        cs_reset_user_model(id)
        b_has_chameleon[id] = false 
    
}
}
Последний раз редактировалось Stimul 21 апр 2018, 20:41, всего редактировалось 1 раз.
Аватара пользователя
Stimul
 
Сообщения: 3571
Зарегистрирован: 04 янв 2012, 19:51
Благодарил (а): 192 раз.
Поблагодарили: 1151 раз.
Опыт программирования: Больше трех лет

Re: [Chameleon] Не работает (hamspawn)

Сообщение Anonymouswhite » 21 апр 2018, 17:06

Stimul,
сделал так работает код но не работает функция:(
public OnPlayerSpawn(id)
{
if(!is_user_alive(id) & b_has_chameleon[id])
{
cs_reset_user_model(id)
b_has_chameleon[id] = false
}
}

Добавлено спустя 1 час 24 минуты 16 секунд:
спасибо всем уже решил проблему.
Код который стимул дал не работает!
Аватара пользователя
Anonymouswhite
 
Сообщения: 20
Зарегистрирован: 15 мар 2017, 22:35
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: Pawn
SourcePawn
C++

Re: [Chameleon] Не работает (hamspawn)

Сообщение Stimul » 21 апр 2018, 20:44

сделал так работает код но не работает функция:(

Шта?
спасибо всем уже решил проблему.

Так где решение? Или ты думаешь только о себе?

Надо все-таки обходить таких товарищей стороной.
Аватара пользователя
Stimul
 
Сообщения: 3571
Зарегистрирован: 04 янв 2012, 19:51
Благодарил (а): 192 раз.
Поблагодарили: 1151 раз.
Опыт программирования: Больше трех лет


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4