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
Zarządzanie serwerem z poziomu DiscordaNapisany przez Lakrous, 28.10.2025 |
|
|
|||
Inny
Kupie Paczke JailBreak cs 1.6Napisany przez Domix, 06.07.2025 |
|
|
|||
Inny
Problem z wyświetlaniem nazw klas w menuBłędne nazwy w menu przy wyborze klasy Napisany przez protypek, 29.04.2025 |
|
|
|||
Inny
Kupię Paczke DeathrunNapisany przez benko345, 18.03.2025 |
|
|
|||
Inny
Kupię gotową paczkę DiabloMod bez BUGÓW!Napisany przez Mefedroniarz, 26.11.2024 |
|
|
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych


Dodatki SourceMod













