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.
|
Następny plugin :D
#1
Napisano 20.10.2008 16:50
Gdy ktoś napisze na sayu nie wiem, np. moc, to jego grawitacja się zmniejsza do 400. ALE! Chciałbym, by ten efekt, utrzymywał się przez jakiś określony czas np. 7 sekund(ustawione w cvarze!). Umiem zmniejszyć grawitację, ale nie wiem jak to zrobic, by po jakims czasie powrociła do normalnej wartosci.
PS: Mile widziane, ile pozostalo nam czasu do konca tej grawitacji(Na dole czy gdzies tam napisane, ze pozostaly np. 3 sekundy)
#2
Napisano 20.10.2008 16:59
#3
Napisano 20.10.2008 17:01
Ustawiasz najpierw grawitacje a potem set_task i jeżeli chcesz odliczanie to dajesz z czasem 1s który będzie liczył np od 7 do 0 (żeby było odliczanie) a jak już dojdzie do 0 to ustawia wartość standardową.
set_task ( Float:time, const function[], id = 0, parameter[]="", len = 0, flags[]="", repeat = 0 )Float:time - czas po jakim się uruchomi funkcja
const function[] - funkcja która ma się uruchomić
id = 0 - id task'a żeby można się odwołać do niego jeżeli zajdzie taka potrzeba
parameter[]="" - tablica przekazywanych wartości
len = 0 - ilość wartości w tablicy
flags[]="" - flagi
-- "a" - powtórz określoną liczbę razy
-- "b" - powtarzaj w nieskończoność
-- "c" - wykonaj funkcjie ileś czasu po końcem mapy
-- "d" - wykonaj funkcjie ileś czasu przed końcem mapy
repeat = 0 - ilość powtórzeń jeżeli flaga "a" jest ustawiona
#4
Napisano 20.10.2008 17:07
#5
Napisano 20.10.2008 17:16
#6
Napisano 20.10.2008 17:26
#include <amxmodx> #include <cstrike> #include <fun> new gravitacja public plugin_init() { register_plugin("Grawity", "0.1", "Conseil") gravitacja = register_cvar("amx_gravity", "400.0") register_clcmd("say moc", "grawitacja") } public grawitacja(id) { set_user_gravity(id, get_pcvar_num(gravitacja)) }Na razie bez czasu - bo cos mi tutaj nie gra
Ustawiam grawitacje na 400 a tymczasem... Tak dluuugo wisze cos w powietrzu i zdaje mi się, że to nie jest grawitacja 400 tylko 20 czy cos...
#7
Napisano 20.10.2008 17:31
#8
Napisano 20.10.2008 17:32
#9
Napisano 20.10.2008 17:37
#include <amxmodx> #include <cstrike> #include <fun> new gravitacja public plugin_init() { register_plugin("Grawity", "0.1", "Conseil") gravitacja = register_cvar("amx_gravity", "0.5") register_clcmd("say moc", "grawitacja") } public grawitacja(id) { set_user_gravity(id, get_pcvar_num(gravitacja)) set_task("7.0","nogravity", id) } public nogravity(id){ set_user_gravity(id,1.0) }sprobuj tak
#10
Napisano 20.10.2008 18:40
#include <amxmodx> #include <cstrike> #include <fun> new Float:gracz[32] public plugin_init() { register_plugin("Grawity", "0.1", "Conseil") register_cvar("amx_gravity", "0.5") register_cvar("amx_gravitytime","7") register_clcmd("say moc", "grawitacja") } public grawitacja(id) { new Float:moc=get_cvar_num("amx_gravity")*1.00 set_user_gravity(id, moc) gracz[id]=get_cvar_num("amx_gravitytime")*1.00 nogravity(id) } public nogravity(id) { if (gracz[id] == 0 ) { set_user_gravity(id,1.0) } else { set_hudmessage(200,300,123,0.65,0.75,0,1.2) show_hudmessage(id,"Pozostało %f1.0 sek grawitacji",gracz[id]) set_task(1.0,"nogravity",id) gracz[id]-- } }
#11
Napisano 20.10.2008 19:04
poza tym, jest dalej normalna grawitacja(800) po wpisaniu na sayu moc...
To nie dziala tak jak trzeba
#12
Napisano 20.10.2008 19:09
#13
Napisano 20.10.2008 20:20
#14
Napisano 20.10.2008 22:25
#include <amxmodx> #include <cstrike> #include <fun> new grav new gtime new gracz[33] public plugin_init() { register_plugin("Grawity", "0.1", "Conseil") grav=register_cvar("amx_gravity", "1.0") gtime=register_cvar("amx_gravitytime","7") register_clcmd("say moc", "grawitacja") } public grawitacja(id) { set_user_gravity(id,get_pcvar_float(grav)) gracz[id]=get_pcvar_num(gtime) nogravity(id) } public nogravity(id) { if (gracz[id] == 0 ) { set_user_gravity(id,1.0) set_hudmessage(200,300,123,0.65,0.75,0,1.0,1.0) show_hudmessage(id,"Koniec grawitacji",gracz[id]) } else { set_hudmessage(200,300,123,0.65,0.75,0,1.2) show_hudmessage(id,"Pozostało %d sek grawitacji",gracz[id]) set_task(1.0,"nogravity",id) gracz[id]-- } }
#15
Napisano 21.10.2008 12:57
Tylko tej linijki nie rozumiem za bardzo:
new gracz[33]czemu 33, to przechowuje liczby graczy jakos tak? Można wstawic inna wartość, np gracz[41]?
aha i jeszcze:
set_hudmessage(200,300,123,0.65,0.75,0,1.2)
To jaki prototyp tutaj jest?
set_hudmessage(KOLOR R, KOLOR G, KOLOL B, WSPOLZEDNE X, WSPOLZEDNE Y, i co tutaj dalej?)
#16
Napisano 21.10.2008 13:09
set_hudmessage ( red=200, green=100, blue=0, Float:x=-1.0, Float:y=0.35, effects=0, Float:fxtime=6.0, Float:holdtime=12.0, Float:fadeintime=0.1, Float:fadeouttime=0.2, channel=4 )
można, ale po co jak graczy może być tylko 32Można wstawic inna wartość, np gracz[41]?
#17
Napisano 21.10.2008 17:06
np. 10.0 = 10sekund
#18
Napisano 21.10.2008 17:13
graczy może być tylko 32
graczy możę być ile chcesz zalezy czy masz spawny do mapy zrobione sam znam serv do csa1.6 gdzie są 64 sloty ;>
#19
Napisano 21.10.2008 17:38
tak to pokaż serwer cs 1.6 na którym widziałeś chociaż 33 graczy, a tym bardziej nie mów tak po prostu może być ile się chce bo normalne binarki mają limit 32znam serv do csa1.6 gdzie są 64 sloty ;>
#20
Napisano 21.10.2008 17:44
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych