←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

VIP dla każdego na próbę

  • +
  • -
Slawekz - zdjęcie Slawekz 24.01.2012

Witam,
Chciałbym, aby każdy kto wejdzie na mój serwer miał darmowego V.I.P'a, który działałby około 2 godziny gry (Np. Ktoś wejdzie na serwer o 11:00, pogra pół godziny, to gdy wejdzie o 18:00 to ma jeszcze 1:30 godziny V.I.P'a).
Czy istnieje taki plugin, czy może trzeba edytować plugin VIP?

Oto kod sma Vipa:

/*BETA*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta_util>
#include <colorchat>
#define FLAGA ADMIN_LEVEL_G // flaga (jak zakomentujesz vip dla kazdego)
#define KASA 1200 // ile ma dawac kasy (zakomentowanie wylacza)
#define GRAWITACJA 1.0 // jaka ma byc grawitacja dla vipa (zakomentowanie wylacza)
#define SPEED 1.0 // jaki speed (zakomentowanie wylacza)
#define HP 100 //ile hp ma ustawic dla vipa (zakomentowanie wylacza)
#define INVI 255 //jaka widocznosc dla vipa 255=calkowita widocznosc 0=niewidzialnosc (zakomentowanie wylacza)
#define MAPY // jak zakomentujesz vip bedzie dzialal na wszystkich mapach

#define REKLAMA // czy ma pokazywac co 360 sec wiadomosc ze vip dostaje na poczatek wiele rzeczy wpisz /infovip itd...
#define VIPS // komenda /vipy lub /vips (online vipy)
#define INFO_VIP // motd ( komenda /infovip)

#define DEAGLE // deagle dla vipa
#define HE // he dla vipa
#define FLASH // flash dla vipa
#define SMOKE // smoke dla vipa
#define KAMIZELKA // daje kamizelke

#if defined VIPS
new maxplayers
#endif
///////////////MAPY NIE DZIALAJACE NA VIPIE/////////////////// PRZY #define MAPY
#if defined MAPY
new const maps[][] =
{
"aim_crazyjump",
"aim_map",
"1hp",
"35hp",
"awp_india",
"he_dodgeballs"
}
#endif

public plugin_init()
{
register_plugin("VIP", "1.5", "HubertTM");
#if defined INFO_VIP
register_clcmd("say /infovip", "MOTD", 0);
register_clcmd("say /vipinfo", "MOTD", 0);
#endif
#if defined VIPS
maxplayers = get_maxplayers()
register_clcmd("say /vips", "print_vips", 0);
register_clcmd("say /vipy", "print_vips", 0);
#endif
RegisterHam(Ham_Spawn, "player", "respawn", 1);

#if defined SPEED
register_event("CurWeapon", "CurWeapon", "be", "1=1")
#endif
#if defined REKLAMA
set_task(360.0, "VIPTEKST", 0,_,_,"b");
#endif
}
public respawn(id)
{
if (!is_user_alive(id))
return;

new mapname[32]
get_mapname(mapname, 31)



#if defined MAPY

new bool:bFind = false;
for(new i=0; i<sizeof maps; i++)
{
if(equali(mapname, maps[i])){
bFind = true;
break
}
}
if(bFind) return ;
else{
#endif


#if defined FLAGA
if(get_user_flags(id) & FLAGA){
#endif


#if defined DEAGLE
fm_give_item(id, "weapon_deagle");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
#endif


#if defined HE
fm_give_item(id, "weapon_hegrenade");
#endif

#if defined FLASH
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_flashbang");
#endif


#if defined SMOKE
fm_give_item(id, "weapon_smokegrenade");
#endif


#if defined KAMIZELKA
fm_give_item(id, "item_assaultsuit")
#endif


#if defined KASA
new money = cs_get_user_money(id)
cs_set_user_money(id, money + KASA)

ColorChat(id, GREEN, "Jako gracz VIP otrzymujesz ^x01%d$ ^x04wiecej", KASA)
#endif



#if defined GRAWITACJA
fm_set_user_gravity(id, GRAWITACJA);
#endif

#if defined HP
fm_set_user_health(id, HP);
#endif

#if defined INVI
fm_set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, INVI)
#endif




#if defined MAPY
}
#endif

#if defined FLAGA
}
#endif
}

#if defined SPEED
public CurWeapon(id)
{

fm_set_user_maxspeed(id, SPEED)

}
#endif
#if defined INFO_VIP
public MOTD( id,level,cid ) {

if ( !cmd_access(id,level,cid,1) )
return PLUGIN_CONTINUE

show_motd( id,"vip.txt","Informacje VIP." );

return PLUGIN_CONTINUE
}
#endif

#if defined VIPS
public print_vips(user)
{
new adminnames[33][32]
new message[256]
new id, count, x, len

for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & FLAGA)
get_user_name(id, adminnames[count++], 31)

len = format(message, 255, "^x04 VIPY ONLINE: ")
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
ColorChat(user, GREEN, "%s", message);
len = format(message, 255, "^x04 ")
}
}
ColorChat(user, GREEN, "%s", message);
}
else {
len += format(message[len], 255-len, "Brak Vipow ONLINE")

ColorChat(user, GREEN, "%s", message);
}


}
#endif

#if defined REKLAMA
public VIPTEKST()
ColorChat(0, RED, "Vip dostaje wiele rzeczy na poczatek rundy, aby zobaczyc co wpisz /infovip");

#endif
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
Odpowiedz

  • +
  • -
Zwola47 - zdjęcie Zwola47 24.01.2012

Ustawione masz na : g - amx_cvar command (not all cvars will be available).

Sprawdź z flagą C - ban / kick


/*BETA*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta_util>
#include <colorchat>
#define FLAGA ADMIN_LEVEL_C // flaga (jak zakomentujesz vip dla kazdego)
#define KASA 1200 // ile ma dawac kasy (zakomentowanie wylacza)
#define GRAWITACJA 1.0 // jaka ma byc grawitacja dla vipa (zakomentowanie wylacza)
#define SPEED 1.0 // jaki speed (zakomentowanie wylacza)
#define HP 100 //ile hp ma ustawic dla vipa (zakomentowanie wylacza)
#define INVI 255 //jaka widocznosc dla vipa 255=calkowita widocznosc 0=niewidzialnosc (zakomentowanie wylacza)
#define MAPY // jak zakomentujesz vip bedzie dzialal na wszystkich mapach
#define REKLAMA // czy ma pokazywac co 360 sec wiadomosc ze vip dostaje na poczatek wiele rzeczy wpisz /infovip itd...
#define VIPS // komenda /vipy lub /vips (online vipy)
#define INFO_VIP // motd ( komenda /infovip)
#define DEAGLE // deagle dla vipa
#define HE // he dla vipa
#define FLASH // flash dla vipa
#define SMOKE // smoke dla vipa
#define KAMIZELKA // daje kamizelke
#if defined VIPS
new maxplayers
#endif
///////////////MAPY NIE DZIALAJACE NA VIPIE/////////////////// PRZY #define MAPY
#if defined MAPY
new const maps[][] =
{
"aim_crazyjump",
"aim_map",
"1hp",
"35hp",
"awp_india",
"he_dodgeballs"
}
#endif
public plugin_init()
{
register_plugin("VIP", "1.5", "HubertTM");
#if defined INFO_VIP
register_clcmd("say /infovip", "MOTD", 0);
register_clcmd("say /vipinfo", "MOTD", 0);
#endif
#if defined VIPS
maxplayers = get_maxplayers()
register_clcmd("say /vips", "print_vips", 0);
register_clcmd("say /vipy", "print_vips", 0);
#endif
RegisterHam(Ham_Spawn, "player", "respawn", 1);
#if defined SPEED
register_event("CurWeapon", "CurWeapon", "be", "1=1")
#endif
#if defined REKLAMA
set_task(360.0, "VIPTEKST", 0,_,_,"b");
#endif
}
public respawn(id)
{
if (!is_user_alive(id))
return;
new mapname[32]
get_mapname(mapname, 31)

#if defined MAPY
new bool:bFind = false;
for(new i=0; i<sizeof maps; i++)
{
if(equali(mapname, maps[i])){
bFind = true;
break
}
}
if(bFind) return ;
else{
#endif


#if defined FLAGA
if(get_user_flags(id) & FLAGA){
#endif


#if defined DEAGLE
fm_give_item(id, "weapon_deagle");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
fm_give_item(id, "ammo_50ae");
#endif


#if defined HE
fm_give_item(id, "weapon_hegrenade");
#endif

#if defined FLASH
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_flashbang");
#endif


#if defined SMOKE
fm_give_item(id, "weapon_smokegrenade");
#endif


#if defined KAMIZELKA
fm_give_item(id, "item_assaultsuit")
#endif


#if defined KASA
new money = cs_get_user_money(id)
cs_set_user_money(id, money + KASA)

ColorChat(id, GREEN, "Jako gracz VIP otrzymujesz ^x01%d$ ^x04wiecej", KASA)
#endif



#if defined GRAWITACJA
fm_set_user_gravity(id, GRAWITACJA);
#endif

#if defined HP
fm_set_user_health(id, HP);
#endif

#if defined INVI
fm_set_user_rendering(id, kRenderFxNone, 0,0,0, kRenderTransAlpha, INVI)
#endif




#if defined MAPY
}
#endif

#if defined FLAGA
}
#endif
}
#if defined SPEED
public CurWeapon(id)
{
fm_set_user_maxspeed(id, SPEED)
}
#endif
#if defined INFO_VIP
public MOTD( id,level,cid ) {
if ( !cmd_access(id,level,cid,1) )
return PLUGIN_CONTINUE
show_motd( id,"vip.txt","Informacje VIP." );
return PLUGIN_CONTINUE
}
#endif
#if defined VIPS
public print_vips(user)
{
new adminnames[33][32]
new message[256]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & FLAGA)
get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "^x04 VIPY ONLINE: ")
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
ColorChat(user, GREEN, "%s", message);
len = format(message, 255, "^x04 ")
}
}
ColorChat(user, GREEN, "%s", message);
}
else {
len += format(message[len], 255-len, "Brak Vipow ONLINE")

ColorChat(user, GREEN, "%s", message);
}

}
#endif
#if defined REKLAMA
public VIPTEKST()
ColorChat(0, RED, "Vip dostaje wiele rzeczy na poczatek rundy, aby zobaczyc co wpisz /infovip");
#endif
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }



Jeżeli chcesz dać komuś samego VIPa bez flag Admina to sprawdz na flage : Z - zwykły gracz.

#define FLAGA ADMIN_LEVEL_Z					  // flaga (jak zakomentujesz vip dla kazdego)

Użytkownik Zwola47 edytował ten post 24.01.2012 19:52
Odpowiedz

  • +
  • -
Slawekz - zdjęcie Slawekz 26.01.2012

Ale mi chodzi o to, aby każdy dostawał VIPa na określony czas i to działoby się automatycznie. Po prostu ktoś wchodzi na serwer i ma VIPa na 2 godzinki. Taka próbka VIPa.

Odświeżam, proszę o jak najszybszą pomoc.

@@odświeżam@@
Odpowiedz

  • +
  • -
ramzes0016 - zdjęcie ramzes0016 26.01.2012

no najlepszym sposobem będzie zapis czasu który został do nvault
tak mi sie wydaje albo mysql
Odpowiedz

  • +
  • -
Slawekz - zdjęcie Slawekz 26.01.2012

Niestety nie mam pojęcia jak to zrobić :) Możesz bardziej to wytłumaczyć?
Odpowiedz

  • +
  • -
QuahodronN - zdjęcie QuahodronN 26.01.2012

też bym poprosił o "poradnik" jak takie coś wsadzić do vipa :)
Odpowiedz

  • +
  • -
wlochen - zdjęcie wlochen 26.01.2012

możecie napisać coś takiego że po wejściu na serwer wyświetla się menu z vip'em na próbę np na jedną mapę i info że użył generowało by się w nowym cfg albo coś
Odpowiedz

  • +
  • -
Slawekz - zdjęcie Slawekz 07.02.2012

No tak, właśnie o takie coś mi chodzi, tylko jak to zrobić?

Odświeżam!
Odpowiedz

hardbot - zdjęcie hardbot 07.02.2012

Nie wiem czy to podziała ;) od razu piszę...
Popisałem trochę, zrobiłem zapis na nVault moim zdaniem coś to powinno zadziałać ;) testy czynią mistrza!

Proszę o sprawdzenie ewentualnie poprawienie kodu ;)

Zapożyczyłem plugin od HubertTM chodź nadal nie wiem czy czy on daje tego vipa ;) za free ^^ czy jakiś inny plugin ale mniejsza o to ;)

cvar jest jeden ustawiamy mu wartość w sekundach ;) wiedząc, że 1godzina ma 3600 sekund ;), a chcieliśmy na 2 godzinki ;)

vip_okresl_czas "7200"

Załączone pliki

Odpowiedz

  • +
  • -
Slawekz - zdjęcie Slawekz 08.02.2012

Bardzo dziękuję, ale mam jeszcze problem :)
Chciałbym aby każdy kto wejdzie na serwer miał tego VIPa na próbę, a nie tylko osoby, którym nadam flagę C. I jeszcze czy dałoby się to zrobić w oddzielnym pluginie, bo teraz jak wrzuciłem plugin VIP i VIPodliczanie to wszystko związane z VIPem pokazuję się dwukrotnie :D.
I jeszcze jedno, czy jest możliwość stworzenia menu, gdy ktoś wejdzie na serwer typu: "Czy chcesz aktywowac probnego, darmowego VIP'a?", no i ten gracz będzie miał do wyboru TAK lub NIE.
Odpowiedz

hardbot - zdjęcie hardbot 08.02.2012

Bardzo dziękuję, ale mam jeszcze problem :)
Chciałbym aby każdy kto wejdzie na serwer miał tego VIPa na próbę, a nie tylko osoby, którym nadam flagę C. I jeszcze czy dałoby się to zrobić w oddzielnym pluginie, bo teraz jak wrzuciłem plugin VIP i VIPodliczanie to wszystko związane z VIPem pokazuję się dwukrotnie :D.
I jeszcze jedno, czy jest możliwość stworzenia menu, gdy ktoś wejdzie na serwer typu: "Czy chcesz aktywowac probnego, darmowego VIP'a?", no i ten gracz będzie miał do wyboru TAK lub NIE.


tak jak napisałem nie wiedziałem, że potrzebujesz tylko tego pluginu VIPodliczanie wiec połączyłem oba pluginy :) w jeden w moim poprzednim poście ;) zaraz się popatrzę czy da się taki efekt zrobić o jaki prosisz ;)


sprawdź to :) wyłącz z plugins.ini ten plugin VIP :) i sprawdź mój... myślę, że to co teraz tobie dałem powinno zadziałać :) testy czynią mistrza! :)

Załączone pliki


Użytkownik hardbot edytował ten post 08.02.2012 18:34
Odpowiedz

  • +
  • -
Slawekz - zdjęcie Slawekz 10.02.2012

No niestety jest z tym pluginem problem :). Gdy wszedłem na serwer bez żadnych flag nie wyświetliło mi się menu, czy chce aktywować VIP'a. No i jeszcze komenda /vips, /vipy, nie działa właściwie, po jej wpisaniu, zamiast pojawienia się listy VIPów na serwerze pokazują się tylko przecinki ułożone w trójkąt prostokątny :)
Zaraz dołączę jeszcze listę logów, o ile coś będzie.

Logów nie ma, ale zauważyłem teraz, że plugin nie daje VIPowi ani broni, ani kasy, ani kamizelki :D
Odpowiedz

  • +
  • -
QuahodronN - zdjęcie QuahodronN 10.02.2012

mógłbym prosić o kod który musze dodać aby takie cos bylo?
bo chcę dodać do swojego vipa
Odpowiedz

  • +
  • -
Slawekz - zdjęcie Slawekz 14.02.2012

@@Odświeżam@@

Odświeżam
Odpowiedz

  • +
  • -
Slawekz - zdjęcie Slawekz 26.02.2012

Odświeżam
Odpowiedz

  • +
  • -
Slawekz - zdjęcie Slawekz 10.03.2012

Odświeżam
Odpowiedz