Czy mógłby mi ktoś krok po kroku wytłumaczyć jak zrobić prosty plugin, który po zakończeniu timeleftu np. ustawiał graviti na 9999, tak żeby wszyscy gracze zginęli? Może być również slay, chociaż z tą grawitacją lepiej by wyglądało.
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.
|
[ROZWIĄZANE] Prosty plugin na zakończenie rundy
#2
Napisano 02.07.2013 00:52
/* Plugin generated by AMXX-Studio */ #include #define PLUGIN "plugins" #define VERSION "1.0" #define AUTHOR "xenos" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("Koniec_Rundy", 2, "1=Round_End") } public Koniec_Rundy() for(new id = 1;id<=get_maxplayers ();id++) if((is_user_connected(id))&&(is_user_alive(id)) ) user_silentkill(id)
Załączone pliki
Pluginy:
Szukanie Aktywnych Banów w AmxBansie
Drop After Death
Kto postawił mine
#3
Napisano 02.07.2013 19:50
Prosilem o wytlumaczenie, no ale ok... + leci
Xenos ten twój plugin nie zabija wszystkich graczy po timelefcie, tylko na zakończenie rundy, a ja chciałem po timelefcie.
Użytkownik CoKeZeRo edytował ten post 02.07.2013 20:16
#4
Napisano 02.07.2013 19:53
Proponuję najpierw ustawić na chwilę grawitację na ujemną i każdym graczem podskoczyć, aby się uniósł w powietrzu, następnie przestawić grawitację
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#6
Napisano 02.07.2013 20:23
Paczka map COD - http://cs-boster.pl/...ter-strike-1-6/
Paczka map AIM - http://cs-boster.pl/...ter-strike-1-6/
Counter Strike 1.6 Non Steam v23 - http://cs-boster.pl/...m-v23-download/
Counter Strike 1.6 Non Steam v32 - http://cs-boster.pl/...m-v32-download/
Counter Strike 1.6 Non Steam v52 - http://cs-boster.pl/...-non-steam-v52/
#7
Napisano 02.07.2013 20:24
prosto taki pluginy zrobić. użyj po timelefcie set_task aby ustawił grawitacje ujemną ( tylko oblicz ile będzie leciał w górę ) np. 2-3 sekundy. A po użyciu set_task zrób normalną grawitację i gracze wszyscy zginą.
Aż tak nie ogarniam AMXX. Mogłbyś mi może wytłumaczyć krok po kroku?;d
#10
Napisano 06.07.2013 20:52
#include <amxmodx> #include <fun> #define PLUGIN "Ostatnia runda" #define VERSION "1.0" #define AUTHOR "Filip / `NN" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) } public funkcja(id){ if(is_user_connected(id) && is_user_alive(id)){ set_user_gravity(id, -1.0) set_task(2.0, "spadanie", id) } } public spadanie(id) set_user_gravity(id, 10.0)
#11
Napisano 06.07.2013 22:18
Łap całość z opisem
#include <amxmodx> public plugin_init() { register_plugin("KillForTimeLeft", "Test", "BlackPerfum") // Rejestracja pluginu new timeleft = get_timeleft() // Tworzę zmienną "timeleft" i przypisuje jej czas w sekundach do końca mapy new Float:ftimeleft = float(timeleft) //Tworze zmienną typu float i przypisuje jej wartość zmiennej "timeleft" jako wartość zmiennoprzecinkową set_task(ftimeleft-0.5, "KillAllPlayers") // Ustawiam aby funkcja "KillAllPlayers" wykonała 0.5 sekundy przed końcem mapy } public KillAllPlayers() { new Players[32],Num //Tworze dwie dodatkowe zmienne get_players(Players,Num) //Do zmiennej "Players" wkładam wszystkich graczy a do zmiennej "num" wkładam ilość graczy set_cvar_num("sv_gravity",-100) // Ustawiam grawitację taką aby gracz gdy podskoczy nie mógł spaść for(new i=0;i<Num;i++) // Ustawiam pętlę "for" aby obróciła się tyle razy ile jest aktualnie ludzi na serwerze { new id=Players[i] // wyciągam id ze zmiennej Players if(!is_user_alive(id)) continue // omijam gracz jeśli nie żyje console_cmd(id, "+jump"); // Podskakuje graczem } set_task(2.0,"SetGravity") // Ustawiam aby funkcja "SetGravity" wykonała się 1.5 sekundy po zakończonym czasie mapy } public SetGravity() { set_cvar_num("sv_gravity",800) // Ustawiam standardową grawitację }
To można skrócić do czegoś takiego
#include <amxmodx> public plugin_init() { register_plugin("KillForTimeLeft", "Test", "BlackPerfum") // Rejestracja pluginu set_task(float(get_timeleft())-0.5, "KillAllPlayers") // Ustawiam aby funkcja "KillAllPlayers" wykonała 0.5 sekundy przed końcem mapy } public KillAllPlayers() { new Players[32],Num //Tworze dwie dodatkowe zmienne get_players(Players,Num) //Do zmiennej "Players" wkładam wszystkich graczy a do zmiennej "num" wkładam ilość graczy set_cvar_num("sv_gravity",-100) // Ustawiam grawitację taką aby gracz gdy podskoczy nie mógł spaść for(new i=0;i<Num;i++) // Ustawiam pętlę "for" aby obróciła się tyle razy ile jest aktualnie ludzi na serwerze { if(!is_user_alive(Players[i])) continue // omijam gracz jeśli nie żyje console_cmd(Players[i], "+jump"); // Podskakuje graczem } set_task(2.0,"SetGravity") // Ustawiam aby funkcja "SetGravity" wykonała się 1.5 sekundy po zakończonym czasie mapy } public SetGravity() set_cvar_num("sv_gravity",800) // Ustawiam standardową grawitację
Dlaczego wprowadzam czas do funkcji "set_task" jako float?
Bo tylko liczby zmiennoprzecinkowe ona przyjmuje
Użytkownik BlackPerfum edytował ten post 06.07.2013 22:32
Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!
Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują
#12
Napisano 07.07.2013 01:11
Jeżeli +jump to może i dasz -jump? Bo tak to raczej sobie potem nie poskaczą...
DarkGL to mój autorytet.
skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować
#13
Napisano 07.07.2013 01:30
Jeżeli +jump to może i dasz -jump? Bo tak to raczej sobie potem nie poskaczą...
Poskakać poskaczą, tylko że za pierwszy kliknięciem nie zareaguje, ale fakt faktem
#14
Napisano 07.07.2013 01:43
Ale ja dałem samo +jump tylko po to aby gracz oderwał się od ziemi a ujemna grawitacja sama zrobi swoje. Potem po 2 sekundach ustawiana jest normalna grawitacja. Tu nie chodzi aby sobie skakali ;D
Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!
Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują
#15
Napisano 07.07.2013 03:11
Ale ja dałem samo +jump tylko po to aby gracz oderwał się od ziemi a ujemna grawitacja sama zrobi swoje. Potem po 2 sekundach ustawiana jest normalna grawitacja. Tu nie chodzi aby sobie skakali ;D
+jump to jest coś takiego, jakbyś kliknął przycisk do skakania i go nie puścił, dlatego jeśli ktoś będzie chciał podskoczyć dopiero zadziała mu drugi skok, bo +jump będzie miał już aktywne, a -jump się zrobi przy pierwszym (nieudanym) skoku, dopiero później będzie mógł normalnie skakać.
#16
Napisano 07.07.2013 08:59
DarkGL to mój autorytet.
skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować
#18 Gość_21977_*
Napisano 10.07.2013 06:19
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych