Senior Member
Join Date: Jul 2017
Location: INDIA,KOLKATA
|
10-13-2021
, 13:57
Re: hello, this hat system gives coins at a certain time, but when the map changes, t
|
#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=1; i < sizeof(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(PlayerVaultId, charsmax(PlayerVaultId), "%s_COIN", g_AuthId[id]);
nvault_set(g_nVault, PlayerVaultId, iCoin[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(id, g_AuthId, charsmax(g_AuthId));
new PlayerVaultId[MAX_STRING_LENGTH];
formatex(PlayerVaultId, charsmax(PlayerVaultId), "%s_COIN", g_AuthId[id]);
new RetriveCoin = nvault_get(g_nVault, PlayerVaultId);
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(iPlavyer, iPlavyer, "^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 pAttacker, Float:flDamage, bitsDamageType)
{
if(!is_user_connected(pAttacker) || !rg_is_player_can_takedamage(pVictim, pAttacker) || 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(Menu, MPROP_BACKNAME,"Önceki Sayfa"),menu_setprop(Menu, MPROP_NEXTNAME,"Sonraki Sayfa"),menu_setprop(Menu, MPROP_EXITNAME,"\wKapat");
menu_display(iPlayer, Menu);
}
@OpenHatMenu_(const iPlayer,const iMenu, const iItem)
{
if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED; }
new iData[6], iKey;
menu_item_getinfo(iMenu, iItem, _, iData, charsmax(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(iPlayer, iPlayer, "^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] > 0 ? 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
|
|