hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.29. 00:45



Jelenlévő felhasználók

Jelenleg 229 felhasználó van jelen :: 1 regisztrált, 1 rejtett és 227 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: ZP Bank Menü
HozzászólásElküldve: 2019.05.04. 14:53 
Offline
Újonc

Csatlakozott: 2017.04.30. 12:49
Hozzászólások: 2
Szeretnék használni egy olyan bank rendszert amit menüből lehet használni, mármint menüben kiválasztom hogy elrakja a lőszercsomagot vagy kivegye, kiírja az egyenlegemet és onnan tudok küldeni más játékosnak is lőszercsomagot.

Találtam is egy plugint:
Kód:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <cstrike>
#include <zombieplague>
#include <fvault>   

#define PLUGIN "[MG] Bank Menu"
#define VERSION "1.0"
#define AUTHOR "XizzyS x)"

#define is_valid_player(%1) (1 <= %1 <= 32)

//SELECT ONLY ONE OF THESE THREE BELOW! Nobody know what *might* happen if you select two or even all of them!
//Uncomment '#define STEAM' to use SteamID
//Uncomment '#define NICK' to use PlayerNick
//Uncomment '#define IP' to use Player IP
#define STEAM
//#define NICK
//#define IP

new g_AP[33]
new g_DonateID[33]

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    register_clcmd("takeAmount", "cmdTakeAmount")
    register_clcmd("saveAmount", "cmdSaveAmount")
    register_clcmd("donate", "cmdDonate")
   
    register_clcmd("say /bank", "bank_menu")
    register_clcmd("say_team /bank", "bank_menu")
    register_clcmd("say /wd", "bank_menu")
    register_clcmd("say_team /wd", "bank_menu")
}
public bank_menu(id)
{   
    if(is_valid_player(id)) 
               { 
        new title[100]
       
        formatex(title, 99, "\r[MG] \wBank[ You have in bank : \y%i\w]", g_AP[id])
       
       
        new bankMenu = menu_create(title, "menuBankHandler")
       
        menu_additem(bankMenu, "\wTake Amount", "1")
        menu_additem(bankMenu, "\wTake All^n", "2")
       
        menu_additem(bankMenu, "\wSave Amount", "3")
        menu_additem(bankMenu, "\wSave All^n", "4")
       
        menu_additem(bankMenu, "\wDonate Amout^n^n", "5")
       
       
        menu_display(id, bankMenu, 0)
            // return PLUGIN_HANDLED;
}
}
public menuBankHandler(id, menu, item)
{       
    new data[6], iName[64], access, callback
    menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
   
    new key = str_to_num(data)
   
    switch(key)
    {
        case 1:
        {
            client_cmd(id, "messagemode takeAmount")
        }
        case 2:
        {
            cmdTakeAll(id)
        }
        case 3:
        {
            client_cmd(id, "messagemode saveAmount")
        }
        case 4:
        {
            cmdSaveAll(id)
        }
        case 5:
        {
            menuDonate(id)
        }
    }
}

public cmdTakeAmount(id)
{
   
    new szAps[11]
    read_args(szAps, 10)
    remove_quotes(szAps)
   
    if(equal(szAps, "") || equal(szAps, " "))
        return PLUGIN_HANDLED
   
    new iAps = str_to_num(szAps)
   
    if(iAps < 1) return PLUGIN_HANDLED
   
    new iApsSum = iAps + zp_get_user_ammo_packs(id)
   
    if(iAps <= g_AP[id] && iApsSum <= 999)
    {
        zp_set_user_ammo_packs(id, iApsSum)
        g_AP[id] -= iAps
       
        client_print(id, print_chat, "[MG][Bank] You took %i Ammopacks from Your Bank. Now you have %i Ammopacks in your Bank.", iAps, g_AP[id])
       
        return PLUGIN_CONTINUE
    }
    else
    {
        client_print(id, print_chat, "[MG][Bank] You dont have enough Ammopacks or you wanted to take too much Ammopacks.")
    }
   
    return PLUGIN_CONTINUE
}

public cmdTakeAll(id)
{
    new iApsSum = zp_get_user_ammo_packs(id) + g_AP[id]
   
    if(iApsSum <= 999)
    {
        zp_set_user_ammo_packs(id, iApsSum)
       
        client_print(id, print_chat, "[MG][Bank] You took all %i Ammopacks from your Bank.", g_AP[id])
       
        g_AP[id] = 0
    }
    else if(iApsSum > 999)
    {
        new giveAps = 999 - zp_get_user_ammo_packs(id)
       
        if(giveAps <= g_AP[id])
        {
            zp_set_user_ammo_packs(id, giveAps + zp_get_user_ammo_packs(id))
            g_AP[id] -= giveAps
           
            client_print(id, print_chat, "[MG][Bank] You took %i Ammopacks from your Bank. Now you have %i Ammopacks in your Bank.", giveAps, g_AP[id])
        }
    }
}

public cmdSaveAmount(id)
{
   
    new szAps[11]
    read_args(szAps, 10)
    remove_quotes(szAps)
   
    if(equal(szAps, "") || equal(szAps, " "))
        return PLUGIN_HANDLED
   
    new iAps = str_to_num(szAps)
   
    if(iAps < 1) return PLUGIN_HANDLED
   
    new haveAps = zp_get_user_ammo_packs(id)
   
    if(iAps <= haveAps)
    {
        zp_set_user_ammo_packs(id, haveAps - iAps)
        g_AP[id] += iAps
       
        client_print(id, print_chat, "[MG][Bank] You saved %i Ammopacks in your Bank. Now you have %i Ammopacks in your Bank.", iAps, g_AP[id])
    }
    else
    {
        client_print(id, print_chat, "[MG][Bank] You dont have enough Ammopacks")
    }
   
    return PLUGIN_CONTINUE
}

public cmdSaveAll(id)
{
    new haveAps = zp_get_user_ammo_packs(id)
   
    zp_set_user_ammo_packs(id, 0)
    g_AP[id] += haveAps
   
    client_print(id, print_chat, "[MG][Bank] You saved %i Ammopacks to your Bank. Now you have %i Ammopacks in your Bank.", haveAps, g_AP[id])
}

public menuDonate(id)
{
    new DonateMenu = menu_create("\rChoose A player to Donate:", "menuDonateHandler")
   
    new players[32], pnum, tempid
   
    new szName[32], szTempid[10]
   
    get_players(players, pnum)
   
    for( new i; i<pnum; i++ )
    {
        tempid = players[i]
       
        if(id != tempid)
        {
            get_user_name(tempid, szName, 31)
            num_to_str(tempid, szTempid, 9)
           
            menu_additem(DonateMenu, szName, szTempid, 0)
        }
    }
   
    menu_display(id, DonateMenu, 0)
}

public menuDonateHandler(id, menu, item)
{   
    new data[6], iName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
   
    new tempid = str_to_num(data);
   
    g_DonateID[id] = tempid
   
    client_cmd(id, "messagemode donate")
   
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

public cmdDonate(id)
{
    if(g_DonateID[id] == 0) return PLUGIN_HANDLED
    new szAps[11]
    read_args(szAps, 10)
    remove_quotes(szAps)
   
    if(equal(szAps, "") || equal(szAps, " "))
        return PLUGIN_HANDLED
   
    new iAps = str_to_num(szAps)
   
    if(iAps < 1) return PLUGIN_HANDLED
   
    if(iAps <= g_AP[id])
    {
        // Take iAps away
        g_AP[id] -= iAps
       
        new NameDonate[45]
        get_user_name(g_DonateID[id], NameDonate, 44)
        new Name[45]
        get_user_name(g_DonateID[id], Name, 44)
       
        client_print(id, print_chat, "[MG][Bank] You donated %i Ammopacks to %s. Now you have %i ammopacks in your Bank.", iAps, NameDonate, g_AP[id])
       
        // give iAps to Donateid
        g_AP[g_DonateID[id]] += iAps
        client_print(g_DonateID[id], print_chat, "[MG][Bank] %s donated %i Ammopacks to you. Now you have %i Ammopacks in your Bank.", Name, iAps, g_AP[g_DonateID[id]])
    }
    else
    {
        client_print(id, print_chat, "[MG][Bank] You dont have enough Ammopacks")
    }
   
    return PLUGIN_CONTINUE
}
public SaveData(id)   
{   
    new szMethod[ 65 ];   
       
    #if defined STEAM   
    get_user_authid( id, szMethod, 34 );   
    #endif   
       
    #if defined NICK   
    get_user_name( id, szMethod, 34 );   
    #endif   
       
    #if defined IP   
    get_user_ip( id, szMethod, 34, 1 );   
    #endif   
       
    new vaultkey[64], vaultdata[328];   
    format(vaultkey, 63, "zm_%s", szMethod);   
    format(vaultdata, 327, "%i", g_AP[id]);   
       
    fvault_set_data( "Bank_Save", vaultkey, vaultdata );   
}   
public LoadData(id)   
{   
    new szMethod[ 65 ];   
       
    #if defined STEAM   
    get_user_authid( id, szMethod, 34 );   
    #endif   
       
    #if defined NICK   
    get_user_name( id, szMethod, 34 );   
    #endif   
       
    #if defined IP   
    get_user_ip( id, szMethod, 34, 1 );   
    #endif   
       
    new vaultkey[64], vaultdata[328];   
    format(vaultkey, 63, "zm_%s", szMethod);   
    format(vaultdata, 327, "%i", g_AP[id]);   
       
    fvault_get_data( "Bank_Save", vaultkey, vaultdata, charsmax( vaultdata ) );   
       
    g_AP[ id ] = str_to_num( vaultdata );   
}   
// When client enter on server   
public client_putinserver(id)   
{   
    LoadData(id);   
}   

// When client disconnect   
public client_disconnect(id)   

    cmdSaveAll(id);     
    SaveData(id); 
 



Ezzel a gondom az, hogy mikor feltelepítem a szerverre, és beírom a parancsot hogy /bank vagy /wd nem történik semmi sem. Többször is átnéztem már a scriptet de nem találtam semmit ami miatt nem működik.

Esetleg valaki betudna segíteni a javításban vagy valaki tudna küldeni egy működő verziót? Előre is köszönöm! :)


Csatolmányok:
zp_bankmenu.sma [8.5 KiB]
Letöltve 71 alkalommal.
Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ZP Bank Menü
HozzászólásElküldve: 2019.05.05. 00:25 
Offline
Senior Tag

Csatlakozott: 2017.04.30. 17:21
Hozzászólások: 286
Megköszönt másnak: 49 alkalommal
Megköszönték neki: 66 alkalommal
plugins.iniben a chates plugint írd legalulra és ennyi lenne :d


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ZP Bank Menü
HozzászólásElküldve: 2019.05.05. 09:44 
Offline
Újonc

Csatlakozott: 2017.04.30. 12:49
Hozzászólások: 2
aarpi. írta:
plugins.iniben a chates plugint írd legalulra és ennyi lenne :d

Milyen chates pluginra gondoltál? Meg mi köze lenne ennek ehhez nem értem :D


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole