[ROZWIĄZANE] Grawitacja nie działa jak nal...
Najlepsza odpowiedź Wielkie Jol 31.12.2013 13:43
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #define PLUGIN "xXPLUGINXx" #define VERSION "1.0" #define AUTHOR "Wielkie Jol" new MAX; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("round_start", 2, "1=Round_Start"); } public plugin_cfg() MAX=get_maxplayers() public round_start(){ server_cmd("sv_gravity 800"); server_cmd("sv_gravity 200"); set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 3.0, 0.01, 1.0, -1); show_hudmessage(0, "Grawitacja zmniejszona ,dobrze sie schowaj !"); set_task(10.0,"norma"); } public norma(){ server_cmd("sv_gravity 800"); for(new i=1;i<=MAX; i++){ if(is_user_alive(i) && get_user_team(i) == 1){ set_user_gravity(i, 0.625); // zombie } for(new i=1;i<=MAX; i++){ if(is_user_alive(i) && get_user_team(i) == 2){ set_user_gravity(i, 0.6875); // ct } } } set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 3.0, 10.0, 11.0, -1); show_hudmessage(0, "Grawitacja powrocila do normy, zaczynamy zabawe ! !"); }Przejdź do postu
corel
30.12.2013
Witam , jak w temacie mam taki prosty plugin :
#include <amxmodx> #include <amxmisc> #include <fun> #define PLUGIN "Grawitacja" #define VERSION "1.0" #define AUTHOR "Autor" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("Poczatek_Rundy", 2, "1=Round_Start") } public Poczatek_Rundy(){ for(new i=1;i<33;i++){ if(is_user_alive(i)){ set_user_gravity(i,0.25) set_hudmessage(255, 0, 0, 0.30, 0.36, 0, 6.0, 10.0) show_hudmessage(0, "Grawitacja zmniejszona, dobrze sie schowaj !") } } set_task(15.0,"gravityoff",1); } public gravityoff(){ for(new i=1;i<33;i++){ if(is_user_alive(i)){ set_user_gravity(i,1.0) set_hudmessage(255, 0, 0, 0.30, 0.36, 0, 6.0, 10.0) show_hudmessage(0, "Grawitacja noramalna, zaczynamy gre !") } } }
I chodzi o to że gdy na serwerze gdy ludzie mają niestandardową grawitacje to niestety to nie działa. Przedstawie to na przykładzie serwera zombie mod :
podstawowa grawitacja - x
grawitacja zombie -x1
grawitacja z pluginu x2
Zaczyna się runda , każdy dostaje grawitacje x2 i tutaj wszystko jest ok , ale po 5 sekundach wybierany jest zombie i wtedy nie ma on grawitacji x2 tylko posiada x1 czyli taka jaką powinien mieć po po zakończeniu czasu pluginu . Natomiast po zakonczeniu czasu pluginu zombie posiada grawitacje x . W przypadku humana wszystko jest ok.
Czy ktoś potrafiłby to ogarnąć aby wszystko działało jak należy z grawitacją ? Jeżeli coś niejasne to proszę pisać bo miałem problem z wytłumaczeniem
corel
31.12.2013
#include <amxmodx> #include <amxmisc> #include <fun> #include <hamsandwich> #define PLUGIN "grawitacja" #define VERSION "1.0" #define AUTHOR "Corel" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("round_start", 2, "1=Round_Start"); RegisterHam(Ham_Spawn, "player", "spawns", 1); } public round_start() { set_cvar_num("sv_gravity",200); set_task(10.0,"norma"); set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 3.0, 0.01, 1.0, -1); show_hudmessage(0, "Grawitacja zmniejszona ,dobrze sie schowaj !"); } public norma() { for(new i=0; i<=get_maxplayers(); i++) set_user_gravity(i, 1.0) set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 3.0, 10.0, 11.0, -1); show_hudmessage(0, "Grawitacja powrocila do normy, zaczynamy zabawe ! !"); } public spawns(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; if(get_user_team(id) == 1) set_user_gravity(id, 500.0/800.0); else if(get_user_team(id) == 2) set_user_gravity(id, 550.0/800.0); return PLUGIN_CONTINUE; }
Ogarnąłem coś takiego z pomocą klakiera ( dziękuje ) i niestety nie zwraca mi grawitacji , cały czas jest zmniejszona.
Wielkie Jol
31.12.2013
Czyli chcesz żeby grawitacja była zmieniana tylko ludziom? I po 15 sekundach ma im przywracać podstawową wartość? A co z zombiakami? bo nie zrozumiałem za bardzo szczerze mówiąc
corel
31.12.2013
nie nie , juz tlumacze przez pierwsze 10 sekund grawitacja ma wynosić 200 dla wszystkich czy to zoombie(tt) czy to human(ct). Po 10 sekundach ma przywracać grawitacje : 500 dla zombie (tt) 550 dla humana(ct).
Wielkie Jol
31.12.2013
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #define PLUGIN "xXPLUGINXx" #define VERSION "1.0" #define AUTHOR "Wielkie Jol" new MAX; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("round_start", 2, "1=Round_Start"); } public plugin_cfg() MAX=get_maxplayers() public round_start(){ server_cmd("sv_gravity 500"); set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 3.0, 0.01, 1.0, -1); show_hudmessage(0, "Grawitacja zmniejszona ,dobrze sie schowaj !"); set_task(10.0,"norma"); } public norma(){ for(new i=1;i<=MAX; i++){ if(is_user_alive(i) && get_user_team(i) == 1){ set_user_gravity(i, 0.625); // zombie } for(new i=1;i<=MAX; i++){ if(is_user_alive(i) && get_user_team(i) == 2){ set_user_gravity(i, 0.6875); // ct } } } set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 3.0, 10.0, 11.0, -1); show_hudmessage(0, "Grawitacja powrocila do normy, zaczynamy zabawe ! !"); }
zobacz czy cuś takiego zadziała, a powinno
Użytkownik Wielkie Jol edytował ten post 31.12.2013 12:53
corel
31.12.2013
wrzucam na serwer , zaraz dam znać
//
Więc tak zaczyna się runda i ct ma grawitacje 550 a tt 500 , po 10 sekundach ich grawitacja sie zmniejsza nie wiem do ilu nie potrafie okresliic ale okolo 400 ? Wnioskujac : nie ma początkowej grawitacji , po 10 sekundach do 550 (ct) 500 (tt) dodaje się grawitacja set_user_gravity(i, 0.625); // zombie i set_user_gravity(i, 0.6875); // ct
Użytkownik corel edytował ten post 31.12.2013 13:05
Najlepsza odpowiedź
Wielkie Jol
31.12.2013
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #define PLUGIN "xXPLUGINXx" #define VERSION "1.0" #define AUTHOR "Wielkie Jol" new MAX; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("round_start", 2, "1=Round_Start"); } public plugin_cfg() MAX=get_maxplayers() public round_start(){ server_cmd("sv_gravity 800"); server_cmd("sv_gravity 200"); set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 3.0, 0.01, 1.0, -1); show_hudmessage(0, "Grawitacja zmniejszona ,dobrze sie schowaj !"); set_task(10.0,"norma"); } public norma(){ server_cmd("sv_gravity 800"); for(new i=1;i<=MAX; i++){ if(is_user_alive(i) && get_user_team(i) == 1){ set_user_gravity(i, 0.625); // zombie } for(new i=1;i<=MAX; i++){ if(is_user_alive(i) && get_user_team(i) == 2){ set_user_gravity(i, 0.6875); // ct } } } set_hudmessage(255, 255, 255, -1.0, 0.25, 0, 1.0, 3.0, 10.0, 11.0, -1); show_hudmessage(0, "Grawitacja powrocila do normy, zaczynamy zabawe ! !"); }
corel
31.12.2013
wyjaśnisz mi to :
server_cmd("sv_gravity 800");
server_cmd("sv_gravity 200");
bo nie rozumiem po co ?
//
dobra juz wiem , no zobaczymy jak to zadziala
//
na pierwszy rzut oka wszystko działa jak należy za jakąś godzinke lub dwie dam znać jak będe testował z kilkoma osobami , na razie plusiki i podziękowania za pomoc
Użytkownik corel edytował ten post 31.12.2013 13:52
Wielkie Jol
31.12.2013
Zrobiłem to po to, by była ustawiona najpierw podstawowa grawitacja, a następnie zmieniona, myślę, że to wielkiej różnicy w kodzie nie robi, a chyba ma znaczenie w działaniu.
corel
31.12.2013
Tak już rozumiem , wszystko działa jak należy a nawet lepiej Później jeszcze przetestuje z kilkoma osobami