birkaç sunucuda gördüm skorbordda oyuncularda rank yerine kendi sunucularının logolarını koymuşlar bu plugin sizlerde mevcut mu
Konu
(07-04-2020, 00:37)northeaster Adlı Kullanıcıdan Alıntı: logonun adını level9999.png yap ve materials/panorama/images/icons/xp/ dizinine yükleplugin içeriğini incelediğimde ip alma gibi gereksiz şeyler var bu fazlalıklar fazladan ram kullanımına sebep olmaz mı. kullandığımız host bu tarz gereksiz fonksiyonlu pluginleri yasaklıyor
PHP Kod:
#pragma semicolon 1
#define DEBUG
#define PLUGIN_AUTHOR ""
#define PLUGIN_VERSION "0.00"
#include < sourcemod >
#include < sdktools >
#include < sdkhooks >
#pragma newdecls required
public Plugin myinfo =
{
name = "",
author = PLUGIN_AUTHOR,
description = "",
version = PLUGIN_VERSION,
url = ""
};
int m_iOffset = -1;
public void OnPluginStart()
{
m_iOffset = FindSendPropInfo( "CCSPlayerResource", "m_nPersonaDataPublicLevel" );
}
public void OnMapStart( )
{
SDKHook( GetPlayerResourceEntity( ), SDKHook_ThinkPost, OnThinkPost );
AddFileToDownloadsTable( "materials/panorama/images/icons/xp/level9999.png" );
}
public void OnThinkPost( int m_iEntity )
{
int m_iLevelTemp[ MAXPLAYERS + 1 ] = 0;
GetEntDataArray( m_iEntity, m_iOffset, m_iLevelTemp, MAXPLAYERS + 1 );
for(int i = 1; i <= MaxClients; i++)
{
if( IsClientInGame( i ) && GetUserAdmin( i ) != INVALID_ADMIN_ID )
{
SetEntData( m_iEntity, m_iOffset + (i * 4), 9999 );
}
}
}
Son Düzenleme: 07-04-2020, 15:16, Düzenleyen: Anıl Can.
(07-04-2020, 15:16)Anıl Can Adlı Kullanıcıdan Alıntı:level9999 bazıki kişilerde başka sunucuda kulanılmış bu yüzden o kişinin logosu çıkıyor ayrıca bu resimleri ilerde değiştirmek için config dosyasına bağlanması mümkün müDizin ve isim aynı şekilde kur.Eklentide ip kısmını çıkarttım denersin.PHP Kod:#pragma semicolon 1
#define DEBUG
#define PLUGIN_AUTHOR ""
#define PLUGIN_VERSION "0.00"
#include < sourcemod >
#include < sdktools >
#include < sdkhooks >
#pragma newdecls required
public Plugin myinfo =
{
name = "",
author = PLUGIN_AUTHOR,
description = "",
version = PLUGIN_VERSION,
url = ""
};
int m_iOffset = -1;
public void OnPluginStart()
{
m_iOffset = FindSendPropInfo( "CCSPlayerResource", "m_nPersonaDataPublicLevel" );
}
public void OnMapStart( )
{
SDKHook( GetPlayerResourceEntity( ), SDKHook_ThinkPost, OnThinkPost );
AddFileToDownloadsTable( "materials/panorama/images/icons/xp/level9999.png" );
}
public void OnThinkPost( int m_iEntity )
{
int m_iLevelTemp[ MAXPLAYERS + 1 ] = 0;
GetEntDataArray( m_iEntity, m_iOffset, m_iLevelTemp, MAXPLAYERS + 1 );
for(int i = 1; i <= MaxClients; i++)
{
if( IsClientInGame( i ) && GetUserAdmin( i ) != INVALID_ADMIN_ID )
{
SetEntData( m_iEntity, m_iOffset + (i * 4), 9999 );
}
}
}
PHP Kod:
#pragma semicolon 1
#define DEBUG
#define PLUGIN_AUTHOR ""
#define PLUGIN_VERSION "0.00"
#include < sourcemod >
#include < sdktools >
#include < sdkhooks >
#pragma newdecls required
char kvfile[ PLATFORM_MAX_PATH ];
int g_levelindex[ MAXPLAYERS + 1 ];
public Plugin myinfo =
{
name = "",
author = PLUGIN_AUTHOR,
description = "",
version = PLUGIN_VERSION,
url = ""
};
int m_iOffset = -1;
public void OnPluginStart()
{
m_iOffset = FindSendPropInfo( "CCSPlayerResource", "m_nPersonaDataPublicLevel" );
BuildPath( Path_SM, kvfile, sizeof( kvfile ), "configs/adminicon.cfg" );
}
public void OnMapStart( )
{
char buffer[ PLATFORM_MAX_PATH ];
SDKHook( GetPlayerResourceEntity( ), SDKHook_ThinkPost, OnThinkPost );
KeyValues kv = CreateKeyValues( "AdminIcon" );
FileToKeyValues( kv, kvfile );
KvGotoFirstSubKey( kv );
do
{
int index = KvGetNum( kv, "index" );
Format( buffer, sizeof( buffer ), "materials/panorama/images/icons/xp/level%i.png", index );
AddFileToDownloadsTable( buffer );
}
while( KvGotoNextKey( kv ) );
KvRewind( kv );
delete kv;
}
public void OnClientPostAdminCheck( int client )
{
g_levelindex[ client ] = -1;
KeyValues kv = CreateKeyValues( "AdminIcon" );
FileToKeyValues( kv, kvfile );
KvGotoFirstSubKey( kv );
do
{
int flag = KvGetNum( kv, "flag" );
int index = KvGetNum( kv, "index" );
if( CheckCommandAccess( client, "", 1<<flag ))
{
g_levelindex[ client ] = index;
break;
}
}
while( KvGotoNextKey( kv ) );
KvRewind( kv );
delete kv;
}
public void OnThinkPost( int m_iEntity )
{
int m_iLevelTemp[ MAXPLAYERS + 1 ] = 0;
GetEntDataArray( m_iEntity, m_iOffset, m_iLevelTemp, MAXPLAYERS + 1 );
for(int i = 1; i <= MaxClients; i++)
{
if( IsClientInGame( i ) && GetUserAdmin( i ) != INVALID_ADMIN_ID )
{
SetEntData( m_iEntity, m_iOffset + (i * 4), g_levelindex[ i ] );
}
}
}
Son Düzenleme: 08-04-2020, 18:06, Düzenleyen: Anıl Can.
)



