←  Problemy z pluginami

AMXX.pl: Support AMX Mod X i SourceMod

»

system monet problem z svip

  • +
  • -
ChrisN - zdjęcie ChrisN 21.06.2018

Hey, chciałem dodać do systemu monet dodatkowe monety jeszcze dla super vipa, nie tylko vip'a tylko napotkałem problem, mianowicie wszystko się niby kompiluje itd ale monet nie dodaje ;/ testowałem na dwa sposoby jeden widac w dodawaniu monet za killa, a drugi przy bombe (w kodzie)

 

#include <amxmodx>
#include <amxmisc>
#include <nvault>
 
#define PLUGIN "System Monet"
#define AUTHOR "kisiel96"
#define VERSION "1.1.1"
#define VIP ADMIN_LEVEL_H
#define SVIP ADMIN_LEVEL_G
 
enum events { kill = 0, kill_hs, defused, planted, rescue_hostage, kill_hostage };
 
new player_auth[33][64];
new player_coins[33];
new bool:player_vip[33];
new bool:player_svip[33];
 
new pcvar_coins[events];
new pcvar_coins_vip[events];
new pcvar_coins_svip[events];
new cvar_coins[events];
new cvar_coins_vip[events];
new cvar_coins_svip[events];
 
new pcvar_coins_minplayers;
new pcvar_coins_ff;
new cvar_coins_minplayers;
new cvar_coins_ff;
 
new pcvar_savetype;
new vault;
 
public plugin_init()
{ 
register_plugin(PLUGIN, VERSION, AUTHOR);
 
register_event("DeathMsg", "EnemyKilled", "a");
register_event("ResetHUD", "ResetHUD", "abe");
register_logevent("HostageRescued", 3, "1=triggered", "2=Rescued_A_Hostage");
register_logevent("HostageKilled", 3, "1=triggered", "2=Killed_A_Hostage");
 
pcvar_coins_ff =  register_cvar("cod_coins_friendlyfire", "0");
 
pcvar_coins[kill] =  register_cvar("cod_coins_kill", "1");
pcvar_coins_vip[kill]  =  register_cvar("cod_coins_kill_vip", "2");
pcvar_coins_svip[kill]  =  register_cvar("cod_coins_kill_svip", "3");
 
pcvar_coins[kill_hs]  =  register_cvar("cod_coins_kill_hs", "2");
pcvar_coins_vip[kill_hs]  =  register_cvar("cod_coins_kill_hs_vip", "4");
pcvar_coins_svip[kill_hs]  =  register_cvar("cod_coins_kill_hs_svip", "6");
 
pcvar_coins[planted] =  register_cvar("cod_coins_planted", "1");
pcvar_coins_vip[planted] =  register_cvar("cod_coins_planted_vip", "2");
pcvar_coins_svip[planted] =  register_cvar("cod_coins_planted_svip", "3");
 
pcvar_coins[defused]  =  register_cvar("cod_coins_defused", "1");
pcvar_coins_vip[defused]  =  register_cvar("cod_coins_defused_vip", "2");
pcvar_coins_svip[defused]  =  register_cvar("cod_coins_defused_svip", "3");
 
pcvar_coins[rescue_hostage] =  register_cvar("cod_coins_rescue_hostage", "1");
pcvar_coins_vip[rescue_hostage] =  register_cvar("cod_coins_rescue_hostage_vip", "2");
pcvar_coins_svip[rescue_hostage] =  register_cvar("cod_coins_rescue_hostage_svip", "3");
 
pcvar_coins[kill_hostage] =  register_cvar("cod_coins_kill_hostage", "3");
pcvar_coins_vip[kill_hostage]  =  register_cvar("cod_coins_kill_hostage_vip", "2");
 
pcvar_coins_minplayers =  register_cvar("cod_coins_minplayers", "2");
 
pcvar_savetype  =  get_cvar_num("cod_savetype");
 
vault = nvault_open("monety");
if(vault == INVALID_HANDLE)
set_fail_state("Nie mozna otworzyc pliku");
}
 
public plugin_natives()
{
register_native("cod_get_user_coins", "GetCoins", 1);
register_native("cod_set_user_coins", "SetCoins", 1);
} 
 
public client_authorized(id)
{
RemoveCoins(id);
 
switch(pcvar_savetype)
{
case 1: get_user_name(id, player_auth[id], 63);
case 2: get_user_authid(id, player_auth[id], 63);
case 3: get_user_ip(id, player_auth[id], 63);
}
 
if(get_user_flags(id) & VIP)
player_vip[id] = true;
else 
player_vip[id] = false;
 
if(get_user_flags(id) & SVIP)
player_svip[id] = true;
else 
player_svip[id] = false;
 
LoadCoins(id);
}
 
public client_connect(id)
LoadCoins(id);
 
public client_disconnect(id)
{
SaveCoins(id);
RemoveCoins(id)
}
 
public plugin_end()
nvault_close(vault);
 
// /-----------\ //
// |RESET MONET| //
// \-----------/ //
 
public RemoveCoins(id)
{
player_coins[id] = 0;
player_vip[id] = false;
player_svip[id] = false;
}
 
// /--------------\ //
// |ZLICZNIE MONET| //
// \--------------/ //
 
public EnemyKilled()
{
cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers);
if(get_playersnum() < cvar_coins_minplayers)
return;
 
new kid = read_data(1);
new vid = read_data(2);
new hs = read_data(3);
 
if(kid == vid)
return;
 
cvar_coins_ff = get_pcvar_num(pcvar_coins_ff) 
 
if(cvar_coins_ff == 0 && get_user_team(kid) == get_user_team(vid))
return;
 
cvar_coins[kill] = get_pcvar_num(pcvar_coins[kill]);
cvar_coins_vip[kill] = get_pcvar_num(pcvar_coins_vip[kill]);
cvar_coins_svip[kill] = get_pcvar_num(pcvar_coins_svip[kill]);
cvar_coins[kill_hs] = get_pcvar_num(pcvar_coins[kill_hs]);
cvar_coins_vip[kill_hs] = get_pcvar_num(pcvar_coins_vip[kill_hs]);
cvar_coins_svip[kill_hs] = get_pcvar_num(pcvar_coins_svip[kill_hs]);
 
if(player_svip[kid])
{
if(hs)
player_coins[kid] += cvar_coins_svip[kill_hs];
else
player_coins[kid] += cvar_coins_svip[kill];
}
 
if(player_vip[kid])
{
if(hs)
player_coins[kid] += cvar_coins_vip[kill_hs];
else
player_coins[kid] += cvar_coins_vip[kill];
}
 
if(!player_vip[kid] || !player_svip[kid])
{
if(hs)
player_coins[kid] += cvar_coins[kill_hs];
else
player_coins[kid] += cvar_coins[kill];
}
}
 
public BombPlanted(id)
{
cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers);
if(get_playersnum() < cvar_coins_minplayers)
return;
 
cvar_coins[planted] = get_pcvar_num(pcvar_coins[planted]);
cvar_coins_vip[planted] = get_pcvar_num(pcvar_coins_vip[planted]);
cvar_coins_svip[planted] = get_pcvar_num(pcvar_coins_svip[planted]);
 
if(player_svip[id])
player_coins[id] += cvar_coins_svip[planted];
else if(player_vip[id])
player_coins[id] += cvar_coins_vip[planted];
else
player_coins[id] += cvar_coins[planted];
}
 
public BombDefused(id)
{
cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers);
if(get_playersnum() < cvar_coins_minplayers)
return;
 
cvar_coins[defused] = get_pcvar_num(pcvar_coins[defused]);
cvar_coins_vip[defused] = get_pcvar_num(pcvar_coins_vip[defused]); 
cvar_coins_svip[defused] = get_pcvar_num(pcvar_coins_svip[defused]); 
 
if(player_svip[id])
player_coins[id] += cvar_coins_svip[defused];
else if(player_vip[id])
player_coins[id] += cvar_coins_vip[defused];
else
player_coins[id] += cvar_coins[defused];
}
 
public HostageRescued(id)
{
cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers);
if(get_playersnum() < cvar_coins_minplayers)
return;
 
new loguser[80], name[32];
read_logargv(0, loguser, 79);
parse_loguser(loguser, name, 31);
 
new id = get_user_index(name);
 
cvar_coins[rescue_hostage] = get_pcvar_num(pcvar_coins[rescue_hostage]);
cvar_coins_vip[rescue_hostage] = get_pcvar_num(pcvar_coins_vip[rescue_hostage]);
cvar_coins_svip[rescue_hostage] = get_pcvar_num(pcvar_coins_svip[rescue_hostage]);
 
if(player_svip[id])
player_coins[id] += cvar_coins_svip[rescue_hostage];
else if(player_vip[id])
player_coins[id] += cvar_coins_vip[rescue_hostage];
else
player_coins[id] += cvar_coins[rescue_hostage];
} 
 
public HostageKilled(id) 
{
cvar_coins_minplayers = get_pcvar_num(pcvar_coins_minplayers);
if(get_playersnum() < cvar_coins_minplayers)
return;
 
new loguser[80], name[32];
read_logargv(0, loguser, 79);
parse_loguser(loguser, name, 31);
 
new id = get_user_index(name);
 
cvar_coins[kill_hostage] = get_pcvar_num(pcvar_coins[kill_hostage]);
cvar_coins_vip[kill_hostage] = get_pcvar_num(pcvar_coins_vip[kill_hostage]);
 
if(player_vip[id])
player_coins[id] -= cvar_coins_vip[kill_hostage];
else
player_coins[id] -= cvar_coins[kill_hostage];
} 
 
// /------\ //
// |NATYWY| //
// \------/ //
 
public SetCoins(id, wartosc)
{
player_coins[id] = wartosc
}
 
public GetCoins(id)
return player_coins[id];
 
// /------\ //
// |NVAULT| //
// \------/ //
 
public SaveCoins(id)
{
new vaultkey[64], vaultdata[256];
formatex(vaultkey, 63, "%s-player_coins", player_auth[id]);
formatex(vaultdata, 255, "%d#", player_coins[id]);
nvault_set(vault, vaultkey, vaultdata);
 
return;
}
 
public LoadCoins(id)
{
new vaultkey[64], vaultdata[256];
formatex(vaultkey, 63, "%s-player_coins", player_auth[id]);
formatex(vaultdata, 255, "%d#", player_coins[id]);
nvault_get(vault, vaultkey, vaultdata,255);
 
replace_all(vaultdata, 255, "#", " ");
 
new temp_player_coins[33];
parse(vaultdata, temp_player_coins, 32);
 
player_coins[id] = str_to_num(temp_player_coins);
 
return;
} 
 
// /-----------------\ //
// |ZEBY BYLO LADNIEJ| //
// \-----------------/ //
 
public bomb_planted(planter) 
{
BombPlanted(planter);
}
 
public bomb_defused(defuser)
{
BombDefused(defuser);
}
Odpowiedz

  • +
  • -
Maciuś20 - zdjęcie Maciuś20 22.06.2018

spróbuj zabrać sobie flagę odpowiadającą za samego vipa i zostaw sobie tylko svipa bo może się komplikują te dwie flagi

Odpowiedz

  • +
  • -
ChrisN - zdjęcie ChrisN 22.06.2018

spróbuj zabrać sobie flagę odpowiadającą za samego vipa i zostaw sobie tylko svipa bo może się komplikują te dwie flagi

 

No to chyba jasne, że nie używam dwóch usług na raz mhm

Odpowiedz