AMX MOD X
Пятница, 09.01.2026, 15:13:46



Приветствую Вас Гость | RSS
[ Главная ] [ Установить keyvalue на func_button - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Установить keyvalue на func_button
He_npeTДата: Воскресенье, 06.04.2008, 05:25:57 | Сообщение # 1
Генерал-майор
Группа: Скриптеры
Сообщений: 292
Репутация: 7
Статус: Не в сети
Я всё ещё никак не могу хорошо понять, как keyvalue действует... Пытался зделать sound "null.wav" при нажатие, нa кнопку, чтобы через эвент emitsound мог вычеслить нажалась ли она (пытаюсь зделать без hamsandwitch, так-что не предлогайте пробывать Ham_Use). В обшем возвращаемся к теме: как мне зделать на токо-что созданый func_button sound "null.wav" (стандарный - тишына)?

Пробывал этот код, но привело к crash'у:

Code

stock set_button_sound(ent)
{
    set_kvd(0, KV_ClassName, "func_button");
    set_kvd(0, KV_KeyName, "Sounds");
    set_kvd(0, KV_Value, "0");
    set_kvd(0, KV_fHandled, 0);
       
    return dllfunc(DLLFunc_KeyValue, ent);
}

Вот информачыя о "func_button":

Code

@SolidClass base(Global,Targetname, Target, RenderFields, Angles, ZHLT) = func_button : "Button"    
[
    speed(integer) : "Speed" : 5
    health(integer) : "Health (shootable if > 0)"
    lip(integer) : "Lip"
    master(string) : "Master"    
    sounds(choices) : "Sounds" : 0 =    
    [
     0: "None"
     1: "Big zap & Warmup"
     2: "Access Denied"
     3: "Access Granted"
     4: "Quick Combolock"
     5: "Power Deadbolt 1"
     6: "Power Deadbolt 2"
     7: "Plunger"
     8: "Small zap"
     9: "Keycard Sound"
     10: "Buzz"
     11: "Buzz Off"
     14: "Lightswitch"
    ]
    wait(integer) : "delay before reset (-1 stay)" : 3
    delay(string) : "Delay before trigger" : "0"
    spawnflags(flags) =
    [
     1: "Don't move" : 0
     32: "Toggle" : 0
     64: "Sparks" : 0
     256:"Touch Activates": 0
    ]
    locked_sound(choices) : "Locked Sound" : 0 =    
    [
     0: "None"
     2: "Access Denied"
     8: "Small zap"
     10: "Buzz"
     11: "Buzz Off"
     12: "Latch Locked"
    ]
    unlocked_sound(choices) : "Unlocked Sound" : 0 =    
    [
     0: "None"
     1: "Big zap & Warmup"
     3: "Access Granted"
     4: "Quick Combolock"
     5: "Power Deadbolt 1"
     6: "Power Deadbolt 2"
     7: "Plunger"
     8: "Small zap"
     9: "Keycard Sound"
     10: "Buzz"
     13: "Latch Unlocked"
     14: "Lightswitch"
    ]
    locked_sentence(choices) : "Locked Sentence" : 0 =    
    [
     0: "None"
     1: "Gen. Access Denied"
     2: "Security Lockout"
     3: "Blast Door"
     4: "Fire Door"
     5: "Chemical Door"
     6: "Radiation Door"
     7: "Gen. Containment"
     8: "Maintenance Door"
     9: "Broken Shut Door"
    ]
    unlocked_sentence(choices) : "Unlocked Sentence" : 0 =    
    [
     0: "None"
     1: "Gen. Access Granted"
     2: "Security Disengaged"
     3: "Blast Door"
     4: "Fire Door"
     5: "Chemical Door"
     6: "Radiation Door"
     7: "Gen. Containment"
     8: "Maintenance area"
    ]
    _minlight(string) : "Minimum light level"
]

Plz help. =)


// edit:

Разобрался, но как зделать, чтобы button не двигался?

Нынешний мой код:

Code

stock set_button_kvd(ent, start)
{
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, start?g_iButtonStart_model:g_iButtonEnd_model);
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "unlocked_sentence");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "locked_sentence");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "unlocked_sound");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "locked_sound");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "delay");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "wait");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "lip");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "health");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "rendermode");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "renderfx");
   set_kvd(0, KV_Value, equal(g_iButtonStart_model, g_iButtonEnd_model)?"19":"0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "sounds");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "target");
   set_kvd(0, KV_Value, start?g_sButtonStart_target:g_sButtonEnd_target);
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "speed");
   set_kvd(0, KV_Value, "0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "rendercolor");
   if( equal(g_iButtonStart_model, g_iButtonEnd_model) )
    set_kvd(0, KV_Value, start?"0 255 95":"255 95 0");
   else
    set_kvd(0, KV_Value, "0 0 0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "renderamt");
   set_kvd(0, KV_Value, equal(g_iButtonStart_model, g_iButtonEnd_model)?"64":"0");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "spawnflags");
   set_kvd(0, KV_Value, "33");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   set_kvd(0, KV_ClassName, "func_button");
   set_kvd(0, KV_KeyName, "angles");
   set_kvd(0, KV_Value, "0.000000 180.000000 0.000000");
   set_kvd(0, KV_fHandled, 0);
   if( !dllfunc(DLLFunc_KeyValue, ent, 0) )
    return 0;
     
   return dllfunc(DLLFunc_Spawn, ent);
}


My CS 1.6 Non-Steam AmXX Server! (HLSW) Play with steam - get autorslot

Сообщение отредактировал He_npeT - Воскресенье, 06.04.2008, 20:10:44
 
VENДата: Среда, 09.04.2008, 19:06:53 | Сообщение # 2
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Quote
Нынешний мой код
Довожу до твоего сведения, что эту груду повторяющегося однотипного кода безболезненно можно сократить в раз эдак 10-15.

Также в таких случаях необходимо выкладывать код полностью.

И если не можешь выкладывать нормально выровненный код, уж лучше прикрепляй его как файл.

 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026