Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Mały problem


  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 Jager123

    Życzliwy

  • Użytkownik

Reputacja: -4
Nowy

  • Postów:21
  • GG:
  • Lokalizacja:public_html
Offline

Napisano 09.11.2009 19:02

Witam.
Zainstalowałem plugin na grawitacje aby przez pierwsze 10 sekund grawitacja była na 200 a potem na 700 przez resztę rundy.
Lecz plugin warjuje i zmienie grawitacje z 200 na 800 cały czas.
Może mi ktoś powiedzieć co jest z nim nie tak.
Jeżeli nie uda się tego w jakiś sposób poprawić proszę o zrobienie nowego. z góry dziękuję
mp_roundtime 4 
mp_freezetime 0 
Takie mam komendy w cfg serwera jak coś :-)


#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <biohazard>

new grav_on
new grav_time
new grav_num

public plugin_init() {
    register_plugin("Grawitacja", "1.1" , "KaMaZZ")
    grav_on = register_cvar("bh_grawitacja", "1")
    grav_time = register_cvar("bh_grawitacja_czas", "20")
    grav_num = register_cvar("bh_grawitacja_num", "0.40")
    is_biomod_active() ? plugin_init2() : pause("ad")
}

public plugin_init2() {

    RegisterHam(Ham_Spawn, "player", "poczatek", 1)
}

public poczatek(id)
{
    set_task(0.5, "grav_low", id)
}

public grav_low(id)
{
    new gravtime2 = get_pcvar_num(grav_time)
    if(grav_on == 1)
    {
        if(is_user_alive(id))
        {
            if(is_user_infected(id))
            {
                set_pev(id, pev_gravity, 1.0)
                client_print(id, print_chat, "[BIOSKAN] Jestes Zainfekowany! Posiadasz normalna grawitacje.")
                client_print(id, print_chat, "[BIOSKAN] Zywi posiadaja mniejsza grawitacje przez %d sek. Spiesz sie !", gravtime2)
            }
            else if(!is_user_infected(id))
            {
                set_pev(id, pev_gravity, float(grav_num))
                client_print(id, print_chat, "[BIOSKAN] Grawitacja zmniejszona na %d sekund!", gravtime2)
            }
            set_task(float(grav_time), "grav_normal", id)
        }
    }
}

public grav_normal(id)
{ 
    if(is_user_alive(id))
    {
        if(!is_user_infected(id))
        {
            set_pev(id, pev_gravity, 1.0)
        }
        client_print(id, print_chat, "[BIOSKAN] Grawitacja ustawiona. Milej zabawy !")
    }
}

  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 09.11.2009 23:25

Jager123, plugin nie wariuje, tylko robi to co ma robic i wraca do normalnej grawitacji czyli 800. Jesli chcesz miec inna wartosc, to musisz zmienic w tym miejscu:
public grav_normal(id) 
{ 
    if(is_user_alive(id)) 
    { 
        if(!is_user_infected(id)) 
        { 
            set_pev(id, pev_gravity, 1.0) 
        } 
        client_print(id, print_chat, "[BIOSKAN] Grawitacja ustawiona. Milej zabawy !") 
    } 
}
Wartosc 1.0 to jest normalna czyli 800, grawitacja po czasie jest proporcjonalna, wiec zmien tak jak potrzebujesz.
  • +
  • -
  • 0

#3 Jager123

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -4
Nowy

  • Postów:21
  • GG:
  • Lokalizacja:public_html
Offline

Napisano 10.11.2009 12:01

On działa w ten sposób że przez pierwsze 10 sekund rundy podnosi grawitacje do 200
A potem do 800. i tą czynność powtarza co 10 sekund.

A mi chodziło o to aby tylko przez pierwsze 10 sekund była grawitacja 200 a potem przez resztę rundy standardowo 690.
  • +
  • -
  • 0

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 10.11.2009 13:52

Masz plugin do odradzania graczy? Bo kazdy swierzo narodzony (spawn) gracz dostaje przez 10s mala gravitacje. Normalnie rodzisz sie tylko na poczatku rundy, wiec tu jest pewnie problem.
  • +
  • -
  • 0

#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 554
Godlike

  • Postów:11 979
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 10.11.2009 13:52

może tak
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Home"


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_connected(i)){
			if(is_user_alive(i)){
				set_user_gravity(i,0.25)
			}
		}
	}
	set_task(10.0,"gravityoff",1);
}

public gravityoff(){
	for(new i=1;i<33;i++){
		if(is_user_connected(i)){
			if(is_user_alive(i)){
				set_user_gravity(i,0.875)
			}
		}
	}
}


  • +
  • -
  • 0

#6 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 10.11.2009 14:42

DarkGL, is_user_alive sprawdza od razu czy jest connected, wiec optymalniej pozbyc sie jednego if'a.
  • +
  • -
  • 0

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 554
Godlike

  • Postów:11 979
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 10.11.2009 16:16

dzięki za podpowiedź :)
  • +
  • -
  • 0

#8 Jager123

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -4
Nowy

  • Postów:21
  • GG:
  • Lokalizacja:public_html
Offline

Napisano 10.11.2009 16:19

To jest zwykły zombie mod biohazard.
Więc tam jest zarażanie a nie zabijanie ani odradzanie ;]
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych