⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🇹🇷 TR Lokasyon | 🛡️ Gelişmiş DDoS Koruması | ⚡ Düşük Ping | 🎧 Kesintisiz TS3 | Hostlar
Sponsor Görsel 2
SponsorSponsor

Konu

#2
(14-04-2025, 22:47)RepLicant Adlı Kullanıcıdan Alıntı: Selamlar skinleri aktif ettiğimizde tekrar pasif konuma alamıyoruz bu konuda yardımcı olabilecek varmıdır

Dener misiniz?

PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const szUpperTag[]  "\rBirAlem\d -";
new const 
szChatTag[] = "^4BirAlem";

#define iMaxSkin  5   // Kac adet skin varsa "+1" fazlası. !! Aksi takdirde hata çıkarabilir.

new const g_szSkinsFile[] = "addons/amxmodx/configs/Skins.ini";   // Skin verilerinin kayıt yolu.

enum _:SkinData
{
    
szSkinName[32],
    
szSkinFile[64],
    
szSkinWeaponCode[32]
};
new Array:
g_aSkin;
new 
bool:g_blActiveSkin[MAX_PLAYERS+1][iMaxSkin];

public 
plugin_init()
{
    
register_plugin("Weapon Skin Menu""0.1""` BesTCore;");

    
register_clcmd("say /skin""clcmd_skins"ADMIN_RESERVATION);
    
register_clcmd("nightvision""clcmd_skins"ADMIN_RESERVATION);

    
RegisterHookChain(RG_CBasePlayerWeapon_DefaultDeploy"RG_CBasePlayerWeapon_DefaultDeploy_Pre", .post false);
}

public 
clcmd_skins(const id)
{
    new 
bestm menu_create(fmt("%s Skin Menu"szUpperTag), "clcmd_skins_handler"), iSize ArraySize(g_aSkin), aData[SkinData];

    for(new 
0iSizei++)
    {
        
ArrayGetArray(g_aSkiniaData);
        
menu_additem(bestmfmt("%s%s"aData[szSkinName], g_blActiveSkin[id][i] ? " \d[\yAKTIF\d]":""), fmt("%d"i));
    }
    
menu_setprop(bestmMPROP_EXITNAME"\rCikis");
    
menu_display(idbestm);
}

public 
clcmd_skins_handler(const id, const iMenu, const iItem)
{
    if(
iItem != MENU_EXIT)
    {
        
SkinActivated(idiItem);
    }
    
menu_destroy(iMenu);
    return 
PLUGIN_HANDLED;
}

SkinActivated(const id, const iValue)
{
    new 
aDataPlayer[SkinData];
    
ArrayGetArray(g_aSkiniValueaDataPlayer);

    if(
g_blActiveSkin[id][iValue])
    {

        
g_blActiveSkin[id][iValue] = false;

        
replace_string(aDataPlayer[szSkinName], charsmax(aDataPlayer), "\r""");
        
replace_string(aDataPlayer[szSkinName], charsmax(aDataPlayer), "\w""");
        
replace_string(aDataPlayer[szSkinName], charsmax(aDataPlayer), "\d""");
        
replace_string(aDataPlayer[szSkinName], charsmax(aDataPlayer), "\y""");

        
client_print_color(idid"^1[%s^1] ^4%s ^1skin'i ^3pasif ^1hale getirildi."szChatTagaDataPlayer[szSkinName]);
    }
    else
    {

        
g_blActiveSkin[id][iValue] = true;

        
replace_string(aDataPlayer[szSkinName], charsmax(aDataPlayer), "\r""");
        
replace_string(aDataPlayer[szSkinName], charsmax(aDataPlayer), "\w""");
        
replace_string(aDataPlayer[szSkinName], charsmax(aDataPlayer), "\d""");
        
replace_string(aDataPlayer[szSkinName], charsmax(aDataPlayer), "\y""");

        
client_print_color(idid"^1[%s^1] ^1Basarili bir sekilde [^4%s^1] skin ^3aktif ^1edildi."szChatTagaDataPlayer[szSkinName]);


        new 
aData[SkinData], iSize ArraySize(g_aSkin);
        for(new 
0iSizei++)
        {
            if(
== iValue) continue;

            
ArrayGetArray(g_aSkiniaData);

            if(
equal(aData[szSkinWeaponCode], aDataPlayer[szSkinWeaponCode]))
            {
                
g_blActiveSkin[id][i] = false;
            }
        }
    }
}

public 
RG_CBasePlayerWeapon_DefaultDeploy_Pre(const iWeaponszViewModel[], szWeaponModel[], iAnimszAnimExt[], skiplocal)
{
    new 
id get_member(iWeaponm_pPlayer);
    new 
iSize ArraySize(g_aSkin), aData[SkinData], iWeaponIdType get_member(iWeaponm_iId);

    for(new 
0iSizei++)
    {
        
ArrayGetArray(g_aSkiniaData);

        if(
iWeaponIdType != get_weaponid(aData[szSkinWeaponCode]))
        {
            continue;
        }
        if(!
g_blActiveSkin[id][i])
        {
            continue;
        }

        
SetHookChainArg(2ATYPE_STRINGaData[szSkinFile]);
    }
}

public 
plugin_precache()
{
    
g_aSkin ArrayCreate(SkinData);

    new 
iFile fopen(g_szSkinsFile"rt");

    if(
iFile)
    {
        new 
szBuffer[MAX_FMT_LENGTH],
            
pSkinName[32], pSkinFile[64], pSkinWeaponCode[32], aData[SkinData];

        while(
fgets(iFileszBuffercharsmax(szBuffer)))
        {
            
trim(szBuffer);

            if(
szBuffer[0] == EOS || szBuffer[0] == ';')
            {
                continue;
            }

            
parse(szBufferpSkinNamecharsmax(pSkinName), pSkinFilecharsmax(pSkinFile), pSkinWeaponCodecharsmax(pSkinWeaponCode));

            
copy(aData[szSkinName], charsmax(aData), pSkinName);
            
copy(aData[szSkinFile], charsmax(aData), pSkinFile);
            
copy(aData[szSkinWeaponCode], charsmax(aData), pSkinWeaponCode);

            
ArrayPushArray(g_aSkinaData);

            
precache_model(fmt("%s"pSkinFile));
        }
        
fclose(iFile);
    }
}

public 
plugin_end()
{
    
ArrayDestroy(g_aSkin);

Plug-in & Model Tasarımı  |  Discord ° Steam
TORBACI & TIM & FACETOFACE & RECKLESS
#3
İstek konusu, @"pFer" adlı kullanıcı tarafından 3 gün içinde çözülmüştür.
İsteği çözdüğü için pFer Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
pFer Adlı kullanıcı sizin dışınızda toplam 0 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task