Member
|
10-13-2021
, 15:07
Re: hello, this hat system gives coins at a certain time, but when the map changes, t
|
#6
|
Quote:
Originally Posted by soumyadip77
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);
}
}
|
Thank you very much, but when I got the hat, the coin was gone, what can we do to make sure the coins don't go away?
|
|