/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <hamsandwich>
#include <fakemeta>
#include <nvault>
new const PLUGIN[] = "Ladanyitas"
new const VERSION[] = "1.0"
new const AUTHOR[] = "OnlyKnife"
new const PREFIX[] = "Paintball"
new lada[33], kulcs[33], g_kes[3][33], vault;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /lada", "lad_nyitas")
register_event("DeathMsg","death","a")
RegisterHam(Ham_Item_Deploy, "weapon_knife", "OnItemDeployPost", 1)
register_clcmd("say /knife","fomenu")
register_clcmd("say /kes","fomenu")
register_clcmd("say /kesek","fomenu")
vault = nvault_open(".:F3lS3:.")
}
public fomenu(id)
{
new menu = menu_create("Fomenu", "fomenu_h")
menu_additem(menu, "Raktár", "1",0)
menu_additem(menu, "Láda Nyitás", "2",0)
menu_additem(menu, "Pontért Kések", "3",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
}
public fomenu_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
}
new data[9], szName[64], access, callback
menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback)
new key = str_to_num(data)
switch(key){
case 1: {
raktar(id)
}
case 2: {
lad_nyitas(id)
}
case 3: {
kes_menu(id)
}
}
}
public lad_nyitas(id)
{
new cim[121]
formatex(cim, charsmax(cim), "Paintball \d-\yKulcs: %d \r| \y Láda: %d",kulcs[id], lada[id])
new menu = menu_create(cim, "lada_h")
menu_additem(menu, "Láda Nyitás", "1",0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
}
public lada_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
}
new data[9], szName[64], access, callback
menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback)
new key = str_to_num(data)
switch(key){
case 1: {
if(lada[id] >= 1 && kulcs[id] >= 1)
{
lada[id]--
kulcs[id]--
talal(id)
}
lad_nyitas(id)
}
}
}
public talal(id)
{
switch(random_num(1, 2))
{
case 1 :
{
new nev[32]
get_user_name(id, nev, 31)
g_kes[1][id]++
ColorChat(0, GREEN, "[%s] ^3%s ^1Talált egy ^4Kes-^1t",PREFIX)
}
case 2 :
{
new nev[32]
get_user_name(id, nev, 31)
g_kes[2][id]++
ColorChat(0, GREEN, "[%s]^3%s ^1Talált egy ^4 2Kes-^1t",PREFIX)
}
}
}
public raktar(id) {
new cim[121]
new menu = menu_create("Raktár", "raktar_h")
if(g_kes[1][id]>= 1)
{
formatex(cim, charsmax(cim), "Kes %d DB",g_kes[1][id])
menu_additem(menu, cim, "1",0)
}
if(g_kes[2][id]>= 1)
{
formatex(cim, charsmax(cim), "Kes2 %d DB",g_kes[2][id])
menu_additem(menu, cim, "2",0)
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_setprop(menu, MPROP_EXITNAME, "Kilépés")
menu_display(id, menu, 0)
}
public raktar_h(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
}
new data[9], szName[64], access, callback
menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback)
new key = str_to_num(data)
switch(key){
case 1: {
g_kes[1][id] = 1
}
case 2: {
g_kes[2][id] = 2
}
}
}
new pont[33], kes[33]
new const fegyverek[][] = {
"models/BS_XMAS/xmas_kes1.mdl",
"models/BS_XMAS/xmas_kes2.mdl",
"models/BS_XMAS/xmas_kes3.mdl",
"models/BS_XMAS/xmas_kes4.mdl",
"models/BS_XMAS/xmas_kes5.mdl",
"models/BS_XMAS/xmas_kes6.mdl",
"models/BS_XMAS/xmas_kes7.mdl",
"models/BS_XMAS/xmas_kes8.mdl",
"models/BS_XMAS/xmas_kes9.mdl",
"models/BS_XMAS/xmas_kes10.mdl",
"models/BS_XMAS/xmas_kes11.mdl"
};
public plugin_precache() {
for(new i; i<sizeof(fegyverek);i++) precache_model(fegyverek[i]);
}
public OnItemDeployPost(ent) {
static id; id = fm_cs_get_weapon_ent_owner(ent);
if (!pev_valid(id)) return;
switch(kes[id]) {
case 1: set_pev(id, pev_viewmodel2, fegyverek[0])
case 2: set_pev(id, pev_viewmodel2, fegyverek[1])
case 3: set_pev(id, pev_viewmodel2, fegyverek[2])
case 4: set_pev(id, pev_viewmodel2, fegyverek[3])
case 5: set_pev(id, pev_viewmodel2, fegyverek[4])
case 6: set_pev(id, pev_viewmodel2, fegyverek[5])
case 7: set_pev(id, pev_viewmodel2, fegyverek[6])
case 8: set_pev(id, pev_viewmodel2, fegyverek[7])
case 9: set_pev(id, pev_viewmodel2, fegyverek[8])
case 10: set_pev(id, pev_viewmodel2, fegyverek[9])
case 11: set_pev(id, pev_viewmodel2, fegyverek[10])
}
}
fm_cs_get_weapon_ent_owner(ent) {
if (pev_valid(ent) != 2) return -1;
return get_pdata_cbase(ent, 41, 4);
}
public death() {
new killer = read_data(1);
new victim = read_data(2);
if(killer != victim) {
pont[killer]++
if(15.0 >= random_float(1.0, 100.0))
{
ladat_kap(killer)
}
else if(15.0 >= random_float(1.0, 100.0))
{
kulcsot_kap(killer)
}
}
}
public ladat_kap(id) {
if(is_user_alive(id) && is_user_connected(id)) {
new nev[32]
get_user_name(id,nev,31)
lada[id]++
ColorChat(id, GREEN,"%s ^3%s ^1Talált egy ^3Ládát!",PREFIX, nev)
}
}
public kulcsot_kap(id) {
if(is_user_alive(id) && is_user_connected(id)) {
new nev[32]
get_user_name(id,nev,31)
kulcs[id]++
ColorChat(id, GREEN,"%s ^3%s ^1Talált egy ^3Kulcsot!",PREFIX, nev)
}
}
public kes_menu(id) {
new temp[128];
formatex(temp, charsmax(temp), "\r[%s] \w[.:F4lS3:. Kes menu", PREFIX);
new menu = menu_create(temp, "kes_h");
formatex(temp, charsmax(temp), "[.:F4lS3:.] 1. kes %s", pont[id] >= 25 ? "|Elerheto|":"");
menu_additem(menu, temp, "1", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 2. kes %s", pont[id] >= 50 ? "|Elerheto|":"");
menu_additem(menu, temp, "2", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 3. kes %s", pont[id] >= 100? "|Elerheto|":"");
menu_additem(menu, temp, "3", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 4. kes %s", pont[id] >= 200 ? "|Elerheto|":"");
menu_additem(menu, temp, "4", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 5. kes %s", pont[id] >= 500 ? "|Elerheto|":"");
menu_additem(menu, temp, "5", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 6. kes %s", pont[id] >= 1000 ? "|Elerheto|":"");
menu_additem(menu, temp, "6", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 7. kes %s", pont[id] >= 1500 ? "|Elerheto|":"");
menu_additem(menu, temp, "7", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 8. kes %s", pont[id] >= 2000 ? "|Elerheto|":"");
menu_additem(menu, temp, "8", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 9. kes %s", pont[id] >= 2500 ? "|Elerheto|":"");
menu_additem(menu, temp, "9", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 10. kes %s", pont[id] >= 3000 ? "|Elerheto|":"");
menu_additem(menu, temp, "10", 0)
formatex(temp, charsmax(temp), "[.:F4lS3:.] 11. kes %s", pont[id] >= 5000 ? "|Elerheto|":"");
menu_additem(menu, temp, "11", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
menu_display(id, menu, 0)
}
public kes_h(id, menu, item) {
if( item == MENU_EXIT ) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
switch(item)
{
case 0: {
if(pont[id] >= 25) {
kes[id] = 1
ChatColor(id, "^4[%s]^1 Aktivaltad az elso kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg ^3%d ^1pontot kell szerezned!", PREFIX, 25-pont[id])
}
}
case 1: {
if(pont[id] >= 50) {
kes[id] = 2
ChatColor(id, "^4[%s]^1 Aktivaltad a masodik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 50-pont[id])
}
}
case 2: {
if(pont[id] >= 100) {
kes[id] = 3
ChatColor(id, "^4[%s]^1 Aktivaltad a harmadik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 100-pont[id])
}
}
case 3: {
if(pont[id] >= 200) {
kes[id] = 4
ChatColor(id, "^4[%s]^1 Aktivaltad a negyedik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 200-pont[id])
}
}
case 4: {
if(pont[id] >= 500) {
kes[id] = 5
ChatColor(id, "^4[%s]^1 Aktivaltad a otodik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 500-pont[id])
}
}
case 5: {
if(pont[id] >= 1000) {
kes[id] = 6
ChatColor(id, "^4[%s]^1 Aktivaltad a hatodik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 1000-pont[id])
}
}
case 6: {
if(pont[id] >= 1500) {
kes[id] = 7
ChatColor(id, "^4[%s]^1 Aktivaltad a hatodik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 1500-pont[id])
}
}
case 7: {
if(pont[id] >= 2000) {
kes[id] = 8
ChatColor(id, "^4[%s]^1 Aktivaltad a hetedik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 2000-pont[id])
}
}
case 8: {
if(pont[id] >= 2500) {
kes[id] = 9
ChatColor(id, "^4[%s]^1 Aktivaltad a nyolcadik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 2500-pont[id])
}
}
case 9: {
if(pont[id] >= 3000) {
kes[id] = 10
ChatColor(id, "^4[%s]^1 Aktivaltad a kilencedik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 3000-pont[id])
}
}
case 10: {
if(pont[id] >= 5000) {
kes[id] = 11
ChatColor(id, "^4[%s]^1 Aktivaltad a nyolcadik kest!", PREFIX)
}
else {
ChatColor(id, "^4[%s]^1 Meg^3 %d ^1pontot kell szerezned!", PREFIX, 5000-pont[id])
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public client_disconnect(id) {
mentes(id)
pont[id] = 0;
kes[id] = 0;
}
public client_authorized(id) {
betoltes(id)
}
mentes(id) {
new vaultkey[32], vaultdata[256];
get_user_name(id, vaultkey, charsmax(vaultkey));
format(vaultdata, charsmax(vaultdata), "%i %i", pont[id], kes[id])
nvault_set(vault, vaultkey, vaultdata)
}
betoltes(id) {
new vaultkey[32], vaultdata[256];
get_user_name(id, vaultkey, charsmax(vaultkey));
if(nvault_get(vault, vaultkey, vaultdata, charsmax(vaultdata))) {
new pontok[8], kesvalaszto[8];
parse(vaultdata, pontok, charsmax(pontok), kesvalaszto, charsmax(kesvalaszto));
pont[id] = str_to_num(pontok);
kes[id] = str_to_num(kesvalaszto);
}
}
public plugin_end() {
nvault_close(vault);
}
stock ChatColor(const id, const szMessage[], any:...) {
static pnum, players[32], szMsg[190], IdMsg;
vformat(szMsg, charsmax(szMsg), szMessage, 3);
if(!IdMsg) IdMsg = get_user_msgid("SayText");
if(id) {
if(!is_user_connected(id)) return;
players[0] = id;
pnum = 1;
}
else get_players(players, pnum, "ch");
for(new i; i < pnum; i++) {
message_begin(MSG_ONE, IdMsg, .player = players[i]);
write_byte(players[i]);
write_string(szMsg);
message_end();
}
}