hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 20:49



Jelenlévő felhasználók

Jelenleg 377 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 376 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-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: Skin menu mentés segítség
HozzászólásElküldve:2015.11.07. 12:02 
Offline
Újonc

Csatlakozott:2015.11.06. 19:55
Hozzászólások:2
Sziasztok! Fegyver skin menu-höz kérném hiozzáértő segítségét, mentés résznél. Mapvaltasnal nem menti el az oléeket. Itt a kod:
Kód:
    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <colorchat>
    #include <fvault>
 
    #define PLUGIN "Fegyver Skin Menu"
    #define VERSION "1.0"
    #define AUTHOR "RaZzoR"
 
 
   
    #define HOOK_V_MODELS
 
    new weapon_select[33]
    new g_vault
    new fragek[33]
    new name[32][33]
    new oles[33]
   
 

    new const menu_item_names[][][] = {
    { "Alap Csomag", "0", "" },
    { "Kozlegeny Csomag", "10", "k" },
    { "Tizedes Csomag", "20", "t" },
    { "Hadnagy Csomag", "50", "h" }
    }
 
    new const models_name[][] = {
    "ak47.mdl",
    "awp.mdl",
    "m4a1.mdl",
    "usp.mdl",
    "deagle.mdl"
    }
 
    public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
 
    register_clcmd("say /menu", "clcmd_menu")
    register_event("CurWeapon","Hook_P_V_Model","be","1=1")
    register_event("DeathMsg", "event_death", "ade")
 
    #if defined HOOK_W_MODELS
    register_forward(FM_SetModel, "Hook_W_Model", 1)
    #endif
    }

    public event_death() {
    if(read_data(1) != read_data(2)) {
      fragek[read_data(1)] ++
   }
    }
 
    public plugin_precache() {
    for(new i = 0; i < sizeof(models_name); i++) {
    for(new j = 1; j < sizeof(menu_item_names); j++) {
    #if defined HOOK_P_MODELS
    new precache_p[256]
    format(precache_p, sizeof(precache_p), "models/%s/p_%s", menu_item_names[j][2], models_name[i])
 
    precache_model(precache_p)
    #endif
 
    #if defined HOOK_V_MODELS
    new precache_v[256]
    format(precache_v, sizeof(precache_v), "models/%s/v_%s", menu_item_names[j][2], models_name[i])
 
    precache_model(precache_v)
    #endif
    }
    }
    }
 
 
    public W_Model_Hook(ent, model[]) {
    if(!pev_valid(ent)) return FMRES_IGNORED
 
    new owner = pev(ent, pev_owner)
 
    for(new i = 0; i < sizeof(models_name); i++) {
    new old_w[256]
    format(old_w, sizeof(old_w), "models/w_%s", models_name[i])
 
    new new_w[256]   
    format(new_w, sizeof(new_w), "models/%s/w_%s", menu_item_names[weapon_select[owner]][2], models_name[i])
 
    if(equali(model, old_w) || equali(model, new_w)) {
    if(weapon_select[owner] >= 1) engfunc(EngFunc_SetModel, ent, new_w)
    else engfunc(EngFunc_SetModel, ent, old_w)
 
    return FMRES_SUPERCEDE
    }
    }
 
    return FMRES_IGNORED
    }
 
    public Hook_P_V_Model(id) {
    if(!is_user_alive(id))
    return PLUGIN_CONTINUE
 
    static v_model[32], p_model[32]
    pev(id, pev_viewmodel2, v_model, 31)
    pev(id, pev_weaponmodel2, p_model,31)
 
    for(new i = 0; i < sizeof(models_name); i++) {
    #if defined HOOK_V_MODELS
    new old_v[256]
    format(old_v, sizeof(old_v), "models/v_%s", models_name[i])
 
    new new_v[256]
    format(new_v, sizeof(new_v), "models/%s/v_%s", menu_item_names[weapon_select[id]][2], models_name[i])
 
    if(equali(v_model, old_v) || equali(v_model, new_v)) {
    if(weapon_select[id] >= 1) set_pev(id, pev_viewmodel2, new_v)   
    else set_pev(id, pev_viewmodel2, old_v)
 
    break
    }
    #endif
 
    #if defined HOOK_P_MODELS
    new old_p[256]
    format(old_p, sizeof(old_p), "models/p_%s", models_name[i])
 
    new new_p[256]
    format(new_p, sizeof(new_p), "models/%s/p_%s", menu_item_names[weapon_select[id]][2], models_name[i])
 
    if(equali(p_model, old_p) || equali(p_model, new_p)) {
    if(weapon_select[id] >= 1) set_pev(id, pev_weaponmodel2, new_p)   
    else set_pev(id, pev_weaponmodel2, old_p)
 
    break
    }
    #endif
    }
 
    return PLUGIN_CONTINUE
    }
 
    public clcmd_menu(id) {
    new menu_line[64], menu_newline[64], i_data[64]
    format(menu_line, charsmax(menu_line), "\wFegyver Skin Menu^nOleseid: \r%i", fragek[id])
 
    new menu = menu_create(menu_line, "clcmd_menu_handler")
 
    for(new i = 0; i < sizeof(menu_item_names); i++) {
    new convert_num = str_to_num(menu_item_names[i][1])
    num_to_str(i, i_data, sizeof(i_data))
 
    if(fragek[id] < convert_num)
    format(menu_newline, charsmax(menu_newline), "%s (\d%i Oles Kell)", menu_item_names[i][0], convert_num)
    else
    format(menu_newline, charsmax(menu_newline), "%s (\dElerve)", menu_item_names[i][0])
    menu_additem(menu, menu_newline, i_data, 0)
    }
 
    menu_display(id, menu, 0)
 
    return PLUGIN_HANDLED
    }
 
    public clcmd_menu_handler(id, menu, item) {
    if(item == MENU_EXIT) {
    menu_destroy(menu)
    return PLUGIN_HANDLED
    }
 
    new data[64], szName[64]
    new access, callback
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
 
    new key = str_to_num(data)
    new convert_num = str_to_num(menu_item_names[key][1])
 
    if(fragek[id] < convert_num) {
    ColorChat(id, GREEN, "[Informacio] ^1Sajnalom tul kevws olesed van!", menu_item_names[key][0])
    return PLUGIN_HANDLED
    }
 
    else {
    weapon_select[id] = key
    ColorChat(id, GREEN, "[Informacio] ^1Sikeresen kivlasztottad az ^3%s ^1-ot", menu_item_names[key][0])
    }
 
    return PLUGIN_CONTINUE
    }
 
 new const szVaultName[ ] = "skinmenu";   // .txt fájl neve (addons/amxmodx/data/file_vault/some_mod.txt)
 
public client_putinserver(id) {      // belép pistike a szerverre
   if (is_user_bot(id)) return;   // botokat leszarjuk
 
   oles[id] = 0;   // sloton lévő változót nullázzuk
   load(id);   // betöltjük a változókat a mentésből steamid-re, ha már a steamid mentett egyszer, ha nem,akkor a 0 érvényesül
}
 
public client_disconnect(id) {   // kilép pistike a szerverről
   if (is_user_bot(id)) return;   // továbbra is leszarjuk, ha bot (még ha úgyis játszik)
 
   save(id);   // mentjük a változókat, hogy később pistike SteamID-jére csatlakozáskor betöltse (lásd fentebb)
}
 
load(id) {   // betöltés rész
   new szAuthid[32], szData[32];   // létrehozzuk a tömböket tárolásra, steamid és adat
   get_user_authid( id, szAuthid, charsmax(szAuthid));   // lekérjük a steamid-jét
   if (containi(szAuthid, "_ID_LAN") != -1 || containi(szAuthid, "HLTV") != -1) get_user_ip(id, szAuthid, charsmax(szAuthid), 1);
   // ebben az if sorban azt ellenőrizzük, hogy nem-e HLTV a SteamID vagy XY_ID_LAN, mert ha igen, akkor IP-re mentünk.
 
   new olesek[16];   // letrehozunk változónként új tömböt, hogy kitudjuk olvasni a fájlból
   fvault_get_data( szVaultName, szAuthid, szData, 31 );   // kiolvassuk az id alapján az adatokat a fájlból.
   parse( szData, olesek, 15 );   // szét szedjük, mint foxi a lábtörlőt
   oles[id] = str_to_num( olesek );   // betöltjük a tömb alapján a változóba
}
 
save(id) {   // mentés rész
   new szAuthid[32], szData[32];
   get_user_authid( id, szAuthid, charsmax(szAuthid));
   if (containi(szAuthid, "_ID_LAN") != -1 || containi(szAuthid, "HLTV") != -1) get_user_ip(id, szAuthid, charsmax(szAuthid), 1);
   // steamid lekérés ugyanúgy
 
   formatex( szData, 31, "%i", oles[id] );   // formázzuk a data tömböt, hogy a változókat tartalmazza.
   fvault_set_data( szVaultName, szAuthid, szData );   // mentjük a SteamID-re az adatokat.
}



ui.:nem értek nagyon hozzá, gondolom ez láthato is, ezeket is netrol szedtem, es probaltam osszerakni, ha vki kijavitja örök hálám üldözi!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Skin menu mentés segítség
HozzászólásElküldve:2015.11.07. 12:37 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2015.03.11. 20:11
Hozzászólások:915
Megköszönt másnak: 52 alkalommal
Megköszönték neki: 317 alkalommal
lejárt lemez, ajánlom :) viewtopic.php?f=19&t=22507

_________________
viewtopic.php?f=101&t=25611#p184899
viewtopic.php?f=114&t=29544&p=209471#p209431


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Skin menu mentés segítség
HozzászólásElküldve:2015.11.07. 21:06 
Offline
Újonc

Csatlakozott:2015.11.06. 19:55
Hozzászólások:2
Kedves Smack!
Igazad van tenyleg elcsepelt tema,viszont nekem olyN plugin kellene, csomagokba rendezve van megcsinalva, nem egyenkent vannak benne a skinek(remelem erted mire gondolok). Itt is sok olyat talaltam, amibe van mentes, csak nem skin pack. Am hasonlo menu kellene nekem mint ami nekted van endless onlyd-n.

Udv,
[W]3nT


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 2 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