Witam mógłby ktoś zmodyfikować prestiż zamiast od danego LV to za X monet?
Załączone pliki
Użytkownik XXL edytował ten post 22.12.2014 12:36
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Napisano 22.12.2014 12:36
Witam mógłby ktoś zmodyfikować prestiż zamiast od danego LV to za X monet?
Użytkownik XXL edytował ten post 22.12.2014 12:36
Napisano 18.01.2015 04:14
Proszę bardzo. Nie testowałem (ale sprawdzę również):
#include amxmodx #include codmod #include nvault #include fun #include dhudmessage #include fakemeta #include hamsandwich #define PLUGIN "Prestiz System" #define VERSION "1.0" #define AUTHOR "Brak" #define POKAZ_PRESTIZ 5354 native cod_get_user_coins(id); native cod_set_user_coins(id, wartosc); #define KOSZT 50 //Ile ma kosztowac prestiż ? (Domyslnie: 50 monet) new prestiz[33]; new SyncHudObj; new nick[33][64]; new bool:blokada; new vault; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("ResetHUD", "ResetHUD", "abe"); register_event("DeathMsg", "DeathMsg", "a"); RegisterHam(Ham_Spawn, "player", "sprawdzaj", 1); RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); register_event("HLTV", "BlokadaStart", "a", "1=0", "2=0"); register_clcmd("say /prestize", "Opis"); register_clcmd("say /prestiz", "zapytaj"); SyncHudObj = CreateHudSyncObj(); vault = nvault_open("Prestize"); set_task(120.0, "taskAnnouncement", 2562345, "", 0, "b"); } public client_connect(id) { get_user_name(id, nick[id], 63); Wczytaj(id); } public client_disconnect(id) { Zapisz(id); } public BlokadaStart() { blokada = true; set_task(30.0,"Odblokuj"); } public Odblokuj() blokada = false; public Zapisz(id) { new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-PLAYER", nick[id]); format(vaultdata, 255, "%i", prestiz[id]); nvault_set(vault, vaultkey, vaultdata); return 0; } public Wczytaj(id) { new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-PLAYER", nick[id]); format(vaultdata, 255, "%i", prestiz[id]); nvault_get(vault, vaultkey, vaultdata, 255); replace_all(vaultdata, 255, "#", " "); new reb[32]; parse(vaultdata, reb, 31); prestiz[id] =str_to_num(reb); return 0; } public zapytaj(id) { if(blokada) return PLUGIN_CONTINUE; new menu = menu_create("\wChcesz wejsc w prestiz?", "Menu_handler"); menu_additem(menu, "\yTak, chce! \w(Otrzymasz dodatkowe bonusy w zamian za to zabierzemy tobie 50 monet)"); menu_additem(menu, "\yNie, dzięki"); menu_display(id, menu); return PLUGIN_CONTINUE; } public Menu_handler(id, menu, item) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(cod_get_user_coins(id) < KOSZT) { client_print(id, print_center, "Nie masz 50 Monet!") return PLUGIN_CONTINUE; } if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } switch(item) { case 0: { na pewno(id); } case 1: { client_print(id, print_center, "Nie, to nie."); } } return PLUGIN_CONTINUE; } public na pewno(id) { new menu = menu_create("\rCzy na pewno chcesz zaplacic 50 Monet ?", "napewno_handler"); menu_additem(menu, "\yTak, zaplace i daj dodatkowe bonusy"); menu_additem(menu, "\yAlbo nie czekaj, jednak nie, zostaje przy swoich monetach"); menu_display(id, menu); } public napewno_handler(id, menu, item) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } switch(item) { case 0: { cod_set_user_xp(id, 0); prestiz[id]++; Zapisz(id); set_dhudmessage(0, 255, 0, -1.0, 0.0, 2, 3.0, 5.0); show_dhudmessage(0, "%s Awansowal na %i Poziom Prestizu", nick[id], prestiz[id]) } case 1: { client_print(id, print_center, "Nie, to nie."); } } return PLUGIN_CONTINUE; } public PokazPrestiz(id) { id -= POKAZ_PRESTIZ; if(!is_user_alive(id)) { remove_task(id+POKAZ_PRESTIZ); return; } set_hudmessage(0, 255, 0, 1.0, 0.1, 2, 5.0, 10.0, 0.2, 0.2, -1); ShowSyncHudMsg(id, SyncHudObj, "[Prestiz: %i]", prestiz[id]); } public ResetHUD(id) { if(!task_exists(id+POKAZ_PRESTIZ)) set_task(0.1, "PokazPrestiz", id+POKAZ_PRESTIZ, _, _, "b"); } public sprawdzaj(id) { if(!is_user_alive(id) || !is_user_connected(id)) return PLUGIN_CONTINUE; if(prestiz[id] >= 4) set_user_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 90); return PLUGIN_CONTINUE } public DeathMsg(){ new killer=read_data(1); new victim=read_data(2); if(is_user_alive(killer) && prestiz[killer] >= 1 && get_user_team(killer) != get_user_team(victim)){ cod_set_user_xp(killer, cod_get_user_xp(killer)+15); } } public SpawnedEventPre(id){ if(prestiz[id]>=2){ if(is_user_alive(id)){ SpawnedEventPreVip(id); } } } public SpawnedEventPreVip(id){ set_user_health(id, get_user_health(id) +35) } public TakeDamage(this, inflictor, attacker, Float:damage) { if(is_user_alive(this) && prestiz[this] >= 3) { damage *= 0.9; SetHamParamFloat(4, damage); } if(is_user_alive(attacker) && prestiz[attacker] >= 5) { damage *= 1.2; SetHamParamFloat(4, damage); } } public Opis(id) show_menu(id, 1023, "\wSystem Prestizu ^n^n\rPrestiz 1: \y+15 EXP'a za fraga.^n\rPrestiz 2: \y+35 startowego HP.^n\rPrestiz 3: \yRedukcja obrazen o 10%.^n\rPrestiz 4: \yRedukcja widocznosci [90/255]^n\rPrestiz 5: \yWieksze obrazenia o 20%^n", -1, "Opis"); public taskAnnouncement() { client_print(0, print_chat, "Wpisz w say /prestize aby dowiedziec sie wiecej"); }
Uprzedzę pytanie dotyczące tego co się zmieniło
Dodane natywy pod biblioteką
native cod_get_user_coins(id); native cod_set_user_coins(id, wartosc); #define KOSZT 50 //Ile ma kosztowac prestiż ? (Domyslnie: 50 monet) // Tutaj możesz sobie zmienić ile ma zabrać monet za prestiż
Oraz zmieniłem to:
if(cod_get_user_level(id) < 100)
na to:
if(cod_get_user_coins(id) < KOSZT)
+ poprawki w opisie tam gdzie była mowa o lvl'ach to zmieniłem na MONETY
Wiadomo jeśli zmienisz koszt monet to też w opisach musisz te ilości poprawić na jakie tam chcesz
Daj znać czy działa tobie poprawnie
Napisano 18.01.2015 11:22
Dziękuje mistrzu ale w tej chwili nie mam jak tego sprawdzić, ale + za chęci łap
Napisano 18.01.2015 17:33
Proszę
Moje Pluginy | Paczki:
------> http://amxx.pl/topic...od/#entry687942 <------ 500 Postów 27.05.2015
------> http://amxx.pl/topic...monety-lombard/<------
------> http://amxx.pl/topic...-na-ammo-packi/<------
Napisano 18.01.2015 19:06
Nie działa, ustawiłem że za 50 monet zdobędę nawet 1000 monet i dalej pisze że mam za mało monet
Napisano 19.01.2015 01:56
Właśnie ogarniałem to i teraz musi działać
/* Plugin generated by AMXX-Studio */ #include amxmodx #include codmod #include nvault #include fun #include dhudmessage #include fakemeta #include hamsandwich #define PLUGIN "Prestiz System" #define VERSION "1.0" #define AUTHOR "Edit by KreC!K" #define POKAZ_PRESTIZ 5354 native cod_get_user_coins(id); native cod_set_user_coins(id, wartosc); #define KOSZT 500 //Ile ma kosztowac klasa ? (Domyslnie: 50 monet) new prestiz[33]; new SyncHudObj; new nick[33][64]; new bool:blokada; new vault; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("ResetHUD", "ResetHUD", "abe"); register_event("DeathMsg", "DeathMsg", "a"); RegisterHam(Ham_Spawn, "player", "sprawdzaj", 1); RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); register_event("HLTV", "BlokadaStart", "a", "1=0", "2=0"); register_clcmd("say /prestize", "Opis"); register_clcmd("say /prestiz", "zapytaj"); SyncHudObj = CreateHudSyncObj(); vault = nvault_open("Prestize"); set_task(120.0, "taskAnnouncement", 2562345, "", 0, "b"); } public client_connect(id) { get_user_name(id, nick[id], 63); Wczytaj(id); } public client_disconnect(id) { Zapisz(id); } public BlokadaStart() { blokada = true; set_task(30.0,"Odblokuj"); } public Odblokuj() blokada = false; public Zapisz(id) { new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-PLAYER", nick[id]); format(vaultdata, 255, "%i", prestiz[id]); nvault_set(vault, vaultkey, vaultdata); return 0; } public Wczytaj(id) { new vaultkey[64], vaultdata[256]; format(vaultkey, 63, "%s-PLAYER", nick[id]); format(vaultdata, 255, "%i", prestiz[id]); nvault_get(vault, vaultkey, vaultdata, 255); replace_all(vaultdata, 255, "#", " "); new reb[32]; parse(vaultdata, reb, 31); prestiz[id] =str_to_num(reb); return 0; } public zapytaj(id) { if(blokada) return PLUGIN_CONTINUE; new menu = menu_create("\wChcesz wejsc w prestiz?", "Menu_handler"); menu_additem(menu, "\yTak, chce! \w(Otrzymasz dodatkowe bonusy, zabierzemy za nie 500 Monet)"); menu_additem(menu, "\yNie, dzięki"); menu_display(id, menu); return PLUGIN_CONTINUE; } public Menu_handler(id, menu, item) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(cod_get_user_coins(id) < KOSZT) { client_print(id, print_center, "Nie masz 500 Monet!") return PLUGIN_CONTINUE; } if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } switch(item) { case 0: { na pewno(id); } case 1: { client_print(id, print_center, "Nie, to nie."); } } return PLUGIN_CONTINUE; } public na pewno(id) { new menu = menu_create("\rCzy na pewno chcesz dac az 500 Monet?", "napewno_handler"); menu_additem(menu, "\yTak, bierz je i daj dodatkowe bonusy"); menu_additem(menu, "\yAlbo nie - czekaj, jednak nie, zostaje przy swoich monetach"); menu_display(id, menu); } public napewno_handler(id, menu, item) { if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } switch(item) { case 0: { cod_set_user_coins(id, cod_get_user_coins(id)-KOSZT); prestiz[id]++; Zapisz(id); set_dhudmessage(0, 255, 0, -1.0, 0.0, 2, 3.0, 5.0); show_dhudmessage(0, "%s Awansowal na %i Poziom Prestizu", nick[id], prestiz[id]) } case 1: { client_print(id, print_center, "Nie, to nie."); } } return PLUGIN_CONTINUE; } public PokazPrestiz(id) { id -= POKAZ_PRESTIZ; if(!is_user_alive(id)) { remove_task(id+POKAZ_PRESTIZ); return; } set_hudmessage(0, 255, 0, 1.0, 0.1, 2, 5.0, 10.0, 0.2, 0.2, -1); ShowSyncHudMsg(id, SyncHudObj, "[Prestiz: %i]", prestiz[id]); } public ResetHUD(id) { if(!task_exists(id+POKAZ_PRESTIZ)) set_task(0.1, "PokazPrestiz", id+POKAZ_PRESTIZ, _, _, "b"); } public sprawdzaj(id) { if(!is_user_alive(id) || !is_user_connected(id)) return PLUGIN_CONTINUE; if(prestiz[id] >= 4) set_user_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 90); return PLUGIN_CONTINUE } public DeathMsg(){ new killer=read_data(1); new victim=read_data(2); if(is_user_alive(killer) && prestiz[killer] >= 1 && get_user_team(killer) != get_user_team(victim)){ cod_set_user_xp(killer, cod_get_user_xp(killer)+15); } } public SpawnedEventPre(id){ if(prestiz[id]>=2){ if(is_user_alive(id)){ SpawnedEventPreVip(id); } } } public SpawnedEventPreVip(id){ set_user_health(id, get_user_health(id) +35) } public TakeDamage(this, inflictor, attacker, Float:damage) { if(is_user_alive(this) && prestiz[this] >= 3) { damage *= 0.9; SetHamParamFloat(4, damage); } if(is_user_alive(attacker) && prestiz[attacker] >= 5) { damage *= 1.2; SetHamParamFloat(4, damage); } } public Opis(id) show_menu(id, 1023, "\wSystem Prestizu ^n^n\rPrestiz 1: \y+15 EXP'a za fraga.^n\rPrestiz 2: \y+35 startowego HP.^n\rPrestiz 3: \yRedukcja obrazen o 10%.^n\rPrestiz 4: \yRedukcja widocznosci [90/255]^n\rPrestiz 5: \yWieksze obrazenia o 20%^n", -1, "Opis"); public taskAnnouncement() { client_print(0, print_chat, "Wpisz w say /prestize aby dowiedziec sie wiecej"); }
cod_set_user_xp(id, 0);
On resetuje do 1 lvl'a przy każdym prestiżu
Poprawiłem na:
cod_set_user_coins(id, cod_get_user_coins(id)-KOSZT);
i czytając z natywu i z #define ile ma zabrać także nie powinno już być problemu
Napisano 21.02.2015 15:30
Dalej to samo.. mam nawet 5000 monet i dalej pisze że mam za mało a jest ustawione na 50
Silnik
[Kondycja] po zmianie broni kondycja jest ustawiona a biega powoliNapisany przez One ShooT , 10.02.2023 silnik |
|
|
|||
Silnik
Prośba o edytacje silnika DoświadczenieNapisany przez One ShooT , 05.02.2023 silnik |
|
|
|||
|
Silnik
proźba o dodanie expa za fragasilnik Napisany przez Anonimowy09 , 20.01.2023 silnik |
|
|
||
Kupie
kupie serverkuie Napisany przez Anonimowy09 , 20.12.2022 silnik, Kupie |
|
|
|||
|
Silnik
[KOSZ] WitamKupie Napisany przez Anonimowy09 , 20.12.2022 silnik |
|
|
0 użytkowników, 0 gości, 0 anonimowych