Kullanıcı Tag Listesi

Sayfa 1/2 12 SonSon
18 sonuçtan 1 ile 10 arası
  1. #1
    er er
    Üyelik tarihi
    Nov 2012
    Mesajlar
    33
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart İSTEK ! Sadece Ct de hook basabilmek

    Arkadaşlar forumda gezdim 1 konu buldum oda link kırık çıktı sadece ct de hook basılabilcek plugin yaparmısınız lütfen

  2. #2
    teğmen emektar DeaTReX - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Feb 2012
    Yer
    İstanbul
    Mesajlar
    1.089
    Bahsedildi
    10 Mesaj
    Etiketlenmiş
    2 Konu
    Tecrübe Puanı
    14

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    Konu Gerekli Yere Taşınmıştır !
    İletişim ;

    MSN : DeaTReX
    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    SKYPE : DeaTReX

    Fakelerim Çıkmaya Başlamış Lütfen
    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
    & DeaTReX Adreslerinden Başka Hesabım Yoktur Lütfen Onlara Kanmayınız !

    Sunuculara Ve Serverlara Özel Plugin Ve Mod Kodlanır

  3. #3
    er er
    Üyelik tarihi
    Nov 2012
    Mesajlar
    33
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    Güncel

  4. #4
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    PHP- Kodu:
    /***********************************************************************************\
    *    Hook By P34nut    *    Thanks to Joka69, Chaosphere for testing and stuff!        *
    *************************************************************************************
    * Commands/ bindings:           
    *    +hook to throw the hook  
    *    -hook to delete your hook

    * Cvars:
    *    sv_hook - Turns hook on or off 
    *    sv_hookthrowspeed - Throw speed (default: 1000)
    *    sv_hookspeed - Speed to hook (default: 300)
    *    sv_hookwidth - Width of the hook (default: 32)
    *    sv_hooksound - Sounds of the hook on or off (default: 1)
    *    sv_hookcolor - The color of the hook 0 is white and 1 is team color (default: 1)
    *    sv_hookplayers - If set 1 you can hook on players (default: 0)
    *    sv_hookinterrupt - Remove the hook when something comes in its line (default: 0)
    *    sv_hookadminonly - Hook for admin only (default: 0)
    *    sv_hooksky - If set 1 you can hook in the sky (default: 0)
    *    sv_hookopendoors - If set 1 you can open doors with the hook (default: 1)
    *    sv_hookbuttons - If set 1 you can use buttons with the hook (default: 0)
    *    sv_hookpickweapons - If set 1 you can pickup weapons with the hook (default: 1)
    *    sv_hookhostflollow - If set 1 you can make hostages follow you (default 1)
    *    sv_hookinstant - Hook doesnt throw (default: 0)
    *    sv_hooknoise - adds some noise to the hook line (default: 0)
    *    sv_hookmax - Maximun numbers of hooks a player can use in 1 round
    *           - 0 for infinitive hooks (default: 0)
    *    sv_hookdelay - delay on the start of each round before a player can hook
    *                 - 0.0 for no delay (default: 0.0)
    *
    * ChangeLog:
    *    1.0: Release
    *    1.5: added cvars:
    *        sv_hooknoise
    *        sv_hookmax
    *        sv_hookdelay
    *        public cvar: sv_amxxhookmod
    *         added commands:
    *        amx_givehook <username>
    *        amx_takehook <username>
    *
    \***********************************************************************************/

    // Players admin level
    #define ADMINLEVEL ADMIN_RCON

    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <cstrike>
    #include <xs>

    #define message_begin_f(%1,%2,%3,%4) engfunc(EngFunc_MessageBegin, %1, %2, %3, %4)
    #define write_coord_f(%1) engfunc(EngFunc_WriteCoord, %1)

    //Cvars
    new pHookpThrowSpeedpSpeedpWidthpSoundpColor
    new pInterruptpAdminpHookSkypOpenDoorspPlayers
    new pUseButtonspHostagepWeaponspInstantpHookNoise
    new pMaxHookspRndStartDelaypCtOnly;
    // Sprite
    new sprBeam

    // Players hook entity
    new Hook[33]

    // MaxPlayers
    new gMaxPlayers

    // some booleans
    new bool:gHooked[33]
    new 
    bool:canThrowHook[33]
    new 
    bool:rndStarted

    // Player Spawn
    new bool:gRestart[33] = {false, ...}
    new 
    bool:gUpdate[33] = {false, ...}

    new 
    gHooksUsed[33// Used with sv_hookmax
    new bool:g_bHookAllowed[33// Used with sv_hookadminonly

    public plugin_init()
    {
        
    register_plugin("Hook""1.5""P34nut")
        
        
    // Hook commands
        
    register_clcmd("+hook""make_hook")
        
    register_clcmd("-hook""del_hook")
        
        
    register_concmd("amx_givehook""give_hook"ADMINLEVEL"<Username> - Give somebody access to the hook")
        
    register_concmd("amx_takehook""take_hook"ADMINLEVEL"<UserName> - Take away somebody his access to the hook")
        
        
    // Events for roundstart
        
    register_event("HLTV""round_bstart""a""1=0""2=0")
        
    register_logevent("round_estart"2"1=Round_Start"
        
        
    // Player spawn stuff
        
    register_event("TextMsg""Restart""a""2=#Game_will_restart_in")
        
    register_clcmd("fullupdate""Update"
        
    register_event("ResetHUD""ResetHUD""b")
        
        
    // Register cvars
        
    register_cvar("sv_amxxhookmod",  "version 1.5"FCVAR_SERVER// yay public cvar
        
    pHook =     register_cvar("sv_hook""1")
        
    pThrowSpeed =     register_cvar("sv_hookthrowspeed""4000")
        
    pSpeed =     register_cvar("sv_hookspeed""600")
        
    pWidth =     register_cvar("sv_hookwidth""16")
        
    pSound =     register_cvar("sv_hooksound""1")
        
    pColor =    register_cvar("sv_hookcolor""0")
        
    pPlayers =     register_cvar("sv_hookplayers""0")
        
    pInterrupt =     register_cvar("sv_hookinterrupt""0")
        
    pAdmin =     register_cvar("sv_hookadminonly",  "1")
        
    pHookSky =     register_cvar("sv_hooksky""1")
        
    pOpenDoors =     register_cvar("sv_hookopendoors""1")
        
    pUseButtons =     register_cvar("sv_hookusebuttons""1")
        
    pHostage =     register_cvar("sv_hookhostflollow""1")
        
    pWeapons =    register_cvar("sv_hookpickweapons""1")
        
    pInstant =    register_cvar("sv_hookinstant""1")
        
    pHookNoise =     register_cvar("sv_hooknoise""0")
        
    pMaxHooks =     register_cvar("sv_hookmax""0")
        
    pRndStartDelay register_cvar("sv_hookrndstartdelay""0.0")
        
    pCtOnly register_cvar("sv_hookctonly""1")
        
        
        
    // Touch forward
        
    register_forward(FM_Touch"fwTouch")
        
        
    // Get maxplayers
        
    gMaxPlayers get_maxplayers()
    }

    public 
    plugin_precache()
    {
        
    // Hook Model
        
    engfunc(EngFunc_PrecacheModel"models/rpgrocket.mdl")
        
        
    // Hook Beam
        
    sprBeam engfunc(EngFunc_PrecacheModel"sprites/zbeam4.spr")
        
        
    // Hook Sounds
        
    engfunc(EngFunc_PrecacheSound"weapons/xbow_hit1.wav"// good hit
        
    engfunc(EngFunc_PrecacheSound"weapons/xbow_hit2.wav"// wrong hit
        
        
    engfunc(EngFunc_PrecacheSound"weapons/xbow_hitbod1.wav"// player hit
        
        
    engfunc(EngFunc_PrecacheSound"weapons/xbow_fire1.wav"// deploy
    }


    public 
    make_hook(id)
    {
        
        if (
    get_pcvar_num(pHook) && is_user_alive(id) && canThrowHook[id] && !gHooked[id]) {        
            if (
    get_pcvar_num(pAdmin))
            {
                
    // Only the admins can throw the hook
                // if(is_user_admin(id)) { <- does not work...        
                
    if (!(get_user_flags(id) & ADMINLEVEL) && !g_bHookAllowed[id])
                {
                    
    // Show a message
                    
    client_print(idprint_chat"[Hook] Bunu Kullanmak Icin Yetkiniz Yok")
                    
                    return 
    PLUGIN_HANDLED
                
    }
            }
            if(
    get_pcvar_num(pCtOnly)) {
                if(
    get_user_team(id) != 2) {
                    
    client_print(id,print_chat,"[Hook] Sadece CT Takimi Hook Kullanabilir")
                    return 
    PLUGIN_HANDLED
                
    }
            }
            new 
    iMaxHooks get_pcvar_num(pMaxHooks)
            if (
    iMaxHooks 0)
            {
                if (
    gHooksUsed[id] >= iMaxHooks)
                {
                    
    client_print(idprint_chat"[Hook] Hook Limitin Doldu Artik Hook Kullanamazsin !")
                    
    statusMsg(id"[Hook] %d of %d hooks used."gHooksUsed[id], get_pcvar_num(pMaxHooks))
                    
                    return 
    PLUGIN_HANDLED
                
    }
                else 
                {
                    
    gHooksUsed[id]++
                    
    statusMsg(id"[Hook] %d of %d hooks used."gHooksUsed[id], get_pcvar_num(pMaxHooks))
                }
            }
            new 
    Float:fDelay get_pcvar_float(pRndStartDelay)
            if (
    fDelay && !rndStarted)
                
    client_print(idprint_chat"[Hook] Ilk %0.0f Saniye Boyunca Hook Kullanamazsin !"fDelay)
                
            
    throw_hook(id)
        }
        return 
    PLUGIN_HANDLED
    }

    public 
    del_hook(id)
    {
        
    // Remove players hook
        
    if (!canThrowHook[id])
            
    remove_hook(id)
        
        return 
    PLUGIN_HANDLED
    }

    public 
    round_bstart()
    {
        
    // Round is not started anymore
        
    if (rndStarted)
            
    rndStarted false
        
        
    // Remove all hooks
        
    for (new 1<= gMaxPlayersi++)
        {
            if (
    is_user_connected(i))
            {
                if(!
    canThrowHook[i])
                    
    remove_hook(i)
            }
        }
    }

    public 
    round_estart()
    {
        new 
    Float:fDelay get_pcvar_float(pRndStartDelay)
        if (
    fDelay 0.0)
            
    set_task(fDelay"rndStartDelay")
        else
        {
            
    // Round is started...
            
    if (!rndStarted)
                
    rndStarted true
        
    }
    }

    public 
    rndStartDelay()
    {
        if (!
    rndStarted)
            
    rndStarted true
    }

    public 
    Restart()
    {
        for (new 
    id 0id gMaxPlayersid++)
        {
            if (
    is_user_connected(id))
                
    gRestart[id] = true
        
    }
    }

    public 
    Update(id)
    {
        if (!
    gUpdate[id])
            
    gUpdate[id] = true
        
        
    return PLUGIN_CONTINUE
    }

    public 
    ResetHUD(id)
    {
        if (
    gRestart[id])
        {
            
    gRestart[id] = false
            
    return
        }
        if (
    gUpdate[id])
        {
            
    gUpdate[id] = false
            
    return
        }
        if (
    gHooked[id])
        {
            
    remove_hook(id)
        }
        if (
    get_pcvar_num(pMaxHooks) > 0)
        {
            
    gHooksUsed[id] = 0
            statusMsg
    (0"[Hook] 0 of %d hooks used."get_pcvar_num(pMaxHooks))
        }
    }

    public 
    fwTouch(ptrptd)
    {
        if (!
    pev_valid(ptr))
            return 
    FMRES_IGNORED
        
        
    new id pev(ptrpev_owner)
        
        
    // Get classname
        
    static szPtrClass[32]    
        
    pev(ptrpev_classnameszPtrClasscharsmax(szPtrClass))
        
        if (
    equali(szPtrClass"Hook"))
        {        
            static 
    Float:fOrigin[3]
            
    pev(ptrpev_originfOrigin)
            
            if (
    pev_valid(ptd))
            {
                static 
    szPtdClass[32]
                
    pev(ptdpev_classnameszPtdClasscharsmax(szPtdClass))
                            
                if (!
    get_pcvar_num(pPlayers) && /*equali(szPtdClass, "player")*/ is_user_alive(ptd))
                {
                    
    // Hit a player
                    
    if (get_pcvar_num(pSound))
                        
    emit_sound(ptrCHAN_STATIC"weapons/xbow_hitbod1.wav"1.0ATTN_NORM0PITCH_NORM)
                    
    remove_hook(id)
                    
                    return 
    FMRES_HANDLED
                
    }
                else if (
    equali(szPtdClass"hostage_entity"))
                {
                    
    // Makes an hostage follow
                    
    if (get_pcvar_num(pHostage) && get_user_team(id) == 2)
                    {                    
                        
    //cs_set_hostage_foll(ptd, (cs_get_hostage_foll(ptd) == id) ? 0 : id)
                        // With the use function we have the sounds!
                        
    dllfunc(DLLFunc_Useptdid)
                    }
                    if (!
    get_pcvar_num(pPlayers))
                    {
                        if(
    get_pcvar_num(pSound))
                            
    emit_sound(ptrCHAN_STATIC"weapons/xbow_hitbod1.wav"1.0ATTN_NORM0PITCH_NORM)
                        
    remove_hook(id)
                    }
                    return 
    FMRES_HANDLED
                
    }
                else if (
    get_pcvar_num(pOpenDoors) && equali(szPtdClass"func_door") || equali(szPtdClass"func_door_rotating"))
                {
                    
    // Open doors
                    // Double doors tested in de_nuke and de_wallmart
                    
    static szTargetName[32]
                    
    pev(ptdpev_targetnameszTargetNamecharsmax(szTargetName))
                    if (
    strlen(szTargetName) > 0)
                    {    
                        static 
    ent
                        
    while ((ent engfunc(EngFunc_FindEntityByStringent"target"szTargetName)) > 0)
                        {
                            static 
    szEntClass[32]
                            
    pev(entpev_classnameszEntClasscharsmax(szEntClass))
                            
                            if (
    equali(szEntClass"trigger_multiple"))
                            {
                                
    dllfunc(DLLFunc_Touchentid)
                                goto 
    stopdoors // No need to touch anymore
                            
    }
                        }
                    }
                    
                    
    // No double doors.. just touch it
                    
    dllfunc(DLLFunc_Touchptdid)
    stopdoors:                
                }
                else if (
    get_pcvar_num(pUseButtons) && equali(szPtdClass"func_button"))
                {
                    if (
    pev(ptdpev_spawnflags) & SF_BUTTON_TOUCH_ONLY)
                        
    dllfunc(DLLFunc_Touchptdid// Touch only
                    
    else            
                        
    dllfunc(DLLFunc_Useptdid// Use Buttons            
                
    }
            }
            
            
    // If cvar sv_hooksky is 0 and hook is in the sky remove it!
            
    new iContents engfunc(EngFunc_PointContentsfOrigin)
            if (!
    get_pcvar_num(pHookSky) && iContents == CONTENTS_SKY)
            {
                if(
    get_pcvar_num(pSound))
                    
    emit_sound(ptrCHAN_STATIC"weapons/xbow_hit2.wav"1.0ATTN_NORM0PITCH_NORM)
                
    remove_hook(id)
                return 
    FMRES_HANDLED
            
    }
            
            
    // Pick up weapons..
            
    if (get_pcvar_num(pWeapons))
            {
                static 
    ent
                
    while ((ent engfunc(EngFunc_FindEntityInSphereentfOrigin15.0)) > 0)
                {
                    static 
    szentClass[32]
                    
    pev(entpev_classnameszentClasscharsmax(szentClass))
                    
                    if (
    equali(szentClass"weaponbox") || equali(szentClass"armoury_entity"))
                        
    dllfunc(DLLFunc_Touchentid)
                }
            }
            
            
    // Player is now hooked
            
    gHooked[id] = true
            
    // Play sound
            
    if (get_pcvar_num(pSound))
                
    emit_sound(ptrCHAN_STATIC"weapons/xbow_hit1.wav"1.0ATTN_NORM0PITCH_NORM)
            
            
    // Make some sparks :D
            
    message_begin_f(MSG_BROADCASTSVC_TEMPENTITYfOrigin0)
            
    write_byte(9// TE_SPARKS
            
    write_coord_f(fOrigin[0]) // Origin
            
    write_coord_f(fOrigin[1])
            
    write_coord_f(fOrigin[2])
            
    message_end()        
            
            
    // Stop the hook from moving
            
    set_pev(ptrpev_velocityFloat:{0.00.00.0})
            
    set_pev(ptrpev_movetypeMOVETYPE_NONE)
            
            
    //Task
            
    if (!task_exists(id 856))
            { 
                static 
    TaskData[2]
                
    TaskData[0] = id
                TaskData
    [1] = ptr
                gotohook
    (TaskData)
                
                
    set_task(0.1"gotohook"id 856TaskData2"b")
            }
        }
        return 
    FMRES_HANDLED
    }

    public 
    hookthink(param[])
    {
        new 
    id param[0]
        new 
    HookEnt param[1]
        
        if (!
    is_user_alive(id) || !pev_valid(HookEnt) || !pev_valid(id))
        {
            
    remove_task(id 890)
            return 
    PLUGIN_HANDLED
        
    }
        
        
        static 
    Float:entOrigin[3]
        
    pev(HookEntpev_originentOrigin)
        
        
    // If user is behind a box or something.. remove it
        // only works if sv_interrupt 1 or higher is
        
    if (get_pcvar_num(pInterrupt) && rndStarted)
        {
            static 
    Float:usrOrigin[3]
            
    pev(idpev_originusrOrigin)
            
            static 
    tr
            engfunc
    (EngFunc_TraceLineusrOriginentOrigin1, -1tr)
            
            static 
    Float:fFraction
            get_tr2
    (trTR_flFractionfFraction)
            
            if (
    fFraction != 1.0)
                
    remove_hook(id)
        }
        
        
    // If cvar sv_hooksky is 0 and hook is in the sky remove it!
        
    new iContents engfunc(EngFunc_PointContentsentOrigin)
        if (!
    get_pcvar_num(pHookSky) && iContents == CONTENTS_SKY)
        {
            if(
    get_pcvar_num(pSound))
                
    emit_sound(HookEntCHAN_STATIC"weapons/xbow_hit2.wav"1.0ATTN_NORM0PITCH_NORM)
            
    remove_hook(id)
        }
        
        return 
    PLUGIN_HANDLED
    }

    public 
    gotohook(param[])
    {
        new 
    id param[0]
        new 
    HookEnt param[1]

        if (!
    is_user_alive(id) || !pev_valid(HookEnt) || !pev_valid(id))
        {
            
    remove_task(id 856)
            return 
    PLUGIN_HANDLED
        
    }
        
    // If the round isnt started velocity is just 0
        
    static Float:fVelocity[3]
        
    fVelocity Float:{0.00.01.0}
        
        
    // If the round is started and player is hooked we can set the user velocity!
        
    if (rndStarted && gHooked[id])
        {
            static 
    Float:fHookOrigin[3], Float:fUsrOrigin[3], Float:fDist
            pev
    (HookEntpev_originfHookOrigin)
            
    pev(idpev_originfUsrOrigin)
            
            
    fDist vector_distance(fHookOriginfUsrOrigin)
            
            if (
    fDist >= 30.0)
            {
                new 
    Float:fSpeed get_pcvar_float(pSpeed)
                
                
    fSpeed *= 0.52
                
                fVelocity
    [0] = (fHookOrigin[0] - fUsrOrigin[0]) * (2.0 fSpeed) / fDist
                fVelocity
    [1] = (fHookOrigin[1] - fUsrOrigin[1]) * (2.0 fSpeed) / fDist
                fVelocity
    [2] = (fHookOrigin[2] - fUsrOrigin[2]) * (2.0 fSpeed) / fDist
            
    }
        }
        
    // Set the velocity
        
    set_pev(idpev_velocityfVelocity)
        
        return 
    PLUGIN_HANDLED
    }
            
    public 
    throw_hook(id)
    {
        
    // Get origin and angle for the hook
        
    static Float:fOrigin[3], Float:fAngle[3],Float:fvAngle[3]
        static 
    Float:fStart[3]
        
    pev(idpev_originfOrigin)
        
        
    pev(idpev_anglesfAngle)
        
    pev(idpev_v_anglefvAngle)
        
        if (
    get_pcvar_num(pInstant))
        {
            
    get_user_hitpoint(idfStart)
            
            if (
    engfunc(EngFunc_PointContentsfStart) != CONTENTS_SKY)
            {
                static 
    Float:fSize[3]
                
    pev(idpev_sizefSize)
                
                
    fOrigin[0] = fStart[0] + floatcos(fvAngle[1], degrees) * (-10.0 fSize[0])
                
    fOrigin[1] = fStart[1] + floatsin(fvAngle[1], degrees) * (-10.0 fSize[1])
                
    fOrigin[2] = fStart[2]
            }
            else
                
    xs_vec_copy(fStartfOrigin)
        }

        
        
    // Make the hook!
        
    Hook[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))
            
        if (
    Hook[id])
        {
            
    // Player cant throw hook now
            
    canThrowHook[id] = false
            
            
    static const Float:fMins[3] = {-2.840000, -14.180000, -2.840000}
            static const 
    Float:fMaxs[3] = {2.8400000.0200002.840000}
            
            
    //Set some Data
            
    set_pev(Hook[id], pev_classname"Hook")
            
            
    engfunc(EngFunc_SetModelHook[id], "models/rpgrocket.mdl")
            
    engfunc(EngFunc_SetOriginHook[id], fOrigin)
            
    engfunc(EngFunc_SetSizeHook[id], fMinsfMaxs)        
            
            
    //set_pev(Hook[id], pev_mins, fMins)
            //set_pev(Hook[id], pev_maxs, fMaxs)
            
            
    set_pev(Hook[id], pev_anglesfAngle)
            
            
    set_pev(Hook[id], pev_solid2)
            
    set_pev(Hook[id], pev_movetype5)
            
    set_pev(Hook[id], pev_ownerid)
            
            
    //Set hook velocity
            
    static Float:fForward[3], Float:Velocity[3]
            new 
    Float:fSpeed get_pcvar_float(pThrowSpeed)
            
            
    engfunc(EngFunc_MakeVectorsfvAngle)
            
    global_get(glb_v_forwardfForward)
            
            
    Velocity[0] = fForward[0] * fSpeed
            Velocity
    [1] = fForward[1] * fSpeed
            Velocity
    [2] = fForward[2] * fSpeed
            
            set_pev
    (Hook[id], pev_velocityVelocity)

            
    // Make the line between Hook and Player
            
    message_begin_f(MSG_BROADCASTSVC_TEMPENTITYFloat:{0.00.00.0}, 0)
            if (
    get_pcvar_num(pInstant))
            {
                
    write_byte(1// TE_BEAMPOINT
                
    write_short(id// Startent
                
    write_coord_f(fStart[0]) // End pos
                
    write_coord_f(fStart[1])
                
    write_coord_f(fStart[2])
            }
            else
            {
                
    write_byte(8// TE_BEAMENTS
                
    write_short(id// Start Ent
                
    write_short(Hook[id]) // End Ent
            
    }
            
    write_short(sprBeam// Sprite
            
    write_byte(1// StartFrame
            
    write_byte(1// FrameRate
            
    write_byte(600// Life
            
    write_byte(get_pcvar_num(pWidth)) // Width
            
    write_byte(get_pcvar_num(pHookNoise)) // Noise
            // Colors now
            
    if (get_pcvar_num(pColor))
            {
                if (
    get_user_team(id) == 1// Terrorist
                
    {
                    
    write_byte(255// R
                    
    write_byte(0)    // G
                    
    write_byte(0)    // B
                
    }
                
    #if defined _cstrike_included
                
    else if(cs_get_user_vip(id)) // vip for cstrike
                
    {
                    
    write_byte(0)    // R
                    
    write_byte(255)    // G
                    
    write_byte(0)    // B
                
    }
                
    #endif // _cstrike_included
                
    else if(get_user_team(id) == 2// CT
                
    {
                    
    write_byte(0)    // R
                    
    write_byte(0)    // G
                    
    write_byte(255)    // B
                
    }
                else
                {
                    
    write_byte(255// R
                    
    write_byte(255// G
                    
    write_byte(255// B
                
    }
            }
            else
            {
                
    write_byte(255// R
                
    write_byte(255// G
                
    write_byte(255// B
            
    }
            
    write_byte(192// Brightness
            
    write_byte(0// Scroll speed
            
    message_end()
            
            if (
    get_pcvar_num(pSound) && !get_pcvar_num(pInstant))
                
    emit_sound(idCHAN_BODY"weapons/xbow_fire1.wav"VOL_NORMATTN_NORM0PITCH_HIGH)
            
            static 
    TaskData[2]
            
    TaskData[0] = id
            TaskData
    [1] = Hook[id]
            
            
    set_task(0.1"hookthink"id 890TaskData2"b")
        }
        else
            
    client_print(idprint_chat"Can't create hook")
    }

    public 
    remove_hook(id)
    {
        
    //Player can now throw hooks
        
    canThrowHook[id] = true
        
        
    // Remove the hook if it is valid
        
    if (pev_valid(Hook[id]))
            
    engfunc(EngFunc_RemoveEntityHook[id])
        
    Hook[id] = 0
        
        
    // Remove the line between user and hook
        
    if (is_user_connected(id))
        {
            
    message_begin(MSG_BROADCASTSVC_TEMPENTITY, {0,0,0}, id)
            
    write_byte(99// TE_KILLBEAM
            
    write_short(id// entity
            
    message_end()
        }
        
        
    // Player is not hooked anymore
        
    gHooked[id] = false
        
    return 1
    }

    public 
    give_hook(idlevelcid)
    {
        if (!
    cmd_access(id ,levelcid1))
            return 
    PLUGIN_HANDLED
            
        
    if (!get_pcvar_num(pAdmin))
        {
            
    console_print(id"[Hook] Sadece-Admin Modu Suan Kapali !")
            return 
    PLUGIN_HANDLED
        
    }
        
        static 
    szTarget[32]
        
    read_argv(1szTargetcharsmax(szTarget))
        
        new 
    iUsrId cmd_target(idszTarget)
        
        if (!
    iUsrId)
            return 
    PLUGIN_HANDLED
            
        
    static szName[32]
        
    get_user_name(iUsrIdszNamecharsmax(szName))
        
        if (!
    g_bHookAllowed[iUsrId])
        {
            
    g_bHookAllowed[iUsrId] = true
            
            console_print
    (id"[Hook] %s Adli Kisiye Hook Verdin !"szName)
        }
        else
            
    console_print(id"[Hook] %s Adli Kisi Zaten Hook'a Sahip !"szName)
        
        return 
    PLUGIN_HANDLED
    }

    public 
    take_hook(idlevelcid)
    {
        if (!
    cmd_access(id ,levelcid1))
            return 
    PLUGIN_HANDLED
        
        
    if (!get_pcvar_num(pAdmin))
        {
            
    console_print(id"[Hook] Sadece-Admin Modu Suan Kapali !")
            return 
    PLUGIN_HANDLED
        
    }
            
        static 
    szTarget[32]
        
    read_argv(1szTargetcharsmax(szTarget))
        
        new 
    iUsrId cmd_target(idszTarget)
        
        if (!
    iUsrId)
            return 
    PLUGIN_HANDLED
            
        
    static szName[32]
        
    get_user_name(iUsrIdszNamecharsmax(szName))
        
        if (
    g_bHookAllowed[iUsrId])
        {
            
    g_bHookAllowed[iUsrId] = false
            
            console_print
    (id"[Hook] %s Adli Kisiden Hook Atma Ozelligini Aldiniz !"szName)
        }
        else
            
    console_print(id"[Hook] %s Adli Kisi Zaten Hook'a Sahip Degil !"szName)
        
        return 
    PLUGIN_HANDLED
    }

    // Stock by Chaosphere
    stock get_user_hitpoint(idFloat:hOrigin[3])
    {
        if (!
    is_user_alive(id))
            return 
    0
        
        
    static Float:fOrigin[3], Float:fvAngle[3], Float:fvOffset[3], Float:fvOrigin[3], Float:feOrigin[3]
        static 
    Float:fTemp[3]
        
        
    pev(idpev_originfOrigin)
        
    pev(idpev_v_anglefvAngle)
        
    pev(idpev_view_ofsfvOffset)
        
        
    xs_vec_add(fOriginfvOffsetfvOrigin)
        
        
    engfunc(EngFunc_AngleVectorsfvAnglefeOriginfTempfTemp)
        
        
    xs_vec_mul_scalar(feOrigin8192.0feOrigin)
        
    xs_vec_add(fvOriginfeOriginfeOrigin)
        
        static 
    tr
        engfunc
    (EngFunc_TraceLinefvOriginfeOrigin0idtr)
        
    get_tr2(trTR_vecEndPoshOrigin)
        
    //global_get(glb_trace_endpos, hOrigin)
        
        
    return 1
    }

    stock statusMsg(idszMsg[], {Float,_}:...)
    {
        static 
    iStatusText
        
    if (!iStatusText)
            
    iStatusText get_user_msgid("StatusText")
        
        static 
    szBuffer[512]
        
    vformat(szBuffercharsmax(szBuffer), szMsg3)
        
        
    message_begin((id == 0) ? MSG_ALL MSG_ONEiStatusText_id)
        
    write_byte(0// Unknown
        
    write_string(szBuffer// Message
        
    message_end()
        
        return 
    1

    Konu akcaliberkk tarafından (04-12-12 Saat 18:22 ) değiştirilmiştir.

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


  5. #5
    er er
    Üyelik tarihi
    Nov 2012
    Mesajlar
    33
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    Alıntı akcaliberkk Nickli Üyeden Alıntı Mesajı göster
    PHP- Kodu:
    /***********************************************************************************\
    *    Hook By P34nut    *    Thanks to Joka69, Chaosphere for testing and stuff!        *
    *************************************************************************************
    * Commands/ bindings:           
    *    +hook to throw the hook  
    *    -hook to delete your hook

    * Cvars:
    *    sv_hook - Turns hook on or off 
    *    sv_hookthrowspeed - Throw speed (default: 1000)
    *    sv_hookspeed - Speed to hook (default: 300)
    *    sv_hookwidth - Width of the hook (default: 32)
    *    sv_hooksound - Sounds of the hook on or off (default: 1)
    *    sv_hookcolor - The color of the hook 0 is white and 1 is team color (default: 1)
    *    sv_hookplayers - If set 1 you can hook on players (default: 0)
    *    sv_hookinterrupt - Remove the hook when something comes in its line (default: 0)
    *    sv_hookadminonly - Hook for admin only (default: 0)
    *    sv_hooksky - If set 1 you can hook in the sky (default: 0)
    *    sv_hookopendoors - If set 1 you can open doors with the hook (default: 1)
    *    sv_hookbuttons - If set 1 you can use buttons with the hook (default: 0)
    *    sv_hookpickweapons - If set 1 you can pickup weapons with the hook (default: 1)
    *    sv_hookhostflollow - If set 1 you can make hostages follow you (default 1)
    *    sv_hookinstant - Hook doesnt throw (default: 0)
    *    sv_hooknoise - adds some noise to the hook line (default: 0)
    *    sv_hookmax - Maximun numbers of hooks a player can use in 1 round
    *           - 0 for infinitive hooks (default: 0)
    *    sv_hookdelay - delay on the start of each round before a player can hook
    *                 - 0.0 for no delay (default: 0.0)
    *
    * ChangeLog:
    *    1.0: Release
    *    1.5: added cvars:
    *        sv_hooknoise
    *        sv_hookmax
    *        sv_hookdelay
    *        public cvar: sv_amxxhookmod
    *         added commands:
    *        amx_givehook <username>
    *        amx_takehook <username>
    *
    \***********************************************************************************/

    // Players admin level
    #define ADMINLEVEL ADMIN_RCON

    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <cstrike>
    #include <xs>

    #define message_begin_f(%1,%2,%3,%4) engfunc(EngFunc_MessageBegin, %1, %2, %3, %4)
    #define write_coord_f(%1) engfunc(EngFunc_WriteCoord, %1)

    //Cvars
    new pHookpThrowSpeedpSpeedpWidthpSoundpColor
    new pInterruptpAdminpHookSkypOpenDoorspPlayers
    new pUseButtonspHostagepWeaponspInstantpHookNoise
    new pMaxHookspRndStartDelaypCtOnly;
    // Sprite
    new sprBeam

    // Players hook entity
    new Hook[33]

    // MaxPlayers
    new gMaxPlayers

    // some booleans
    new bool:gHooked[33]
    new 
    bool:canThrowHook[33]
    new 
    bool:rndStarted

    // Player Spawn
    new bool:gRestart[33] = {false, ...}
    new 
    bool:gUpdate[33] = {false, ...}

    new 
    gHooksUsed[33// Used with sv_hookmax
    new bool:g_bHookAllowed[33// Used with sv_hookadminonly

    public plugin_init()
    {
        
    register_plugin("Hook""1.5""P34nut")
        
        
    // Hook commands
        
    register_clcmd("+hook""make_hook")
        
    register_clcmd("-hook""del_hook")
        
        
    register_concmd("amx_givehook""give_hook"ADMINLEVEL"<Username> - Give somebody access to the hook")
        
    register_concmd("amx_takehook""take_hook"ADMINLEVEL"<UserName> - Take away somebody his access to the hook")
        
        
    // Events for roundstart
        
    register_event("HLTV""round_bstart""a""1=0""2=0")
        
    register_logevent("round_estart"2"1=Round_Start"
        
        
    // Player spawn stuff
        
    register_event("TextMsg""Restart""a""2=#Game_will_restart_in")
        
    register_clcmd("fullupdate""Update"
        
    register_event("ResetHUD""ResetHUD""b")
        
        
    // Register cvars
        
    register_cvar("sv_amxxhookmod",  "version 1.5"FCVAR_SERVER// yay public cvar
        
    pHook =     register_cvar("sv_hook""1")
        
    pThrowSpeed =     register_cvar("sv_hookthrowspeed""4000")
        
    pSpeed =     register_cvar("sv_hookspeed""600")
        
    pWidth =     register_cvar("sv_hookwidth""16")
        
    pSound =     register_cvar("sv_hooksound""1")
        
    pColor =    register_cvar("sv_hookcolor""0")
        
    pPlayers =     register_cvar("sv_hookplayers""0")
        
    pInterrupt =     register_cvar("sv_hookinterrupt""0")
        
    pAdmin =     register_cvar("sv_hookadminonly",  "1")
        
    pHookSky =     register_cvar("sv_hooksky""1")
        
    pOpenDoors =     register_cvar("sv_hookopendoors""1")
        
    pUseButtons =     register_cvar("sv_hookusebuttons""1")
        
    pHostage =     register_cvar("sv_hookhostflollow""1")
        
    pWeapons =    register_cvar("sv_hookpickweapons""1")
        
    pInstant =    register_cvar("sv_hookinstant""1")
        
    pHookNoise =     register_cvar("sv_hooknoise""0")
        
    pMaxHooks =     register_cvar("sv_hookmax""0")
        
    pRndStartDelay register_cvar("sv_hookrndstartdelay""0.0")
        
    pCtOnly register_cvar("sv_hookctonly""1")
        
        
        
    // Touch forward
        
    register_forward(FM_Touch"fwTouch")
        
        
    // Get maxplayers
        
    gMaxPlayers get_maxplayers()
    }

    public 
    plugin_precache()
    {
        
    // Hook Model
        
    engfunc(EngFunc_PrecacheModel"models/rpgrocket.mdl")
        
        
    // Hook Beam
        
    sprBeam engfunc(EngFunc_PrecacheModel"sprites/zbeam4.spr")
        
        
    // Hook Sounds
        
    engfunc(EngFunc_PrecacheSound"weapons/xbow_hit1.wav"// good hit
        
    engfunc(EngFunc_PrecacheSound"weapons/xbow_hit2.wav"// wrong hit
        
        
    engfunc(EngFunc_PrecacheSound"weapons/xbow_hitbod1.wav"// player hit
        
        
    engfunc(EngFunc_PrecacheSound"weapons/xbow_fire1.wav"// deploy
    }


    public 
    make_hook(id)
    {
        
        if (
    get_pcvar_num(pHook) && is_user_alive(id) && canThrowHook[id] && !gHooked[id]) {        
            if (
    get_pcvar_num(pAdmin))
            {
                
    // Only the admins can throw the hook
                // if(is_user_admin(id)) { <- does not work...        
                
    if (!(get_user_flags(id) & ADMINLEVEL) && !g_bHookAllowed[id])
                {
                    
    // Show a message
                    
    client_print(idprint_chat"[Hook] Bunu Kullanmak Icin Yetkiniz Yok")
                    
                    return 
    PLUGIN_HANDLED
                
    }
            }
            if(
    get_pcvar_num(pCtOnly)) {
                if(
    get_user_team(id) != 2) {
                    
    client_print(id,print_chat,"[Hook] Sadece CT Takimi Hook Kullanabilir")
                    return 
    PLUGIN_HANDLED
                
    }
            }
            new 
    iMaxHooks get_pcvar_num(pMaxHooks)
            if (
    iMaxHooks 0)
            {
                if (
    gHooksUsed[id] >= iMaxHooks)
                {
                    
    client_print(idprint_chat"[Hook] Hook Limitin Doldu Artik Hook Kullanamazsin !")
                    
    statusMsg(id"[Hook] %d of %d hooks used."gHooksUsed[id], get_pcvar_num(pMaxHooks))
                    
                    return 
    PLUGIN_HANDLED
                
    }
                else 
                {
                    
    gHooksUsed[id]++
                    
    statusMsg(id"[Hook] %d of %d hooks used."gHooksUsed[id], get_pcvar_num(pMaxHooks))
                }
            }
            new 
    Float:fDelay get_pcvar_float(pRndStartDelay)
            if (
    fDelay && !rndStarted)
                
    client_print(idprint_chat"[Hook] Ilk %0.0f Saniye Boyunca Hook Kullanamazsin !"fDelay)
                
            
    throw_hook(id)
        }
        return 
    PLUGIN_HANDLED
    }

    public 
    del_hook(id)
    {
        
    // Remove players hook
        
    if (!canThrowHook[id])
            
    remove_hook(id)
        
        return 
    PLUGIN_HANDLED
    }

    public 
    round_bstart()
    {
        
    // Round is not started anymore
        
    if (rndStarted)
            
    rndStarted false
        
        
    // Remove all hooks
        
    for (new 1<= gMaxPlayersi++)
        {
            if (
    is_user_connected(i))
            {
                if(!
    canThrowHook[i])
                    
    remove_hook(i)
            }
        }
    }

    public 
    round_estart()
    {
        new 
    Float:fDelay get_pcvar_float(pRndStartDelay)
        if (
    fDelay 0.0)
            
    set_task(fDelay"rndStartDelay")
        else
        {
            
    // Round is started...
            
    if (!rndStarted)
                
    rndStarted true
        
    }
    }

    public 
    rndStartDelay()
    {
        if (!
    rndStarted)
            
    rndStarted true
    }

    public 
    Restart()
    {
        for (new 
    id 0id gMaxPlayersid++)
        {
            if (
    is_user_connected(id))
                
    gRestart[id] = true
        
    }
    }

    public 
    Update(id)
    {
        if (!
    gUpdate[id])
            
    gUpdate[id] = true
        
        
    return PLUGIN_CONTINUE
    }

    public 
    ResetHUD(id)
    {
        if (
    gRestart[id])
        {
            
    gRestart[id] = false
            
    return
        }
        if (
    gUpdate[id])
        {
            
    gUpdate[id] = false
            
    return
        }
        if (
    gHooked[id])
        {
            
    remove_hook(id)
        }
        if (
    get_pcvar_num(pMaxHooks) > 0)
        {
            
    gHooksUsed[id] = 0
            statusMsg
    (0"[Hook] 0 of %d hooks used."get_pcvar_num(pMaxHooks))
        }
    }

    public 
    fwTouch(ptrptd)
    {
        if (!
    pev_valid(ptr))
            return 
    FMRES_IGNORED
        
        
    new id pev(ptrpev_owner)
        
        
    // Get classname
        
    static szPtrClass[32]    
        
    pev(ptrpev_classnameszPtrClasscharsmax(szPtrClass))
        
        if (
    equali(szPtrClass"Hook"))
        {        
            static 
    Float:fOrigin[3]
            
    pev(ptrpev_originfOrigin)
            
            if (
    pev_valid(ptd))
            {
                static 
    szPtdClass[32]
                
    pev(ptdpev_classnameszPtdClasscharsmax(szPtdClass))
                            
                if (!
    get_pcvar_num(pPlayers) && /*equali(szPtdClass, "player")*/ is_user_alive(ptd))
                {
                    
    // Hit a player
                    
    if (get_pcvar_num(pSound))
                        
    emit_sound(ptrCHAN_STATIC"weapons/xbow_hitbod1.wav"1.0ATTN_NORM0PITCH_NORM)
                    
    remove_hook(id)
                    
                    return 
    FMRES_HANDLED
                
    }
                else if (
    equali(szPtdClass"hostage_entity"))
                {
                    
    // Makes an hostage follow
                    
    if (get_pcvar_num(pHostage) && get_user_team(id) == 2)
                    {                    
                        
    //cs_set_hostage_foll(ptd, (cs_get_hostage_foll(ptd) == id) ? 0 : id)
                        // With the use function we have the sounds!
                        
    dllfunc(DLLFunc_Useptdid)
                    }
                    if (!
    get_pcvar_num(pPlayers))
                    {
                        if(
    get_pcvar_num(pSound))
                            
    emit_sound(ptrCHAN_STATIC"weapons/xbow_hitbod1.wav"1.0ATTN_NORM0PITCH_NORM)
                        
    remove_hook(id)
                    }
                    return 
    FMRES_HANDLED
                
    }
                else if (
    get_pcvar_num(pOpenDoors) && equali(szPtdClass"func_door") || equali(szPtdClass"func_door_rotating"))
                {
                    
    // Open doors
                    // Double doors tested in de_nuke and de_wallmart
                    
    static szTargetName[32]
                    
    pev(ptdpev_targetnameszTargetNamecharsmax(szTargetName))
                    if (
    strlen(szTargetName) > 0)
                    {    
                        static 
    ent
                        
    while ((ent engfunc(EngFunc_FindEntityByStringent"target"szTargetName)) > 0)
                        {
                            static 
    szEntClass[32]
                            
    pev(entpev_classnameszEntClasscharsmax(szEntClass))
                            
                            if (
    equali(szEntClass"trigger_multiple"))
                            {
                                
    dllfunc(DLLFunc_Touchentid)
                                goto 
    stopdoors // No need to touch anymore
                            
    }
                        }
                    }
                    
                    
    // No double doors.. just touch it
                    
    dllfunc(DLLFunc_Touchptdid)
    stopdoors:                
                }
                else if (
    get_pcvar_num(pUseButtons) && equali(szPtdClass"func_button"))
                {
                    if (
    pev(ptdpev_spawnflags) & SF_BUTTON_TOUCH_ONLY)
                        
    dllfunc(DLLFunc_Touchptdid// Touch only
                    
    else            
                        
    dllfunc(DLLFunc_Useptdid// Use Buttons            
                
    }
            }
            
            
    // If cvar sv_hooksky is 0 and hook is in the sky remove it!
            
    new iContents engfunc(EngFunc_PointContentsfOrigin)
            if (!
    get_pcvar_num(pHookSky) && iContents == CONTENTS_SKY)
            {
                if(
    get_pcvar_num(pSound))
                    
    emit_sound(ptrCHAN_STATIC"weapons/xbow_hit2.wav"1.0ATTN_NORM0PITCH_NORM)
                
    remove_hook(id)
                return 
    FMRES_HANDLED
            
    }
            
            
    // Pick up weapons..
            
    if (get_pcvar_num(pWeapons))
            {
                static 
    ent
                
    while ((ent engfunc(EngFunc_FindEntityInSphereentfOrigin15.0)) > 0)
                {
                    static 
    szentClass[32]
                    
    pev(entpev_classnameszentClasscharsmax(szentClass))
                    
                    if (
    equali(szentClass"weaponbox") || equali(szentClass"armoury_entity"))
                        
    dllfunc(DLLFunc_Touchentid)
                }
            }
            
            
    // Player is now hooked
            
    gHooked[id] = true
            
    // Play sound
            
    if (get_pcvar_num(pSound))
                
    emit_sound(ptrCHAN_STATIC"weapons/xbow_hit1.wav"1.0ATTN_NORM0PITCH_NORM)
            
            
    // Make some sparks :D
            
    message_begin_f(MSG_BROADCASTSVC_TEMPENTITYfOrigin0)
            
    write_byte(9// TE_SPARKS
            
    write_coord_f(fOrigin[0]) // Origin
            
    write_coord_f(fOrigin[1])
            
    write_coord_f(fOrigin[2])
            
    message_end()        
            
            
    // Stop the hook from moving
            
    set_pev(ptrpev_velocityFloat:{0.00.00.0})
            
    set_pev(ptrpev_movetypeMOVETYPE_NONE)
            
            
    //Task
            
    if (!task_exists(id 856))
            { 
                static 
    TaskData[2]
                
    TaskData[0] = id
                TaskData
    [1] = ptr
                gotohook
    (TaskData)
                
                
    set_task(0.1"gotohook"id 856TaskData2"b")
            }
        }
        return 
    FMRES_HANDLED
    }

    public 
    hookthink(param[])
    {
        new 
    id param[0]
        new 
    HookEnt param[1]
        
        if (!
    is_user_alive(id) || !pev_valid(HookEnt) || !pev_valid(id))
        {
            
    remove_task(id 890)
            return 
    PLUGIN_HANDLED
        
    }
        
        
        static 
    Float:entOrigin[3]
        
    pev(HookEntpev_originentOrigin)
        
        
    // If user is behind a box or something.. remove it
        // only works if sv_interrupt 1 or higher is
        
    if (get_pcvar_num(pInterrupt) && rndStarted)
        {
            static 
    Float:usrOrigin[3]
            
    pev(idpev_originusrOrigin)
            
            static 
    tr
            engfunc
    (EngFunc_TraceLineusrOriginentOrigin1, -1tr)
            
            static 
    Float:fFraction
            get_tr2
    (trTR_flFractionfFraction)
            
            if (
    fFraction != 1.0)
                
    remove_hook(id)
        }
        
        
    // If cvar sv_hooksky is 0 and hook is in the sky remove it!
        
    new iContents engfunc(EngFunc_PointContentsentOrigin)
        if (!
    get_pcvar_num(pHookSky) && iContents == CONTENTS_SKY)
        {
            if(
    get_pcvar_num(pSound))
                
    emit_sound(HookEntCHAN_STATIC"weapons/xbow_hit2.wav"1.0ATTN_NORM0PITCH_NORM)
            
    remove_hook(id)
        }
        
        return 
    PLUGIN_HANDLED
    }

    public 
    gotohook(param[])
    {
        new 
    id param[0]
        new 
    HookEnt param[1]

        if (!
    is_user_alive(id) || !pev_valid(HookEnt) || !pev_valid(id))
        {
            
    remove_task(id 856)
            return 
    PLUGIN_HANDLED
        
    }
        
    // If the round isnt started velocity is just 0
        
    static Float:fVelocity[3]
        
    fVelocity Float:{0.00.01.0}
        
        
    // If the round is started and player is hooked we can set the user velocity!
        
    if (rndStarted && gHooked[id])
        {
            static 
    Float:fHookOrigin[3], Float:fUsrOrigin[3], Float:fDist
            pev
    (HookEntpev_originfHookOrigin)
            
    pev(idpev_originfUsrOrigin)
            
            
    fDist vector_distance(fHookOriginfUsrOrigin)
            
            if (
    fDist >= 30.0)
            {
                new 
    Float:fSpeed get_pcvar_float(pSpeed)
                
                
    fSpeed *= 0.52
                
                fVelocity
    [0] = (fHookOrigin[0] - fUsrOrigin[0]) * (2.0 fSpeed) / fDist
                fVelocity
    [1] = (fHookOrigin[1] - fUsrOrigin[1]) * (2.0 fSpeed) / fDist
                fVelocity
    [2] = (fHookOrigin[2] - fUsrOrigin[2]) * (2.0 fSpeed) / fDist
            
    }
        }
        
    // Set the velocity
        
    set_pev(idpev_velocityfVelocity)
        
        return 
    PLUGIN_HANDLED
    }
            
    public 
    throw_hook(id)
    {
        
    // Get origin and angle for the hook
        
    static Float:fOrigin[3], Float:fAngle[3],Float:fvAngle[3]
        static 
    Float:fStart[3]
        
    pev(idpev_originfOrigin)
        
        
    pev(idpev_anglesfAngle)
        
    pev(idpev_v_anglefvAngle)
        
        if (
    get_pcvar_num(pInstant))
        {
            
    get_user_hitpoint(idfStart)
            
            if (
    engfunc(EngFunc_PointContentsfStart) != CONTENTS_SKY)
            {
                static 
    Float:fSize[3]
                
    pev(idpev_sizefSize)
                
                
    fOrigin[0] = fStart[0] + floatcos(fvAngle[1], degrees) * (-10.0 fSize[0])
                
    fOrigin[1] = fStart[1] + floatsin(fvAngle[1], degrees) * (-10.0 fSize[1])
                
    fOrigin[2] = fStart[2]
            }
            else
                
    xs_vec_copy(fStartfOrigin)
        }

        
        
    // Make the hook!
        
    Hook[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))
            
        if (
    Hook[id])
        {
            
    // Player cant throw hook now
            
    canThrowHook[id] = false
            
            
    static const Float:fMins[3] = {-2.840000, -14.180000, -2.840000}
            static const 
    Float:fMaxs[3] = {2.8400000.0200002.840000}
            
            
    //Set some Data
            
    set_pev(Hook[id], pev_classname"Hook")
            
            
    engfunc(EngFunc_SetModelHook[id], "models/rpgrocket.mdl")
            
    engfunc(EngFunc_SetOriginHook[id], fOrigin)
            
    engfunc(EngFunc_SetSizeHook[id], fMinsfMaxs)        
            
            
    //set_pev(Hook[id], pev_mins, fMins)
            //set_pev(Hook[id], pev_maxs, fMaxs)
            
            
    set_pev(Hook[id], pev_anglesfAngle)
            
            
    set_pev(Hook[id], pev_solid2)
            
    set_pev(Hook[id], pev_movetype5)
            
    set_pev(Hook[id], pev_ownerid)
            
            
    //Set hook velocity
            
    static Float:fForward[3], Float:Velocity[3]
            new 
    Float:fSpeed get_pcvar_float(pThrowSpeed)
            
            
    engfunc(EngFunc_MakeVectorsfvAngle)
            
    global_get(glb_v_forwardfForward)
            
            
    Velocity[0] = fForward[0] * fSpeed
            Velocity
    [1] = fForward[1] * fSpeed
            Velocity
    [2] = fForward[2] * fSpeed
            
            set_pev
    (Hook[id], pev_velocityVelocity)

            
    // Make the line between Hook and Player
            
    message_begin_f(MSG_BROADCASTSVC_TEMPENTITYFloat:{0.00.00.0}, 0)
            if (
    get_pcvar_num(pInstant))
            {
                
    write_byte(1// TE_BEAMPOINT
                
    write_short(id// Startent
                
    write_coord_f(fStart[0]) // End pos
                
    write_coord_f(fStart[1])
                
    write_coord_f(fStart[2])
            }
            else
            {
                
    write_byte(8// TE_BEAMENTS
                
    write_short(id// Start Ent
                
    write_short(Hook[id]) // End Ent
            
    }
            
    write_short(sprBeam// Sprite
            
    write_byte(1// StartFrame
            
    write_byte(1// FrameRate
            
    write_byte(600// Life
            
    write_byte(get_pcvar_num(pWidth)) // Width
            
    write_byte(get_pcvar_num(pHookNoise)) // Noise
            // Colors now
            
    if (get_pcvar_num(pColor))
            {
                if (
    get_user_team(id) == 1// Terrorist
                
    {
                    
    write_byte(255// R
                    
    write_byte(0)    // G
                    
    write_byte(0)    // B
                
    }
                
    #if defined _cstrike_included
                
    else if(cs_get_user_vip(id)) // vip for cstrike
                
    {
                    
    write_byte(0)    // R
                    
    write_byte(255)    // G
                    
    write_byte(0)    // B
                
    }
                
    #endif // _cstrike_included
                
    else if(get_user_team(id) == 2// CT
                
    {
                    
    write_byte(0)    // R
                    
    write_byte(0)    // G
                    
    write_byte(255)    // B
                
    }
                else
                {
                    
    write_byte(255// R
                    
    write_byte(255// G
                    
    write_byte(255// B
                
    }
            }
            else
            {
                
    write_byte(255// R
                
    write_byte(255// G
                
    write_byte(255// B
            
    }
            
    write_byte(192// Brightness
            
    write_byte(0// Scroll speed
            
    message_end()
            
            if (
    get_pcvar_num(pSound) && !get_pcvar_num(pInstant))
                
    emit_sound(idCHAN_BODY"weapons/xbow_fire1.wav"VOL_NORMATTN_NORM0PITCH_HIGH)
            
            static 
    TaskData[2]
            
    TaskData[0] = id
            TaskData
    [1] = Hook[id]
            
            
    set_task(0.1"hookthink"id 890TaskData2"b")
        }
        else
            
    client_print(idprint_chat"Can't create hook")
    }

    public 
    remove_hook(id)
    {
        
    //Player can now throw hooks
        
    canThrowHook[id] = true
        
        
    // Remove the hook if it is valid
        
    if (pev_valid(Hook[id]))
            
    engfunc(EngFunc_RemoveEntityHook[id])
        
    Hook[id] = 0
        
        
    // Remove the line between user and hook
        
    if (is_user_connected(id))
        {
            
    message_begin(MSG_BROADCASTSVC_TEMPENTITY, {0,0,0}, id)
            
    write_byte(99// TE_KILLBEAM
            
    write_short(id// entity
            
    message_end()
        }
        
        
    // Player is not hooked anymore
        
    gHooked[id] = false
        
    return 1
    }

    public 
    give_hook(idlevelcid)
    {
        if (!
    cmd_access(id ,levelcid1))
            return 
    PLUGIN_HANDLED
            
        
    if (!get_pcvar_num(pAdmin))
        {
            
    console_print(id"[Hook] Sadece-Admin Modu Suan Kapali !")
            return 
    PLUGIN_HANDLED
        
    }
        
        static 
    szTarget[32]
        
    read_argv(1szTargetcharsmax(szTarget))
        
        new 
    iUsrId cmd_target(idszTarget)
        
        if (!
    iUsrId)
            return 
    PLUGIN_HANDLED
            
        
    static szName[32]
        
    get_user_name(iUsrIdszNamecharsmax(szName))
        
        if (!
    g_bHookAllowed[iUsrId])
        {
            
    g_bHookAllowed[iUsrId] = true
            
            console_print
    (id"[Hook] %s Adli Kisiye Hook Verdin !"szName)
        }
        else
            
    console_print(id"[Hook] %s Adli Kisi Zaten Hook'a Sahip !"szName)
        
        return 
    PLUGIN_HANDLED
    }

    public 
    take_hook(idlevelcid)
    {
        if (!
    cmd_access(id ,levelcid1))
            return 
    PLUGIN_HANDLED
        
        
    if (!get_pcvar_num(pAdmin))
        {
            
    console_print(id"[Hook] Sadece-Admin Modu Suan Kapali !")
            return 
    PLUGIN_HANDLED
        
    }
            
        static 
    szTarget[32]
        
    read_argv(1szTargetcharsmax(szTarget))
        
        new 
    iUsrId cmd_target(idszTarget)
        
        if (!
    iUsrId)
            return 
    PLUGIN_HANDLED
            
        
    static szName[32]
        
    get_user_name(iUsrIdszNamecharsmax(szName))
        
        if (
    g_bHookAllowed[iUsrId])
        {
            
    g_bHookAllowed[iUsrId] = false
            
            console_print
    (id"[Hook] %s Adli Kisiden Hook Atma Ozelligini Aldiniz !"szName)
        }
        else
            
    console_print(id"[Hook] %s Adli Kisi Zaten Hook'a Sahip Degil !"szName)
        
        return 
    PLUGIN_HANDLED
    }

    // Stock by Chaosphere
    stock get_user_hitpoint(idFloat:hOrigin[3])
    {
        if (!
    is_user_alive(id))
            return 
    0
        
        
    static Float:fOrigin[3], Float:fvAngle[3], Float:fvOffset[3], Float:fvOrigin[3], Float:feOrigin[3]
        static 
    Float:fTemp[3]
        
        
    pev(idpev_originfOrigin)
        
    pev(idpev_v_anglefvAngle)
        
    pev(idpev_view_ofsfvOffset)
        
        
    xs_vec_add(fOriginfvOffsetfvOrigin)
        
        
    engfunc(EngFunc_AngleVectorsfvAnglefeOriginfTempfTemp)
        
        
    xs_vec_mul_scalar(feOrigin8192.0feOrigin)
        
    xs_vec_add(fvOriginfeOriginfeOrigin)
        
        static 
    tr
        engfunc
    (EngFunc_TraceLinefvOriginfeOrigin0idtr)
        
    get_tr2(trTR_vecEndPoshOrigin)
        
    //global_get(glb_trace_endpos, hOrigin)
        
        
    return 1
    }

    stock statusMsg(idszMsg[], {Float,_}:...)
    {
        static 
    iStatusText
        
    if (!iStatusText)
            
    iStatusText get_user_msgid("StatusText")
        
        static 
    szBuffer[512]
        
    vformat(szBuffercharsmax(szBuffer), szMsg3)
        
        
    message_begin((id == 0) ? MSG_ALL MSG_ONEiStatusText_id)
        
    write_byte(0// Unknown
        
    write_string(szBuffer// Message
        
    message_end()
        
        return 
    1

    bunu napıcam acaba ?

  6. #6
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    Bu kod .sma kodudur. Bunları kopyalayıp bir web compiler'e veya amxx studioya yapıştırıp compile ediceksin. Bu işlem sonucunda oluşan .amxx dosyasını kurucaksın. Yapmayı bilmiyorsan hazırını indirebilirsin:
    Ekli Dosyalar Ekli Dosyalar
    Konu akcaliberkk tarafından (04-12-12 Saat 21:33 ) değiştirilmiştir.

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


  7. #7
    er er
    Üyelik tarihi
    Nov 2012
    Mesajlar
    33
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    teşekkürler

  8. #8
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    Yalnız yetki RCON olarak kalmış. Yani sadece yöneticiler hook atabilir. Plugini güncelledim tekrar indir.
    Yetki : Ban

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


  9. #9
    teğmen emektar DeaTReX - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Feb 2012
    Yer
    İstanbul
    Mesajlar
    1.089
    Bahsedildi
    10 Mesaj
    Etiketlenmiş
    2 Konu
    Tecrübe Puanı
    14

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    Konu Cözüldüğü İçin Çözülmüş İstekler Bölümüne Taşınmıştır !
    İletişim ;

    MSN : DeaTReX
    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    SKYPE : DeaTReX

    Fakelerim Çıkmaya Başlamış Lütfen
    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
    & DeaTReX Adreslerinden Başka Hesabım Yoktur Lütfen Onlara Kanmayınız !

    Sunuculara Ve Serverlara Özel Plugin Ve Mod Kodlanır

  10. #10
    onbasi er
    Üyelik tarihi
    Mar 2012
    Mesajlar
    129
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    13

    Standart Cevap: İSTEK ! Sadece Ct de hook basabilmek

    Edit.
    Emeğe saygısızlık içeren mesaj.
    Konu akcaliberkk tarafından (07-01-13 Saat 19:20 ) değiştirilmiştir.

Sayfa 1/2 12 SonSon

Benzer Konular

  1. Sadece Adminlerin Atabileceği Kırmızı Renkli Hook.
    By canplugin in forum Çözülmüş İstekler
    Cevaplar: 6
    Son Mesaj: 26-05-15, 20:23

Kullanıcıların arama motorlarındaki kullandığı taglar:

cs 1.6 ctde hook plugini

cs 1.6 sadece ctde hook

register_concmd(amxx_hook

Counter Strike

Bu Konudaki Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  

SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94