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

эффект волны для объекта

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

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

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

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

эффект волны для объекта

Сообщение dvahitov95 » 13 сен 2017, 15:35

Всем привет. Не получается объекту выдать эффект волны. Что делаю не так?


Код: Выделить всё
            Ent create_entity("info_target")

            if(
is_valid_ent(Ent))
            {
                
entity_set_model(Entg_mdl_bomb)
                
entity_set_size(Ent,Float:{-6.0, -10.00.0},Float:{6.010.018.0})
                new 
Float:f_Origin[3]
                
entity_get_vector(idEV_VEC_originf_Origin)
                
f_Origin[0] += 50.0
                entity_set_origin
(Entf_Origin)
                
entity_set_int(EntEV_INT_solidSOLID_BBOX)

                new 
Float:angles[3]
                
angles[0] = 0.0
                angles
[1] = 0.0
                angles
[2] = 0.0
                entity_set_vector
(EntEV_VEC_anglesangles)
                
drop_to_floor(Ent)

                
create_cylinder(100g_sprite_cylinder016301255002550



Код: Выделить всё
stock create_cylinder(addradspritestartfrateframeratelifewidthamplituderedgreenbluebrightnessspeed)
{
    new 
Origin[3]

    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_BEAMCYLINDER)
    
write_coord(Origin[0])
    
write_coord(Origin[1])
    
write_coord(Origin[2])
    
write_coord(Origin[0])
    
write_coord(Origin[1])
    
write_coord(Origin[2] + addrad)
    
write_short(sprite)
    
write_byte(startfrate)
    
write_byte(framerate)
    
write_byte(life)
    
write_byte(width)
    
write_byte(amplitude)
    
write_byte(red)
    
write_byte(green)
    
write_byte(blue)
    
write_byte(brightness)
    
write_byte(speed)
    
message_end()
Аватара пользователя
dvahitov95
 
Сообщения: 133
Зарегистрирован: 07 авг 2017, 17:48
Благодарил (а): 16 раз.
Поблагодарили: 1 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: эффект волны для объекта

Сообщение Garey » 13 сен 2017, 16:38

добавьте Origin в функции create_cylinder в качестве аргумента, сейчас у вас в нулевой позиции создается цилиндр
Аватара пользователя
Garey
 
Сообщения: 85
Зарегистрирован: 24 дек 2010, 03:12
Благодарил (а): 4 раз.
Поблагодарили: 37 раз.

Re: эффект волны для объекта

Сообщение dvahitov95 » 13 сен 2017, 17:00

Код: Выделить всё
            Ent create_entity("info_target")
            
set_pev(Entpev_classname"t_bomb")

            if(
is_valid_ent(Ent))
            {
                
entity_set_model(Entg_mdl_bomb)
                
entity_set_size(Ent,Float:{-6.0, -10.00.0},Float:{6.010.018.0})
                new 
Float:f_Origin[3]
                
entity_get_vector(idEV_VEC_originf_Origin)
                
f_Origin[0] += 50.0
                entity_set_origin
(Entf_Origin)
                
entity_set_int(EntEV_INT_solidSOLID_BBOX)

                new 
Float:angles[3]
                
angles[0] = 0.0
                angles
[1] = 0.0
                angles
[2] = 0.0
                entity_set_vector
(EntEV_VEC_anglesangles)
                
drop_to_floor(Ent)
                
set_task(1.0"blast_circle"157787


Код: Выделить всё
public blast_circle()
{
    new 
ent = -1
    
while((ent find_ent_by_model(ent"grenade""models/w_bomb.mdl")))
    {
        
create_blast_circle(ent)
        
set_task(2.0"blast_circle"157787)
    }
}

stock create_blast_circle(ent)
{
    
entity_get_vector(entEV_VEC_originfOrigin)
    
FVecIVec(fOriginiOrigin)

    
message_begin(MSG_BROADCASTSVC_TEMPENTITYiOrigin)
    
write_byte(TE_BEAMCYLINDER)
    
write_coord(iOrigin[0])
    
write_coord(iOrigin[1])
    
write_coord(iOrigin[2])
    
write_coord(iOrigin[0])
    
write_coord(iOrigin[1])
    
write_coord(iOrigin[2] + 125)
    
write_short(g_sprite_cylinder)
    
write_byte(0)
    
write_byte(1)
    
write_byte(6)
    
write_byte(8)
    
write_byte(1)
    
write_byte(255)
    
write_byte(0)
    
write_byte(0)
    
write_byte(128)
    
write_byte(5)
    
message_end()



пробовал и так. всё равно не работает
Аватара пользователя
dvahitov95
 
Сообщения: 133
Зарегистрирован: 07 авг 2017, 17:48
Благодарил (а): 16 раз.
Поблагодарили: 1 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#

Re: эффект волны для объекта

Сообщение Garey » 13 сен 2017, 21:01

у меня ваш код работает... только в теле функции create_blast_circle добавил
new Float:fOrigin[3];
new iOrigin[3];
Аватара пользователя
Garey
 
Сообщения: 85
Зарегистрирован: 24 дек 2010, 03:12
Благодарил (а): 4 раз.
Поблагодарили: 37 раз.

Re: эффект волны для объекта

Сообщение dvahitov95 » 13 сен 2017, 21:47

Garey писал(а):у меня ваш код работает... только в теле функции create_blast_circle добавил
new Float:fOrigin[3];
new iOrigin[3];

какой именно код? Я скидывал 2
Аватара пользователя
dvahitov95
 
Сообщения: 133
Зарегистрирован: 07 авг 2017, 17:48
Благодарил (а): 16 раз.
Поблагодарили: 1 раз.
Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#


Вернуться в Скриптинг

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

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