hlmod.hu https://hlmod.hu/ |
|
Pontrendszerbe arany fegyver / beírása https://hlmod.hu/viewtopic.php?f=10&t=12874 |
Oldal: 1 / 1 |
Szerző: | NiGGeR-BorZ [ 2013.11.24. 12:33 ] |
Hozzászólás témája: | Pontrendszerbe arany fegyver / beírása |
Hogyan tudom beleírni egy BB pontrendszerbe pl : aranyak47? |
Szerző: | crazy` [ 2013.11.25. 19:50 ] |
Hozzászólás témája: | Re: Pontrendszerbe arany fegyver / beírása |
Nem kell ideírni, hogy "NA VALAKI?" mert elhiszed, hogy ha valaki akarna/tudna segíteni írni fog s látta a témádat? |
Szerző: | ultraibolya [ 2013.11.25. 21:23 ] |
Hozzászólás témája: | Re: Pontrendszerbe arany fegyver / beírása |
Melyik pontrendszert használod? Mert elég sok van. |
Szerző: | NiGGeR-BorZ [ 2013.11.25. 22:29 ] |
Hozzászólás témája: | Re: Pontrendszerbe arany fegyver / beírása |
LOOL pontrendszertől is függ?.. De tegyük fel azt , hogy ezt használom: Akkor hogy lehetne beleírni: Pontrendszer SMA Forráskód: [ Mindet kijelol ]
|
Szerző: | ultraibolya [ 2013.11.25. 23:11 ] |
Hozzászólás témája: | Re: Pontrendszerbe arany fegyver / beírása |
Csak szerettem volna tudni melyiket használod Meg hát hogy milyen tömb névvel kell dolgozni. Hát igazából nem nehéz,főleg így ahogy crazy megoldotta. Leírom hogyan is kell: Az elején létrehozunk egy boolent,ami true|false értéket tud csak felvenni. SMA Forráskód: [ Mindet kijelol ]
47. sorban van hogy mennyi item található a menüben.Ehez adunk 1-et. SMA Forráskód: [ Mindet kijelol ]
Most megadjuk az item nevét így: SMA Forráskód: [ Mindet kijelol ]
Keressük ki a menu handlert,ahol oda adja az itemeket.Jelen esetben a 193. sor. Ahogy látjuk 12 case van alapból.Manuálisan beleírjuk a 13.-at.Így kell hogy kinézzen: SMA Forráskód: [ Mindet kijelol ]
Ahogy látod a g_ak felvett egy true értéket,tehát megvette. Megkeressük hogy hol kéri le a sebzést. (Ez már kicsit nehezebb,szóval megpróbálom szűk szavúan leírni.) Lekéred hogy van-e neki. Ha van,akkor megszorzod a sebzést x-el.(Én 2-vel szoroztam) SMA Forráskód: [ Mindet kijelol ]
És hogy legyen is modell a fegyvernek,meg kell változtatni,amit a legegyszerűbb a curweapon event-ben. (162. sor) Szintén lekérjük. SMA Forráskód: [ Mindet kijelol ]
Ezt nehéz elmagyarázni.Meg kell érteni,de azért remélem tudtam segíteni,vagy valamivel közelebb álsz a megoldáshoz. Itt a teljes plugin: [ablak]SMA Forráskód: [ Mindet kijelol ]#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <fakemeta> #include <hamsandwich> #include <nvault> #include <colorchat> #include <engine> #define PLUGIN "Pontrendszer" #define VERSION "1.1" #define AUTHOR "crazy" #define DROG_SEBESSEG 800.0 new const G_AK47[]= "models/v_goldenak74.mdl" //Arany modell elérési útja. new g_vault new pontok[33] new name[33][32] new admin new killp, killhsp new ajandek1, ajandek2, ajandek3 new SyncHudObj new bool:g_ak[33]=false //Boolen változót hozunk létre. enum shopitems { GRANATPACK, SEBESSEG, UJRAELEDES, SURFPACK, LATHATATLAN, OTSZAZHP, ONEHIT, HALHATATLAN, FULLPENZ, MAGOZOTE, MAGOZOCT, AWP }; new cvar_bolt[shopitems] new bool:activ_sebesseg[33] new bool:activ_lathatatlan[33] new bool:activ_onehit[33] new bool:activ_halhatatlan[33] #define MAX_SHOP_ITEM 13 //HOZZA ADUNK 1-ET new const shop_item_names[MAX_SHOP_ITEM+1][] = { "", "\yGranatok \w(HE,FE,SM) \r|%d| Pont", "\yNagyobb Sebesseg \r|%d| Pont", "\yUjraeledes \w(Halottak hasznalhatjak!) \r|%d| Pont", "\ySurf Felszereles \w(ShotGun,Granatok,Deagle) \r|%d| Pont", "\yLathatatlansag \w(1 kor) \r|%d| Pont", "\y+500 HP \r|%d| Pont", "\y1 hit = 1 kill \w(1 kor) \r|%d| Pont", "\yHalhatatlansag \w(1 kor) \r|%d| Pont", "\y16000$ \r|%d| Pont", "\yTE Magozo \r|%d| Pont", "\yCT Magozo \r|%d| Pont", "\yAWP \r|%d| Pont", //VESSZŐ KELL,MIVEL ÚJ ITEMET ADUNK HOZZÁ "\yArany AK X PONT" }; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) set_task(2.9, "hud", 0, _, _, "b") killp = register_cvar("pont_kill", "2") killhsp = register_cvar("pont_killhs", "3") ajandek1 = register_cvar("pont_ajandek1", "5") ajandek2 = register_cvar("pont_ajandek2", "10") ajandek3 = register_cvar("pont_ajandek3", "30") register_clcmd("team_say /adas", "adas") register_clcmd("say /adas", "adas") register_clcmd("pont_adas", "adas") register_clcmd("team_say /shop", "Shop") register_clcmd("say /shop", "Shop") register_clcmd("team_say /bolt", "Shop") register_clcmd("say /bolt", "Shop") cvar_bolt[GRANATPACK] = register_cvar("bolt_1", "20") cvar_bolt[SEBESSEG] = register_cvar("bolt_2", "45") cvar_bolt[UJRAELEDES] = register_cvar("bolt_3", "80") cvar_bolt[SURFPACK] = register_cvar("bolt_4", "65") cvar_bolt[LATHATATLAN] = register_cvar("bolt_5", "500") cvar_bolt[OTSZAZHP] = register_cvar("bolt_6", "360") cvar_bolt[ONEHIT] = register_cvar("bolt_7", "450") cvar_bolt[HALHATATLAN] = register_cvar("bolt_8", "750") cvar_bolt[FULLPENZ] = register_cvar("bolt_9", "50") cvar_bolt[MAGOZOTE] = register_cvar("bolt_10", "680") cvar_bolt[MAGOZOCT] = register_cvar("bolt_11", "680") cvar_bolt[AWP] = register_cvar("bolt_12", "200") g_vault = nvault_open("PontRendszer"); RegisterHam(Ham_Killed, "player", "fw_player_killed", 1) RegisterHam(Ham_TakeDamage, "player", "fw_player_damage", 0) RegisterHam(Ham_Spawn, "player", "fw_player_spawn", 0) RegisterHam(Ham_Spawn, "player", "fw_player_spawn_post", 1) register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1") SyncHudObj = CreateHudSyncObj() new itemszam = (_:shopitems) if(MAX_SHOP_ITEM != itemszam) { set_fail_state("Valamit elrontottal. A shopitems tombben es a shop_item_names tombben nem ugyanannyi elem van") } } public fw_player_killed(victim, attacker, shouldgib,Float:damage) { if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim) return PLUGIN_CONTINUE; if(get_pdata_int(victim, 75) == HIT_HEAD) { pontok[attacker] += get_pcvar_num(killhsp) ColorChat(attacker, GREEN,"[Pontrendszer] .: BOOOM HEADSHOOT! :. Ez megert ^x03 %d pontot!", get_pcvar_num(killhsp)) } else { pontok[attacker] += get_pcvar_num(killp) ColorChat(attacker, GREEN,"[Pontrendszer] ^x03 %d pont az olesert!", get_pcvar_num(killp)) } return PLUGIN_CONTINUE } public fw_player_damage(victim, inflictor, attacker, Float:damage, damage_type) { if(activ_onehit[attacker]) { SetHamParamFloat(4, float(get_user_health(victim)+1)) } if(activ_halhatatlan[victim]) { return HAM_SUPERCEDE } if(g_ak[attacker]){ // ha van neki SetHamParamFloat(4, damage*2) //megszorozzik 2-vel a sebzesi erteket. } return HAM_IGNORED } public fw_player_spawn(id) { activ_halhatatlan[id] = false activ_onehit[id] = false activ_sebesseg[id] = false } public fw_player_spawn_post(id) { if(activ_lathatatlan[id]) { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255) activ_lathatatlan[id] = false } } public Event_Change_Weapon(id) { //Fegyver lekéréshez szükséges kódok new clip,ammo,weap=get_user_weapon(id,clip,ammo) if(weap==CSW_AK47 && g_ak[id]){ //HA VAN AK-ja,és megvette az arany ak-t entity_set_string(id, EV_SZ_viewmodel,G_AK47); //Megváltoztatjuk a modellt. } if(activ_sebesseg[id]) { set_user_maxspeed(id, DROG_SEBESSEG) } return PLUGIN_CONTINUE } public Shop(id)//IGEN EZ ITT A MENU { static Item[64] formatex(Item, charsmax(Item),"\r[Pontrendszer Bolt]" ) new Menu = menu_create(Item, "Shoph") new szTempid[10] for(new i = 1; i<sizeof(shop_item_names); i++) { num_to_str(i, szTempid, 9) formatex(Item, charsmax(Item),shop_item_names[i], get_pcvar_num(cvar_bolt[shopitems:(i-1)])) menu_additem(Menu, Item, szTempid) } menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, Menu) return PLUGIN_HANDLED } public Shoph(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu) return PLUGIN_HANDLED } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) new elo = is_user_alive(id) new ar[_:shopitems+1] for(new i=1; i<_:shopitems+1; i++) { ar[i] = get_pcvar_num(cvar_bolt[shopitems:(i-1)]) } switch(key) { case 1: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key] give_item(id, "weapon_flashbang") give_item(id, "weapon_hegrenade") give_item(id, "weapon_smokegrenade") ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a granatokat!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 2: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key] set_user_maxspeed(id, DROG_SEBESSEG) activ_sebesseg[id] = true ColorChat(id, GREEN, "[Pontrendszer] A sebesseged gyorsitva lett!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod!") } } case 3: { if (pontok[id] >= ar[key] && !elo) { pontok[id] -= ar[key] ExecuteHamB(Ham_CS_RoundRespawn, id) ColorChat(id, GREEN, "[Pontrendszer] Ujraeledtel!") } else if(elo) { ColorChat(id, GREEN, "[Pontrendszer] Elok nem hasznalhatjak!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 4: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key]; cs_set_weapon_ammo( give_item( id, "weapon_m3" ), 8 ) give_item(id, "weapon_hegrenade") give_item(id, "weapon_flashbang") give_item(id, "weapon_flashbang") give_item(id, "weapon_knife") give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 35) ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a Surf Felszerelest!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 5: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key] activ_lathatatlan[id] = true set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0) ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a lathatatlansagot!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 6: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key] set_user_health(id, get_user_health(id)+500) ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az eletet!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 7: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key] activ_onehit[id] = true ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az egy lovesbol olest!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 8: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key] activ_halhatatlan[id] = true ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a halhatatlansagot!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 9: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key] cs_set_user_money(id, 16000) ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a penzt!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 10: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key] give_item(id, "weapon_g3sg1") cs_set_user_bpammo(id, CSW_G3SG1, 90) ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 11: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key]; give_item(id, "weapon_sg550") cs_set_user_bpammo(id, CSW_SG550, 90) ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 12: { if (pontok[id] >= ar[key] && elo) { pontok[id] -= ar[key]; give_item(id, "weapon_awp"); cs_set_user_bpammo(id, CSW_AWP, 30); ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az awpt!") } else { ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") } } case 13: //13. item,ami az arany ak. { if(pontok[id]>=10 && elo){ //lekérjük hogy van-e elég pontja. pontok[id]-=10 //Levonjuk a pontot g_ak[id]=true //Megvette,hát adjuk is oda neki. ColorChat(id,GREEN,"[Pontrendszer] Megkaptad az arany ak-t!") give_item(id,"ak47") cs_set_user_bpammo(id,CSW_AK47,90) } else //Ha nincs elég pontja { ColorChat(id,RED,"Nincs eleg pontod!") } } } menu_destroy(menu) return PLUGIN_HANDLED } public mentes(id) { new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-PONTOK", name[id]) format(vaultdata,255,"%d", pontok[id]) nvault_set(g_vault,vaultkey,vaultdata) return PLUGIN_CONTINUE } public betoltes(id) { new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-PONTOK", name[id]) nvault_get(g_vault,vaultkey,vaultdata,255) pontok[id] = str_to_num(vaultdata) return PLUGIN_CONTINUE; } public client_disconnect(id) { mentes(id); remove_task(id); pontok[id] = 0; activ_halhatatlan[id] = false activ_lathatatlan[id] = false activ_onehit[id] = false activ_sebesseg[id] = false } public client_connect(id) { get_user_name(id, name[id], 31) betoltes(id); set_task(300.0, "ajandek_1",id) set_task(900.0, "ajandek_2",id) set_task(1800.0, "ajandek_3",id) } public adas(id) { if (get_user_flags(id) & ADMIN_KICK) { new menu = menu_create("\y [Pontrendszer] \rKinek akarsz pontot adni?! \y(10p)", "menu_handler") new players[32], pnum, tempid new szName[32], szTempid[10] get_players(players, pnum) for( new i; i<pnum; i++ ) { tempid = players[i]; get_user_name(tempid, szName, charsmax(szName)) num_to_str(tempid, szTempid, charsmax(szTempid)) menu_additem(menu, szName, szTempid, 0) } menu_display(id, menu, 0) } else { ColorChat(id, GREEN, "Sajnos nincs jogod hasznalni ezt a parancsot!") } } public menu_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new tempid = str_to_num(data); if( is_user_alive(tempid) ) { pontok[tempid] += 10 } client_cmd(id,"pont_adas") menu_destroy(menu); return PLUGIN_HANDLED; } public ajandek_1(id) { new penz = get_pcvar_num(ajandek1); client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 5 perce!", penz) pontok[id] += penz; } public ajandek_2(id) { new penz = get_pcvar_num(ajandek2); client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 10 perce!", penz) pontok[id] += penz; } public ajandek_3(id) { new penz = get_pcvar_num(ajandek3); client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 30 perce!", penz) pontok[id] += penz; } public hud() { admin = 0; new players[32], pnum, tempid get_players(players, pnum, "c") for( new i; i<pnum; i++ ) { tempid = players[i] if(get_user_flags(tempid) & ADMIN_KICK) { admin++; } } for( new i; i<pnum; i++ ) { tempid = players[i] set_hudmessage(0, 170, 255, 0.02, 0.2, 0, 1.0, 3.0); ShowSyncHudMsg(tempid, SyncHudObj, "[Pont: %d]^n[Jelenlevo Adminok: %d]",pontok[tempid],admin) } } //LETÖLTJÜK A MODELLT public plugin_precache(){ precache_model(G_AK47) }[/ablak] |
Szerző: | NiGGeR-BorZ [ 2013.11.25. 23:14 ] |
Hozzászólás témája: | Re: Pontrendszerbe arany fegyver / beírása |
Hát ibolya , ez nagyon jó lett [kozep]KÖSZÖNÖM![/kozep] De még valami prerache_model nem kell? |
Szerző: | ultraibolya [ 2013.11.25. 23:17 ] |
Hozzászólás témája: | Re: Pontrendszerbe arany fegyver / beírása |
Azt külön nem írtam le (nem magyaráztam el),mert gondoltam nem kell,de a teljes plugin legalján ott van |
Szerző: | NiGGeR-BorZ [ 2013.11.25. 23:18 ] |
Hozzászólás témája: | Re: Pontrendszerbe arany fegyver / beírása |
Áhám láttom |
Oldal: 1 / 1 | Minden időpont UTC+02:00 időzóna szerinti |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |