http://amxx.pl/topic...zy-na-serwerze/
Prosiłbym o modyfikację tego pluginy, tak aby zamiast rund, dawał graczowi vipa po 30 sekundach od startu 1 rundy. Posiadam serwer Dm i chciałbym aby mi na nim to działało. Czyli powiedzmy po 20 sekundach sprawdza stan graczy, gdy jest powyżej 18 to daje losowemu graczowi vipa.
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
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.
|
#1
Napisano 14.01.2016 22:50
#2
Napisano 15.01.2016 00:06
Coś takiego ci zrobiłem. Po 20 sekundach od rozpoczęcia rundy losuje.
#include <amxmodx> #include <fun> #include <colorchat> #define LOSOWANIE_VIP_OD 15 #define LOSOWANIE_VIP_DO_SVIP_OD 28 #define FLAGA_VIP ADMIN_LEVEL_H #define FLAGA_SVIP ADMIN_LEVEL_G new iPlayer new tmp; public plugin_init(){ register_plugin("Losowanie vipa", "1.0", "Wielkie Jooool"); register_logevent("Poczatek_Rundy", 2, "1=Round_Start") set_task(30.0, "UsunVipa", .flags="d") //set_task(120.0, "advert", _, _, _, "b") } /* public advert() ColorChat(0, GREEN, "[FREE VIP]^x01 Zawsze w %d rundzie bedzie losowany^x03 VIP.^x01 Na serwerze musi byc conajmniej %d graczy, by losowanie sie odbylo!", LOSOWANIE_W_KTOREJ_RUNDZIE, LOSOWANIE_VIP_OD); */ public Poczatek_Rundy() { set_task(20.0, "sprawdz", _, _, _, "b") } public sprawdz() { ColorChat(0, GREEN, "[DARMOWY VIP]^x01 Uwaga! za moment zostanie rozlosowany^x03 darmowy vip^x01 na ta mape!"); if(LOSOWANIE_VIP_DO_SVIP_OD > get_playersnum()>= LOSOWANIE_VIP_OD) { Losuj_Vipa(FLAGA_VIP) tmp = FLAGA_VIP return PLUGIN_HANDLED } if(get_playersnum()>=LOSOWANIE_VIP_DO_SVIP_OD){ Losuj_Vipa(FLAGA_SVIP) tmp = FLAGA_SVIP; return PLUGIN_HANDLED } for(new i=1; i<=32; i++){ if(is_user_connected(i)) ColorChat(i, GREEN, "[DARMOWY VIP]^x01 Niestety, na serwerze nie bylo %d osob! Losowanie nie odbedzie sie", LOSOWANIE_VIP_OD); } return PLUGIN_CONTINUE } public client_disconnect(id){ if(id == iPlayer){ remove_user_flags(iPlayer, tmp) } } public Losuj_Vipa(FLAGA) { new players[32], count; get_players(players, count, "ch"); if(count) { iPlayer = players[random(count)]; if(get_user_flags(iPlayer) & FLAGA_VIP || get_user_flags(iPlayer) & FLAGA_SVIP){ ColorChat(0, RED, "[FREE VIP]^x01 Zostala wylosowana osoba, ktora jest VIPEM! Losowanie przepada.^x04 Do nastepnej mapy!"); return PLUGIN_HANDLED } new Name[32]; get_user_name(iPlayer, Name, charsmax(Name)) set_user_flags(iPlayer, get_user_flags(iPlayer) | FLAGA); ColorChat(0, TEAM_COLOR, "^x04[DARMOWY VIP]^x01 Gratulacje dla gracza ^x03 %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA"); set_hudmessage(255, 125, 0, -1.0, 0.40) show_hudmessage(0, "Gratulacje dla gracza %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA") } return PLUGIN_CONTINUE; } public UsunVipa(){ ColorChat(0, TEAM_COLOR, "[KONIEC] Dziekujemy za udzial w zabawie. Vip zostal usuniety. Nastepne losowanie na nastepnej mapie w zaleznosci od ilosci graczy"); remove_user_flags(iPlayer, tmp); }
#3
Napisano 15.01.2016 19:24
Wgrałem na serwer, plugin szaleje i każdemu graczowi rozdaje vipa
#4
Napisano 16.01.2016 13:34
Wgrałem na serwer, plugin szaleje i każdemu graczowi rozdaje vipa
Oj soory, pomyliło mi się xDD
#include <amxmodx> #include <fun> #include <colorchat> #define LOSOWANIE_VIP_OD 15 #define LOSOWANIE_VIP_DO_SVIP_OD 28 #define FLAGA_VIP ADMIN_LEVEL_H #define FLAGA_SVIP ADMIN_LEVEL_G new iPlayer new tmp; public plugin_init(){ register_plugin("Losowanie vipa", "1.0", "Wielkie Jooool"); register_logevent("Poczatek_Rundy", 2, "1=Round_Start") set_task(30.0, "UsunVipa", .flags="d") //set_task(120.0, "advert", _, _, _, "b") } /* public advert() ColorChat(0, GREEN, "[FREE VIP]^x01 Zawsze w %d rundzie bedzie losowany^x03 VIP.^x01 Na serwerze musi byc conajmniej %d graczy, by losowanie sie odbylo!", LOSOWANIE_W_KTOREJ_RUNDZIE, LOSOWANIE_VIP_OD); */ public Poczatek_Rundy() { set_task(20.0, "sprawdz") } public sprawdz() { ColorChat(0, GREEN, "[DARMOWY VIP]^x01 Uwaga! za moment zostanie rozlosowany^x03 darmowy vip^x01 na ta mape!"); if(LOSOWANIE_VIP_DO_SVIP_OD > get_playersnum()>= LOSOWANIE_VIP_OD) { Losuj_Vipa(FLAGA_VIP) tmp = FLAGA_VIP return PLUGIN_HANDLED } if(get_playersnum()>=LOSOWANIE_VIP_DO_SVIP_OD){ Losuj_Vipa(FLAGA_SVIP) tmp = FLAGA_SVIP; return PLUGIN_HANDLED } for(new i=1; i<=32; i++){ if(is_user_connected(i)) ColorChat(i, GREEN, "[DARMOWY VIP]^x01 Niestety, na serwerze nie bylo %d osob! Losowanie nie odbedzie sie", LOSOWANIE_VIP_OD); } return PLUGIN_CONTINUE } public client_disconnect(id){ if(id == iPlayer){ remove_user_flags(iPlayer, tmp) } } public Losuj_Vipa(FLAGA) { new players[32], count; get_players(players, count, "ch"); if(count) { iPlayer = players[random(count)]; if(get_user_flags(iPlayer) & FLAGA_VIP || get_user_flags(iPlayer) & FLAGA_SVIP){ ColorChat(0, RED, "[FREE VIP]^x01 Zostala wylosowana osoba, ktora jest VIPEM! Losowanie przepada.^x04 Do nastepnej mapy!"); return PLUGIN_HANDLED } new Name[32]; get_user_name(iPlayer, Name, charsmax(Name)) set_user_flags(iPlayer, get_user_flags(iPlayer) | FLAGA); ColorChat(0, TEAM_COLOR, "^x04[DARMOWY VIP]^x01 Gratulacje dla gracza ^x03 %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA"); set_hudmessage(255, 125, 0, -1.0, 0.40) show_hudmessage(0, "Gratulacje dla gracza %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA") } return PLUGIN_CONTINUE; } public UsunVipa(){ ColorChat(0, TEAM_COLOR, "[KONIEC] Dziekujemy za udzial w zabawie. Vip zostal usuniety. Nastepne losowanie na nastepnej mapie w zaleznosci od ilosci graczy"); remove_user_flags(iPlayer, tmp); }
#5
Napisano 16.01.2016 18:19
Wszystko się już prawie zgadza, oprócz tego, że losuje vipa dla dwóch osób
#6
Napisano 16.01.2016 22:11
Wszystko się już prawie zgadza, oprócz tego, że losuje vipa dla dwóch osób
Tak powinno być w tym pluginie bo jest svip i vip. Jak nie chcesz to łap to powinno pomóc.
#include <amxmodx> #include <fun> #include <colorchat> #define LOSOWANIE_VIP_OD 15 #define LOSOWANIE_VIP_DO_SVIP_OD 28 #define FLAGA_VIP ADMIN_LEVEL_H #define FLAGA_SVIP ADMIN_LEVEL_G new iPlayer new tmp; public plugin_init(){ register_plugin("Losowanie vipa", "1.0", "Wielkie Jooool"); register_logevent("Poczatek_Rundy", 2, "1=Round_Start") set_task(30.0, "UsunVipa", .flags="d") //set_task(120.0, "advert", _, _, _, "b") } /* public advert() ColorChat(0, GREEN, "[FREE VIP]^x01 Zawsze w %d rundzie bedzie losowany^x03 VIP.^x01 Na serwerze musi byc conajmniej %d graczy, by losowanie sie odbylo!", LOSOWANIE_W_KTOREJ_RUNDZIE, LOSOWANIE_VIP_OD); */ public Poczatek_Rundy() { set_task(20.0, "sprawdz") } public sprawdz() { ColorChat(0, GREEN, "[DARMOWY VIP]^x01 Uwaga! za moment zostanie rozlosowany^x03 darmowy vip^x01 na ta mape!"); if(get_playersnum()>=LOSOWANIE_VIP_DO_SVIP_OD){ Losuj_Vipa(FLAGA_SVIP) tmp = FLAGA_SVIP; return PLUGIN_HANDLED } else if(LOSOWANIE_VIP_DO_SVIP_OD > get_playersnum()>= LOSOWANIE_VIP_OD) { Losuj_Vipa(FLAGA_VIP) tmp = FLAGA_VIP return PLUGIN_HANDLED } for(new i=1; i<=32; i++){ if(is_user_connected(i)) ColorChat(i, GREEN, "[DARMOWY VIP]^x01 Niestety, na serwerze nie bylo %d osob! Losowanie nie odbedzie sie", LOSOWANIE_VIP_OD); } return PLUGIN_CONTINUE } public client_disconnect(id){ if(id == iPlayer){ remove_user_flags(iPlayer, tmp) } } public Losuj_Vipa(FLAGA) { new players[32], count; get_players(players, count, "ch"); if(count) { iPlayer = players[random(count)]; if(get_user_flags(iPlayer) & FLAGA_VIP || get_user_flags(iPlayer) & FLAGA_SVIP){ ColorChat(0, RED, "[FREE VIP]^x01 Zostala wylosowana osoba, ktora jest VIPEM! Losowanie przepada.^x04 Do nastepnej mapy!"); return PLUGIN_HANDLED } new Name[32]; get_user_name(iPlayer, Name, charsmax(Name)) set_user_flags(iPlayer, get_user_flags(iPlayer) | FLAGA); ColorChat(0, TEAM_COLOR, "^x04[DARMOWY VIP]^x01 Gratulacje dla gracza ^x03 %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA"); set_hudmessage(255, 125, 0, -1.0, 0.40) show_hudmessage(0, "Gratulacje dla gracza %s, ktory uzyskal w wyniku losowania darmowego %s na tej mapie!", Name, FLAGA == FLAGA_VIP ? "VIPA":"S-VIPA") } return PLUGIN_CONTINUE; } public UsunVipa(){ ColorChat(0, TEAM_COLOR, "[KONIEC] Dziekujemy za udzial w zabawie. Vip zostal usuniety. Nastepne losowanie na nastepnej mapie w zaleznosci od ilosci graczy"); remove_user_flags(iPlayer, tmp); }
#7
Napisano 17.01.2016 16:37
Dziękuje slicznie za pomoc Temat do zamknięcia
#8
Napisano 21.05.2016 17:23
Mogę wiedzieć gdzie to wkleić ? w sensie w jaki folder, aby działało elegancko na serwerze.
#9
Napisano 26.05.2016 11:18
Mogę wiedzieć gdzie to wkleić ? w sensie w jaki folder, aby działało elegancko na serwerze.
-Przekopiowujesz kod
-Otwierierasz np. notatnik
-wklejasz
-nadajesz nazwe np. freevip.sma PAMIETAJ O .SMA
-kompilujesz
-wgrywasz .amxx (te cos co ci sie skompilowalo) do plugins
-dopisujesz nazwe pluginu do plugins.ini np. freevip.amxx
Witam. Znam sie glownie na amxx, sourcemod, PHP, C++. Masz zlecenie? Potrzebujesz czegos do szkoly? Pisz smialo kolego !
Ps. sygnature zmieniam, iz nijakiemu gówniarzowi zachcialo sie hejtowac
Również z jednym lub większą ilością słów kluczowych: inny
Inny
Kupię gotową paczkę DiabloMod bez BUGÓW!Napisany przez Mefedroniarz, 26.11.2024 inny |
|
||||
Inny
AMX-X Bans - Nowoczesny rework standardowego AmxbansaNowy skrypt AMX-X Bans Napisany przez Mesharsky, 18.11.2024 inny, amxxbans, amxbans2014 i 3 więcej |
|
||||
Inny
Kasowanie statystyk BF2 po kompilacji.Napisany przez kaszkaj, 08.11.2024 inny |
|
||||
Inny
Velocity do różnych broni Paintball i dodanie shotgun'a jako markerPaintball Napisany przez Arki, 29.10.2024 inny |
|
||||
Inny
Zlecenie Dot. ZPSpecialNapisany przez SzogunZP, 18.10.2024 inny |
|
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych