View Single Post
soumyadip77
Senior Member
Join Date: Jul 2017
Location: INDIA,KOLKATA
Old 10-13-2021 , 13:57   Re: hello, this hat system gives coins at a certain time, but when the map changes, t
Reply With Quote #4

Check this and let me know compiler properly but not tested. Test It And Let Me know.

Make Sure Your Turn on nVault Module from Amx Module.

PHP Code:

#include <amxmodx>
#include <reapi>
#include <nvault>
#define Kac_Dakikada_Bir 5

new const sTag[] = "GitHub";

new const 
sHats[][][] = { {"","",0},
    {
"Dede Sapkasi","models/hat/dede.mdl",100},
    {
"Suratsiz Sapkasi","models/hat/suratsiz.mdl",100},
    {
"Inek Sapkasi","models/hat/inek.mdl",200},
    {
"Palyaco Sapkasi","models/hat/palyaco.mdl",300},
    {
"Kedi Sapkasi","models/hat/kedi.mdl",400},
    {
"Korku Sapkasi","models/hat/korku.mdl",700}
};
new 
iHatModels[sizeof(sHats)+1],iHatEnt[MAX_PLAYERS+1],iCoin[MAX_PLAYERS+1];
new const 
nVaultName[MAX_STRING_LENGTH] = "Hat_Vault";
new 
g_nVault;
new 
g_AuthId[MAX_PLAYERS+1]

public 
plugin_precache()
{
    for(new 
i=1sizeof(sHats);i++)
    {
        
iHatModels[i] = precache_model(sHats[i][1][0]);
    }
}
public 
plugin_natives()
{
    
register_native("nGetUserCoin","@NTV_CN");
}
@
NTV_CN()
{
    new 
iJlayer get_param(1);
    return 
iCoin[iJlayer];
}
public 
plugin_init()
{
    
register_plugin("Sapka Menü""1.0""PawNod', Nvault Added By Soumyadip77");

    
register_clcmd("say /sapka","@OpenHatMenu");
    
register_clcmd("say /hat","@OpenHatMenu");
    
RegisterHookChain(RG_CBasePlayer_Spawn"Rg_CbasePlayerSpawn"1);

    
g_nVault nvault_open(nVaultName);

    if(
g_nVault == INVALID_HANDLE)
        
set_fail_state("Error! Unable To Open Nvault")
}

public 
Rg_CbasePlayerSpawn(id)
{
    new 
PlayerVaultId[MAX_STRING_LENGTH];
    
formatex(PlayerVaultIdcharsmax(PlayerVaultId), "%s_COIN"g_AuthId[id]);
    
nvault_set(g_nVaultPlayerVaultIdiCoin[id]);
}

public 
plugin_end()
{
    
nvault_close(g_nVault);
}

public 
client_putinserver(iPlayer)
{
    
set_task(60.0*Kac_Dakikada_Bir,"@GiveCoin",iPlayer+779933);
    @
SetUserHat(iPlayer,0);
}

public 
client_authorized(id)
{
    
get_user_authid(idg_AuthIdcharsmax(g_AuthId));

    new 
PlayerVaultId[MAX_STRING_LENGTH];

    
formatex(PlayerVaultIdcharsmax(PlayerVaultId), "%s_COIN"g_AuthId[id]);
    new 
RetriveCoin nvault_get(g_nVaultPlayerVaultId);

    if(!
RetriveCoin)
        return 
0;

}

@
GiveCoin(const iTaskID)
{
    new 
iPlavyer iTaskID-779933;
    if(
is_user_connected(iPlavyer))
    {
        
iCoin[iPlavyer] += 10;
        
set_task(60.0*Kac_Dakikada_Bir,"@GiveCoin",iPlavyer+779933);
        
client_print_color(iPlavyeriPlavyer"^1[ ^3- ^4%s ^3- ^1] ^1Sunucuda %i dakika durdugunuz icin 10 Coin kazandiniz.",sTag,floatround(60.0*Kac_Dakikada_Bir))
    }
}
@
TakeDamage(const pVictim, const pInflictor, const pAttackerFloat:flDamagebitsDamageType)
{
    if(!
is_user_connected(pAttacker) || !rg_is_player_can_takedamage(pVictimpAttacker) || pVictim == pAttacker)
        return;

    
iCoin[pAttacker] += random_num(1,5);
}
@
OpenHatMenu(const iPlayer)
{
    new 
Menu menu_create(fmt("\d( \r%s \d) \y~> Sapka Menüsü \y~> \wSizdeki Coin: \r%i",sTag,iCoin[iPlayer]), "@OpenHatMenu_");
    
menu_additem(Menu,fmt("\r[\y%s\r] \d~> \wSapkayi \rCikar^n",sTag),"333");
    for(new 
fMenu=1;fMenu<sizeof(sHats);fMenu++)
    {
        
menu_additem(Menu,fmt("\r[\y%s\r] \d~> \w%s \d[\w%d \yCoin\d]"sTag,sHats[fMenu][0][0],sHats[fMenu][2][0]),fmt("%i",fMenu));
    }
    
menu_setprop(MenuMPROP_BACKNAME,"Önceki Sayfa"),menu_setprop(MenuMPROP_NEXTNAME,"Sonraki Sayfa"),menu_setprop(MenuMPROP_EXITNAME,"\wKapat");
    
menu_display(iPlayerMenu);
}
@
OpenHatMenu_(const iPlayer,const iMenu, const iItem)
{
    if(
iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
    new 
iData[6], iKey;
    
menu_item_getinfo(iMenuiItem_iDatacharsmax(iData));
    
iKey str_to_num(iData);
    if(
iKey == 333)
    {
        @
SetUserHat(iPlayer,0);
        
menu_destroy(iMenu);return PLUGIN_HANDLED;
    }
    if(
iCoin[iPlayer] >= sHats[iKey][2][0])
    {
        
iCoin[iPlayer] -= sHats[iKey][2][0];
        @
SetUserHat(iPlayer,0),@SetUserHat(iPlayer,iKey);
    }
    else
    {
        
client_print_color(iPlayeriPlayer"^1[ ^3- ^4%s ^3- ^1] ^1Yeterli paraniz bulunmuyor! Gereken: ^3%i ^4Coin",sTag,sHats[iKey][2][0]-iCoin[iPlayer]),@OpenHatMenu(iPlayer)
    }
    
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@
SetUserHat(const iPlayer, const iHatNum)
{
        switch(
iHatNum)
        {
            case 
0:
            {
                
iHatEnt[iPlayer] > rg_remove_entity(iHatEnt[iPlayer]):(iHatEnt[iPlayer] = 0);
            }
            default:
            {
                
iHatEnt[iPlayer] = rg_create_entity("info_target");
                
set_entvar(iHatEnt[iPlayer],var_movetype,MOVETYPE_FOLLOW);
                
set_entvar(iHatEnt[iPlayer],var_aiment,iPlayer);
                
set_entvar(iHatEnt[iPlayer],var_rendermode,kRenderNormal);
                
set_entvar(iHatEnt[iPlayer],var_modelindex,iHatModels[iHatNum]);
            }
        }
}
rg_remove_entity(const iEnt)
{
    if(
is_entity(iEnt))
    {
        
set_entvar(iEnt,var_flags,FL_KILLME);
    }

__________________
Let's Help Each Other
soumyadip77 is offline
Send a message via Skype™ to soumyadip77