[DeathRun] DeathOrFree by SeeK
SeeK
08.07.2011
Posiadając własny serwer DeathRun zapewne często musiałeś zmagać się z nieprzestrzeganiem przez graczy zasad modu FreeRun. Jak sądzę, posiadasz plugin "Use Button Once", aczkolwiek terrorysta może tutaj wpisać komendę: "/free" w dowolnym momencie(np. pod koniec rundy, gdy każdy już przeszedł mape, a pułapki zostały włączone). A nawet gdy wpisze ją na samym początku, to nie pozwoli odebrać sobie życia do wartości przybliżonej 25hp. Jeżeli borykasz się z takim oto problemem, to ten plugin jest dla Ciebie.
Na czym polega zasada działania tego dodatku? Na początku każdej rundy, na ekranie terrorysty wyświetla się menu z wyborem:
1. DeathRun
2. FreeRun
Jeżeli gracz wybierze opcję pierwszą, plugin wyświetli tylko informacje ">>>Gramy normalny DeathRun<<<". Natomiast gdy wybierze opcję drugą, plugin zablokuje możliwość użycia pułapek, podnoszenia/używania broni, a także ustawi wartość życia terrorysty na 25HP. Blokowane jest także włączenie modu Free, jeżeli została już użyta pułapka.
DeathOrFree działa w oparciu o plugin "Free++" autorstwa R3X+G[o]Q.
Dlatego, żeby wszystko poprawnie się sprawowało, trzeba wgrać na serwer obydwa dodatki.
Plugin "Free+" zawiera kilka niepotrzebnych rzeczy, które można usunąć, aczkolwiek nie chciałem ingerować w czyjąś pracę.
Przedstawię tutaj cvary zarówno z pluginu DeathOrFree jak i Free++.
dr_free_onof 1/0 // Włącz/Wyłącz możliwość gry rundy Free (domyślnie: 1) dr_frmenu_time <sec> // Czas terrorysty na wybranie modu Free(domyślnie: 20) dr_thunder 1/0 // Włącz/Wyłącz grafikę pioruna podczas śmierci gracz dr_auto_resp 1/0 // Włącz/Wyłącz respienie się gracza po śmierci
DeathOrFree.rar 21,5 KB 884 Ilość pobrań
DeathOrFree.amxx 7,97 KB 54 Ilość pobrań
DeathOrFree.sma 2,96 KB 519 Ilość pobrań
Użytkownik SeeK edytował ten post 09.07.2011 14:50
G[o]Q
09.07.2011
hmm a po co t aki plugin skoro moj dziala tak samo i te niepotrzebne rzeczy sie cvarami wylacza ??
pozatym ustawianie hp jest lipne bo gosc moze przejsc mape ze 100 hp lepszym rozwiazaniem bylo by np sprawdzenie odleglosci graczy od siebie i jak sa blisko i nie ma miedzy nimi przeszkod to ustawic im po 100 hp
pozatym ustawianie hp jest lipne bo gosc moze przejsc mape ze 100 hp lepszym rozwiazaniem bylo by np sprawdzenie odleglosci graczy od siebie i jak sa blisko i nie ma miedzy nimi przeszkod to ustawic im po 100 hp
SeeK
09.07.2011
Jak działa tak samo? Masz gdzieś menu z wyborem rudny Death albo Free? Rundę Freerun można w Twoim pluginie włączyć w każdym momencie gry, nie ma żadnych ograniczeń czasowych. Mod DeathRun polega na tym, że terrorysta ma 100hp, tylko jeżeli jest runda free to ma 25.
Zresztą ten plugin, jest taką otoczką wokół Twojego. Dodaje nowe funkcje, których "Free++" nie zawiera. Tak jakby kontroluje Twój plugin
Użytkownik SeeK edytował ten post 09.07.2011 14:56
Zresztą ten plugin, jest taką otoczką wokół Twojego. Dodaje nowe funkcje, których "Free++" nie zawiera. Tak jakby kontroluje Twój plugin
Użytkownik SeeK edytował ten post 09.07.2011 14:56
G[o]Q
20.07.2011
powiedz mi jakich funkcji moj plugin nie ma ?
-menu ? :zbedne
-jak uzyjesz pulapki to free juz nie włączysz proste
-menu ? :zbedne
-jak uzyjesz pulapki to free juz nie włączysz proste
SeeK
24.07.2011
Nie ustawia życia terrorysty podczas rundy free na wartość 25hp. A żeby takie coś mogło zaistnieć potrzebne jest menu na początku rundy. Zawsze można też sprawdzać, czy któryś z CT przeszedł mapę i czy w tym czasie nie została włączona żadna pułapka, ale to by było bardziej skomplikowane.
G[o]Q
27.08.2011
pod koniec tematu use button once nie chcialem plagiatu R3X'owi robic to zostal tam
Hiroshima
27.08.2011
cvary tutaj: http://amxx.pl/topic...ie-button-once/
plugin tutaj: http://amxx.pl/topic...post__p__281869
uzywalem tego przez pol roku i nie mialem nigdy zadnych problemow.
plugin tutaj: http://amxx.pl/topic...post__p__281869
uzywalem tego przez pol roku i nie mialem nigdy zadnych problemow.
kubq
26.12.2011
dasz podstawowe 100 hp pls bo ja to na dr xp moda chciałem wgrać a co do pluginu spoko
SAL
26.02.2012
@UP nie wiem czy dobrze ale chyba tak - podstawa 101hp
#include <amxmodx>
#include <fun>
#include <fakemeta>
#include <colorchat>
#include <hamsandwich>
#include <cstrike>
#define PLUGIN "DeathOrFree"
#define VERSION "2.1"
#define AUTHOR "SeeK"
new a
new c = 0
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("dr_frmenu_time","20");
register_cvar("dr_free_onof","1");
register_logevent("Poczatek_Rundy", 2, "1=Round_Start")
register_forward(FM_PlayerPreThink, "MAX_HP")
RegisterHam(Ham_Use, "func_button","Dotyk_buttona");
RegisterHam(Ham_Use, "func_rot_button","Dotyk_buttona");
RegisterHam(Ham_Use, "button_target","Dotyk_buttona");
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}
public Poczatek_Rundy()
{
c = 0
}
public MAX_HP(id){
new Float:Health;
pev(id, pev_health, Health);
if(Health < 101) return;
set_pev(id, pev_health, 100.0);
}
public Dotyk_buttona(this, idcaller, idactivator, use_type, Float:value){
c = 1
}
public fwHamPlayerSpawnPost(id){
if (!is_user_alive(id))
return;
new CsTeams:name
name = cs_get_user_team(id)
if ( name == CS_TEAM_CT )
set_user_health(id, 101)
if(cs_get_user_team(id) == CS_TEAM_T)
{
menu(id)
}
}
public menu(id)
{
a = get_systime()
new menu = menu_create("\yWybierz mod:", "wybieranie")
new Szare = menu_makecallback("zablokowane")
menu_additem(menu, "\rDeathRun", "1", 0,Szare)
menu_additem(menu, "\wFreeRun", "2", 0,Szare)
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
menu_setprop(menu, MPROP_NUMBER_COLOR, "\y")
menu_display(id, menu, 0)
}
public wybieranie(id, menu, item)
{
new Czas = get_cvar_num("dr_frmenu_time"); // Ustawienie długości czasu - w sekundach - do wpisania FreeRun
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:{
ColorChat(0, RED, "Gramy normalny >>DeathRun<<")
menu_destroy(menu)
return PLUGIN_CONTINUE
}
case 2:{
new b = get_systime()
if(b - a < Czas)
{
if(c == 0)
{
ColorChat(0, GREY, "Gramy mod >>FreeRun<<")
client_cmd(id, "say /plugindeathorfree")
set_user_health(id, 101)
}
else
{
ColorChat(0, RED, "Gramy normalny >>DeathRun<<")
client_print(id, print_chat, "Nacisnales juz przycisk")
}
}
else
{
ColorChat(0, RED, "Gramy normalny >>DeathRun<<")
client_print(id, print_chat, "Czas wyboru minal")
}
menu_destroy(menu)
return PLUGIN_CONTINUE
}
}
menu_destroy(menu)
return PLUGIN_CONTINUE
}
public zablokowane(id, menu, item){
if(item==1)
{
if(get_cvar_num("dr_free_onof") == 0)
{
return ITEM_DISABLED;
}
}
return ITEM_ENABLED;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/