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
Modyfikacja silnika pod klasy zależne od drużyny.Napisany przez Arki, 21.02.2025 |
|
|
|||
Silnik
Dodanie frakcji do klas od poziomuNapisany przez Lakrouss, 28.01.2025 |
|
|
|||
Silnik
[Kondycja] po zmianie broni kondycja jest ustawiona a biega powoliNapisany przez One ShooT, 10.02.2023 |
|
|
|||
Silnik
Prośba o edytacje silnika DoświadczenieNapisany przez One ShooT, 05.02.2023 |
|
|
|||
![]() |
Silnik
proźba o dodanie expa za fragasilnik Napisany przez Anonimowy09, 20.01.2023 |
|
|
0 użytkowników, 1 gości, 0 anonimowych