Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
herkeste aynı spray pluginde hata
#1
PHP Code:
/*

        ///////////////////////////////////////////////////////////////////////
        //-------------------- CUSTOM SPRAY MANAGEMENT ----------------------//
        ///////////////////////////////////////////////////////////////////////
        //------------------------- BY -=_|R0CK|_=- -------------------------//
        ///////////////////////////////////////////////////////////////////////

cspray_customtype <0, 1 ,2, 3, 4>

    0 = Block All Sprays for Everyone
    1 = Custom Sprays Enabled For Everyone
    2 = Custom Sprays Enabled For Admins Disabled for others
    3 = Custom Sprays Enabled For Chosen Ones Disabled for others(amx_allowspray <name>)
    4 = Custom Sprays Disabled For Everyone (Same Logo)

cspray_distannouce <0, 1>

    0 = Distance Checker + AnnounceType Disabled
    1 = Distance Checker + AnnounceType Enabled

cspray_distannoucetype <0, 1>

    0 = All Will able to see distance between spray and ground if any one sprays
    1 = Only sprayer will be able to see distance of its own spray

cspray_timeinterval <time>

    time = Will set time interval between two sprays by a user
    
cspray_disallowtype <1, 0> (when amx_disallowspray has been used on a user)

    0 = the users custom spray is blocked only
    1 = the users spray is fully blocked
    
Admin Commands :- 

    amx_allowspray <name> <time> (will allow the person to use his own spray When Spray_CustomType = 2, 3, 4)
    amx_disallowspray <name> (will block the person's spray When Spray_CustomType = 1, 3)

*/

////////////////////////////////////////////////////////
//-------------------- INCLUDES ----------------------//
////////////////////////////////////////////////////////

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <colorchat>
#include <xs>

///////////////////////////////////////////////////////
//-------------------- DEFINES ----------------------//
///////////////////////////////////////////////////////

#define PLUGIN             "Custom Spray Management"
#define VERSION         "1.7"
#define AUTHOR             "-=_|R0CK|_=-"
#define PREFIX             "^x03[CS Management]^x04"

#define FLAGS_SPRAY         ADMIN_RCON
#define SetCustomSpray(%1)    (set_pdata_int(%1, 485, 1)) //m_nCustomFrames = 485
#define ClearCustomSpray(%1)    (set_pdata_int(%1, 485, -1)) //m_nCustomFrames = 485
#define CustomSprayTime(%1,%2)    (set_pdata_int(%1, 486, %2)) // m_flNextDecalTime (time interval for a single user) = 486

///////////////////////////////////////////////////////
//--------------------CONSTANTS----------------------//
///////////////////////////////////////////////////////

new boolgp_IsSprayAllowed[33]
new 
boolgp_IsSprayBlocked[33]

new 
gp_LastSpray[33]
new 
gp_SprayTime[33]

new 
gp_ConfigFile[128]
new 
gp_CustomSpray
new gp_SprayDistType
new gp_SprayDist
new gp_SprayInterval
new gp_BlockType

new Trie:gp_SprayBanned

///////////////////////////////////////////////////////
//--------------------- BRAIN -----------------------//
///////////////////////////////////////////////////////

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_dictionary_colored("spraymanagement.txt")
    
    
gp_CustomSpray register_cvar("cspray_customtype","1")
    
gp_SprayDist register_cvar("cspray_distannouce","0")
    
gp_SprayDistType register_cvar("cspray_distannouceType","0")
    
gp_SprayInterval register_cvar("cspray_timeinterval""30")
    
gp_BlockType register_cvar("cspray_disallowtype""0")
    
    
register_clcmd("amx_allowspray""Admin_AllowSpray"FLAGS_SPRAY)
    
register_clcmd("amx_disallowspray""Admin_DisallowSpray"FLAGS_SPRAY)
    
    
register_logevent("FirstRound"2"0=World triggered""1&Restart_Round_")
    
register_logevent("FirstRound"2"0=World triggered""1=Game_Commencing")
    
    
RegisterHam(Ham_Spawn"player""Ham_Playerspawn"1)
    
register_event("23""Event_Spray""a""1=112" )
    
register_impulse(201"impulse_201")
}

////////////////////////////////////////////////////////
//------------------ FIRST ROUND ---------------------//
////////////////////////////////////////////////////////

public FirstRound()
{
    
server_cmd("sv_allowupload 1")
    
server_cmd("sv_allowdownload 1")
}

////////////////////////////////////////////////////////
//----------------- CLIENT CONNECT -------------------//
////////////////////////////////////////////////////////

public client_authorized(id)
{
    new 
gp_AuthId[35]
    
get_user_authid(idgp_AuthIdcharsmax(gp_AuthId))
    
    if(
TrieKeyExists(gp_SprayBannedgp_AuthId))
        
gp_IsSprayBlocked[id] = true
}

////////////////////////////////////////////////////////
//------------------ CLIENT SPAWN --------------------//
////////////////////////////////////////////////////////

public Ham_Playerspawn(id)
{
    if(!
is_user_connected(id))
        return 
HAM_IGNORED
        
    
if(gp_IsSprayBlocked[id])
    {
        
ClearCustomSpray(id)
        
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_DIS_ONE")
    }    
    else
    {
        switch(
get_pcvar_num(gp_CustomSpray))
        {
            case 
0:
            {
                
SetCustomSpray(id)
                
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_BLOCKED")
            }            
            case 
2
            {
                if(
access(idFLAGS_SPRAY))
                {
                    
SetCustomSpray(id)
                    
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_ENABLED_ADMIN")
                }    
                else
                {
                    
ClearCustomSpray(id)
                    
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_DIS_ONE")
                }
            }
        
            case 
3
            {
                if(
gp_IsSprayAllowed[id])
                {
                    
SetCustomSpray(id)
                    
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_ENABLED_ONE")
                }    
                else
                {
                    
ClearCustomSpray(id)
                    
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_DIS_ONE")
                }
            }
        
            case 
4
            {
                
ClearCustomSpray(id)
                
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_DISABLED")
            }
            
            default:
            {    
                
SetCustomSpray(id)
                
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_ENABLED")
            }
        }
    }
    
    if(!
gp_IsSprayAllowed[id])
        
gp_SprayTime[id] = get_pcvar_num(gp_SprayInterval)
    
    return 
HAM_IGNORED
}

////////////////////////////////////////////////////////
//----------------- ADMIN COMMANDS -------------------//
////////////////////////////////////////////////////////

public Admin_AllowSpray(id)
{
    static 
playeruser[32], Utime[21], TotalTime
    
    
if(!access(idFLAGS_SPRAY))
        return 
PLUGIN_HANDLED
    
    read_argv
(1usercharsmax(user))
    
read_argv(2Utimecharsmax(Utime))
    
    
player cmd_target(iduser2)
    
TotalTime str_to_num(Utime)
    
    if(!
is_user_connected(player))
        return 
PLUGIN_HANDLED
    
    
if(!access(playerFLAGS_SPRAY) || id == player)
    {
        
SetCustomSpray(player)
        
gp_IsSprayAllowed[player] = true
        gp_IsSprayBlocked
[player] = false
        ColorChat
(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_ENABLED_ONE")
        
Remove_SprayBan(player)
        
        if(
TotalTime 0)
            
gp_SprayTime[player] = TotalTime
    
}
    return 
PLUGIN_HANDLED
}

public 
Admin_DisallowSpray(id)
{
    static 
playeruser[32]
    
    if(!
access(idFLAGS_SPRAY))
        return 
PLUGIN_HANDLED
    
    read_argv
(1usercharsmax(user))
    
    
player cmd_target(iduser2)
    
    if(!
is_user_connected(player))
        return 
PLUGIN_HANDLED
    
    
if(!access(playerFLAGS_SPRAY) || id == player)
    {
        
ClearCustomSpray(player)
        
gp_IsSprayAllowed[player] = false
        gp_IsSprayBlocked
[player] = true
        ColorChat
(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_DIS_ONE")
        
Save_SprayBan(player)
        
        
gp_SprayTime[player] = get_pcvar_num(gp_SprayInterval)
    }
    return 
PLUGIN_HANDLED
}

///////////////////////////////////////////////////////
//----------------- SPRAY CONTROL -------------------//
///////////////////////////////////////////////////////

public impulse_201(id

    if(!
get_pcvar_num(gp_CustomSpray) || (get_pcvar_num(gp_BlockType) && gp_IsSprayBlocked[id]))
    {
        
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_BLOCKED")
        return 
PLUGIN_HANDLED
    
}
    else
    {
        if(
get_systime() - gp_LastSpray[id] < gp_SprayTime[id])
        {
            
ColorChat(idRED"%s %L"PREFIXLANG_SERVER,"SPRAY_RECHARGE", (gp_SprayTime[id] - (get_systime() - gp_LastSpray[id])))
            return 
PLUGIN_HANDLED
        
}
        
gp_LastSpray[id] = get_systime()
        
CustomSprayTime(idgp_SprayTime[id])
    }
    return 
PLUGIN_CONTINUE
}

////////////////////////////////////////////////////////
//----------------- SPRAY DISTANCE -------------------//
////////////////////////////////////////////////////////
//------------------ BY:- Exolent --------------------//
////////////////////////////////////////////////////////

public Event_Spray()
{
    if(!
get_pcvar_num(gp_SprayDist))
        return 
PLUGIN_CONTINUE
            
    
new iOrigin[3]
    
iOrigin[0] = read_data(3)
    
iOrigin[1] = read_data(4)
    
iOrigin[2] = read_data(5)
        
    new 
Float:vecSprayOrigin[3]
    
IVecFVec(iOriginvecSprayOrigin)
    
    new 
iPlayer read_data(2)
    
    new 
Float:vecPlayerOrigin[3]
    
get_user_originiPlayeriOrigin1)
    
IVecFVeciOriginvecPlayerOrigin )
        
    new 
Float:vecDirection[3]
    
xs_vec_subvecSprayOriginvecPlayerOriginvecDirection)
    
xs_vec_mul_scalarvecDirection10.0 vector_length(vecDirection), vecDirection)

    new 
Float:vecStop[3]
    
xs_vec_addvecSprayOriginvecDirectionvecStop )
    
xs_vec_mul_scalarvecDirection, -1.0vecDirection )
    
    new 
Float:vecStart[3]
    
xs_vec_addvecSprayOriginvecDirectionvecStart )
    
engfuncEngFunc_TraceLinevecStartvecStopIGNORE_MONSTERS, -1)
    
get_tr20TR_vecPlaneNormalvecDirection )
    
vecDirection[2] = 0.0
    
    xs_vec_mul_scalar
vecDirection5.0 vector_length(vecDirection), vecDirection)
    
xs_vec_addvecSprayOriginvecDirectionvecStart )
    
xs_vec_copyvecStartvecStop )
    
vecStop[2] -= 9999.0
    
    engfunc
EngFunc_TraceLinevecStartvecStopIGNORE_MONSTERS, -1)
    
get_tr20TR_vecEndPosvecStop )

    new 
Floatspray_dist vecStart[2] - vecStop[2]
   
    new 
szName[32]
    
get_user_nameiPlayerszNamecharsmax(szName))
        
    if(
get_pcvar_num(gp_SprayDistType))
        
ColorChat(iPlayerRED"%s %L"PREFIXLANG_SERVER,"SPRAY_DIST_UNITS"szNamespray_dist)
    else
        
ColorChat(0RED"%s %L"PREFIXLANG_SERVER,"SPRAY_DIST_UNITS"szNamespray_dist)
    
    return 
PLUGIN_CONTINUE
}

/////////////////////////////////////////////////////////
//----------------- SAVING BAN FILE -------------------//
/////////////////////////////////////////////////////////

public Save_SprayBan(id)
{
    new 
gp_BannedName[33], gp_BannedId[35], gp_Saveline[128], iFile fopen(gp_ConfigFile"a+")
    
    if(!
iFile) return
     
    
get_user_name(idgp_BannedNamecharsmax(gp_BannedName))
    
get_user_authid(idgp_BannedIdcharsmax(gp_BannedId))
    
    
formatex(gp_Savelinecharsmax(gp_Saveline), "^"%s^" ^"%s^"^n"gp_BannedIdgp_BannedName)
    
fprintf(iFilegp_Saveline)
    
    
fclose(iFile)
}

public 
Remove_SprayBan(id)
{
    new 
gp_BannedId[35], iFile fopen(gp_ConfigFile"a+")
    
    if(!
iFile) return
    
    new 
szData[128], line
    get_user_authid
(idgp_BannedIdcharsmax(gp_BannedId))
    
    while(!
feof(iFile))
    {
        
fgets(iFileszDatacharsmax(szData))
        
parse(szDataszDatacharsmax(szData))
        
        if(
equal(szDatagp_BannedId))
        {
            
write_file(gp_ConfigFile""line)
        }
        
line++
    }
    
fclose(iFile)
}

///////////////////////////////////////////////////////
//----------------- LOAD BAN FILE -------------------//
///////////////////////////////////////////////////////

public plugin_precache()
{
    new 
gp_Config[128]
    
get_localinfo("amxx_configsdir"gp_Configcharsmax(gp_Config))
    
formatex(gp_ConfigFilecharsmax(gp_ConfigFile), "%s/CS_BannedUsers.ini"gp_Config)
    
    if(!
file_exists(gp_ConfigFile))
    {
        
write_file(gp_ConfigFile";Custom Spray Management"0)
        
write_file(gp_ConfigFile";Credits to -=_|R0CK|_=- ^n"1)
        return
    }
    
    new 
iFile fopen(gp_ConfigFile"rt")
    if(!
iFile) return
    
    new 
szData[128], szKey[35]
    
gp_SprayBanned TrieCreate()
    
    while(!
feof(iFile))
    {
        
fgets(iFileszDatacharsmax(szData))
        
trim(szData)
            
        if(!
szData[0] || szData[0] == ';' || szData[0] == ' ' ) continue

        
parse(szDataszKeycharsmax(szKey))
        
TrieSetCell(gp_SprayBannedszKey1)
    }
    
fclose(iFile)
}

////////////////////////////////////////////////////////
//------------------- PLUGIN END ---------------------//
////////////////////////////////////////////////////////

public plugin_end()
{
    
TrieDestroy(gp_SprayBanned)


arkadaşlar bu plugini herkeste aynı spray çıkması icin kullanıyorum. yani herkes spray yaptıgı zaman eski valve logosu cıkıyo ufak olan. oyuzden kullanyıorum fakat bi bug var. Normalde serverda "decalfrequency 60" ve spray 1 kere bastıgım zaman 60 saniye sonra yenisini basabılıyoruz yada adam vurdugumuzda yeni spray basabiliyoruz. yada her el başı yeni spray basabiliyoruz fakat bu plugini kullandıgımda orada "cspray_timeinterval "23" yazıyo mesela. 23 saniyede bir spray basabilecegimi gösteriyo bu. ve adam vursamda yeni round başlasada 23 saniye dolmadan yeni spray basamıyoruz. Bunu nasıl fixlerim ? orjinal haline cevirirm yardım ederseniz sevinirim.
MSN : [email protected]
WEBSİTE : www.matcharena.net
FACEBOOK : www.facebook.com/MatchArena

- MatchArena.NET -
Güvenli ve hızlı steam satışında doğru adres!

Reply


Messages In This Thread
herkeste aynı spray pluginde hata - by shakespeare - 04-01-13, 22:11

Possibly Related Threads…
Thread Author Replies Views Last Post
  Plugindeki hata düzeltme caglarinhesap 6 5,088 17-08-18, 20:19
Last Post: dangarma16
  Lr pluginde bunny kapama t4t1fati 4 4,523 31-08-16, 17:24
Last Post: KemalKomutan
  Host_Error: UserMsg: Not Present on Client 16 bu hata verıyor 2 uc kes buyukısyanda veli067 8 10,289 01-07-15, 01:49
Last Post: mendark06s
  Pluginde hata lütfen yardım :) tarlacixx 2 4,960 10-04-15, 12:45
Last Post: kedusa
  [JB] Jailbreak Shop (Compile Ederken Hata Veriyor) Nobb 7 6,212 14-01-15, 21:18
Last Post: Neith
  Plugindeki hata düzeltme caglarinhesap 5 5,104 21-08-14, 00:35
Last Post: recep2
  [Hata] Oyuncu İsim Algılama Hatası Dexterz 3 3,437 16-07-14, 05:27
Last Post: JellyB0N
  /meslekmenu hata!! ankaraLI 9 6,496 15-07-14, 19:44
Last Post: bilbaz
  [JB] CT Shop (Çevirirken Hata Veriyor) Nobb 37 8,996 23-03-14, 23:01
Last Post: Nobb
  [JB] JailBreak Shop Çevirirken Hata Veriyor Nobb 11 5,622 20-02-14, 00:16
Last Post: btnbaba007

Foruma Atla:


Users browsing this thread: 1 Guest(s)