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
co masz pod postami ludzi...
#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 graUstawiam 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: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty









