Member
|
10-13-2021
, 19:48
Re: hello, this hat system gives coins at a certain time, but when the map changes, t
|
#8
|
Quote:
Originally Posted by CrazY.
Code:
#include <amxmodx>
#include <nvault>
#include <reapi>
#define Kac_Dakikada_Bir 5
new const sTag[] = "GitHub";
new g_vault
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 g_authid[MAX_PLAYERS+1][MAX_AUTHID_LENGTH]
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'");
register_clcmd("say /sapka","@OpenHatMenu");
register_clcmd("say /hat","@OpenHatMenu");
g_vault = nvault_open("coins")
}
public plugin_end()
{
if (g_vault != INVALID_HANDLE)
nvault_close(g_vault)
}
public client_authorized(id, const authid[])
{
if (!is_user_bot(id) && !is_user_hltv(id) && g_vault != INVALID_HANDLE)
{
copy(g_authid[id], charsmax(g_authid[]), authid)
iCoin[id] = nvault_get(g_vault, authid)
}
}
public client_disconnected(id)
{
if (!is_user_bot(id) && !is_user_hltv(id) && g_vault != INVALID_HANDLE)
{
new value[32]
formatex(value, charsmax(value), "%d", iCoin[id])
nvault_set(g_vault, g_authid[id], value)
}
iCoin[id] = 0
}
public client_putinserver(iPlayer) {
set_task(60.0*Kac_Dakikada_Bir,"@GiveCoin",iPlayer+779933);
@SetUserHat(iPlayer,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);
}
|
thanks a lot but coins are spent when hats are purchased, any chance to fix this?
|
|