Drag.

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Drag.

Post by psychical »

Nu as tai turejau omeny:

Code: Select all

public drag_start(id){    if (gInfected[id] && iClass[id] == 3)     {                static Float:cdown        cdown = get_pcvar_float(cvar_cooldown)                if (!is_user_alive(id)) {            client_print(id, print_chat, "You can't drag if you are dead!")            return        }                if (g_hooksLeft[id] <= 0) {            client_print(id, print_chat, "You can't drag anymore!")            return        }                if (get_gametime() - g_lastHook[id] < cdown) {            client_print(id, print_chat, "Wait %.fsec. to drag again!", get_pcvar_float(cvar_cooldown) - (get_gametime() - g_lastHook[id]))            return        }                if (g_hooksLeft[id] > 0) {            g_hooksLeft[id]--            client_print(id, print_chat, "Drags left %d %s", g_hooksLeft[id], (g_hooksLeft[id] < 2) ? "" : "s")        }                new hooktarget, body                get_user_aiming(id, hooktarget, body)                if (is_user_alive(hooktarget)) {            if (get_user_team(hooktarget) != get_user_team(id)) {                g_hooked[id] = hooktarget                emit_sound(hooktarget, CHAN_BODY, g_sndamb, 1.0, ATTN_NORM, 0, PITCH_HIGH)                } else {                if (is_user_alive(hooktarget)) {                    if (get_pcvar_num(cvar_mates) == 0) {                        client_print(id, print_chat, "You can't drag teammates!")                        return                    }                    if (get_pcvar_num(cvar_mates) == 1) {                        g_hooked[id] = hooktarget                        emit_sound(hooktarget, CHAN_BODY, g_sndamb, 1.0, ATTN_NORM, 0, PITCH_HIGH)            emit_sound(id, CHAN_VOICE, g_sndDrag, 1.0, ATTN_NORM, 0, PITCH_HIGH)                    }                    } else {                    g_hooked[id] = 33                    noTarget(id)                    emit_sound(id, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH)                    return                }            }                        new parm[2]            parm[0] = id            parm[1] = hooktarget            if (!is_user_alive(id))             {                set_task(0.1, "smoker_reelin", id, parm, 2, "b")            }            harpoon_target(id, parm)                        set_task(8.0,"drag_end_2",id + 850)                    }         else         {            g_hooked[id] = 33            noTarget(id)            emit_sound(hooktarget, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH)            remove_task(id + 850)        }    } }
Bet nzn ar taip teisinga...

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Drag.

Post by aurimasko »

nemanau kad veiks, nes gi pradeda taską ir naudoja bet jau į tą kodą kuriuo pradėjo taską nežiūri ar klystu?

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Drag.

Post by psychical »

aurimasko wrote:nemanau kad veiks, nes gi pradeda taską ir naudoja bet jau į tą kodą kuriuo pradėjo taską nežiūri ar klystu?
Nu pagal ideja, nematau as to smoker_reelin , matyciau gal ka ir pasakyciau tada :D

User avatar
nuodas159
Flooderis arba specialistas
Posts: 522
Joined: 2010 Sep 03 15:30
Skype: nuodas159
Location: SunCity

Re: Drag.

Post by nuodas159 »

Vistiek laikai v raide ir tave nusauna arba nusizudai ,bet dragas pasilieka po 5s pradingsta jisai...

Code: Select all

 public drag_start(id){    if (gInfected[id] && iClass[id] == 3)    {                static Float:cdown        cdown = get_pcvar_float(cvar_cooldown)               if (!is_user_alive(id)) {            client_print(id, print_chat, "You can't drag if you are dead!")            return        }               if (g_hooksLeft[id] <= 0) {            client_print(id, print_chat, "You can't drag anymore!")            return        }               if (get_gametime() - g_lastHook[id] < cdown) {            client_print(id, print_chat, "Wait %.fsec. to drag again!", get_pcvar_float(cvar_cooldown) - (get_gametime() - g_lastHook[id]))            return        }               if (g_hooksLeft[id] > 0) {            g_hooksLeft[id]--            client_print(id, print_chat, "Drags left %d %s", g_hooksLeft[id], (g_hooksLeft[id] < 2) ? "" : "s")        }               new hooktarget, body               get_user_aiming(id, hooktarget, body)               if (is_user_alive(hooktarget)) {            if (get_user_team(hooktarget) != get_user_team(id)) {                g_hooked[id] = hooktarget                emit_sound(hooktarget, CHAN_BODY, g_sndamb, 1.0, ATTN_NORM, 0, PITCH_HIGH)                } else {                if (is_user_alive(hooktarget)) {                    if (get_pcvar_num(cvar_mates) == 0) {                        client_print(id, print_chat, "You can't drag teammates!")                        return                    }                    if (get_pcvar_num(cvar_mates) == 1) {                        g_hooked[id] = hooktarget                        emit_sound(hooktarget, CHAN_BODY, g_sndamb, 1.0, ATTN_NORM, 0, PITCH_HIGH)                        emit_sound(id, CHAN_VOICE, g_sndDrag, 1.0, ATTN_NORM, 0, PITCH_HIGH)                    }                    } else {                    g_hooked[id] = 33                    noTarget(id)                    emit_sound(id, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH)                    return                }            }                       new parm[2]            parm[0] = id            parm[1] = hooktarget            if (!is_user_alive(id))            {                set_task(0.1, "smoker_reelin", id, parm, 2, "b")            }            harpoon_target(id, parm)                       set_task(8.0,"drag_end_2",id + 850)                   }        else        {            g_hooked[id] = 33            noTarget(id)            emit_sound(hooktarget, CHAN_BODY, g_sndMiss, 1.0, ATTN_NORM, 0, PITCH_HIGH)            remove_task(id + 850)        }    }} public smoker_reelin(parm[]) // dragging player to smoker{        new id = parm[0]        new victim = parm[1]            if (!g_hooked[id])           return            if (!is_user_alive(victim)) {           drag_end(id)           return        }            new Float:fl_Velocity[3]        new idOrigin[3], vicOrigin[3]            get_user_origin(victim, vicOrigin)        get_user_origin(id, idOrigin)            new distance = get_distance(idOrigin, vicOrigin)            if (distance > 1) {            new Float:fl_Time = distance / get_pcvar_float(cvar_dragspeed)                    fl_Velocity[0] = (idOrigin[0] - vicOrigin[0]) / fl_Time            fl_Velocity[1] = (idOrigin[1] - vicOrigin[1]) / fl_Time            fl_Velocity[2] = (idOrigin[2] - vicOrigin[2]) / fl_Time            } else {            fl_Velocity[0] = 0.0            fl_Velocity[1] = 0.0            fl_Velocity[2] = 0.0        }            entity_set_vector(victim, EV_VEC_velocity, fl_Velocity) //<- rewritten. now uses engine} public smoker_death(id) // if smoker dies drag off{        if (gInfected[id] && iClass[id] == 3)         {            new id = read_data(2)                beam_remove(id)                if (g_hooked[id])                    drag_end(id)        }}
Image

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Drag.

Post by aurimasko »

pagal mane bandei daryt?

User avatar
nuodas159
Flooderis arba specialistas
Posts: 522
Joined: 2010 Sep 03 15:30
Skype: nuodas159
Location: SunCity

Re: Drag.

Post by nuodas159 »

Joa... Gal pagal sita kodo reikejo ,nes katik suradau ji :D ,bet bandziau jusu kodus neveikia...

Code: Select all

 public smoker_death(id) // if smoker dies drag off{        if (gInfected[id] && iClass[id] == 3)         {            new id = read_data(2)                beam_remove(id)                if (g_hooked[id])                    drag_end(id)        }}
Image

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Drag.

Post by aurimasko »

na tai sakiau šitokiu būdu dar gali bandyti :) turėtų veikti šiaip.

User avatar
nuodas159
Flooderis arba specialistas
Posts: 522
Joined: 2010 Sep 03 15:30
Skype: nuodas159
Location: SunCity

Re: Drag.

Post by nuodas159 »

Neveikia zinok situ budu ;/... Tai ka daryti?
Image

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Drag.

Post by aurimasko »

1. isitikink kad registruotas eventas.
2. jeigu čia Deathmsg eventas, tai jis neturi id todėl turi būti ne funkcija(id), o funkcija().
3. Kadangi šis eventas neturi id elemento tai šį kodą new id = read_data(2) reikia dėti prieš if(...)

Gal tada ir pradės kažkas veikt..

User avatar
nuodas159
Flooderis arba specialistas
Posts: 522
Joined: 2010 Sep 03 15:30
Skype: nuodas159
Location: SunCity

Re: Drag.

Post by nuodas159 »

aurimasko ACIŪ veikia :) :respect:
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest