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

Wiecej graczy tym terro ma wiecej HPpotrzebne na predator moda ;P


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
26 odpowiedzi w tym temacie

#1 Soulbane

    Zaawansowany

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 27.01.2012 09:14

Witam! Poszukuję pluginu, który zwiększy liczbę HP osobie będącej w Terro, jeżeli będzie X graczy, tym HP wzrośnie proporcjonalnie :P

Licznik HP jaki bym chciał mieć to:

1-3 graczy - 300 hp
4-6 graczy - 400 hp
7-8 graczy - 500 hp
8-10 graczy - 600 hp

i przydała by się w tym wbudowana regeneracja HP (że tyle mogę mieć MAX HP, tyle mi się może zregenerować)
I regeneracja mogła by wynosić ~~~ 15 hp / 5 sec.

Bardzo bym prosił o pomoc, pomocnemu użytkownikowi który mi pomoże dam oficjalnie + i podziękowanie na mojej stronie za plugin, jest to ważny dla mnie plugin i pilnie potrzebny.

Użytkownik Soulbane edytował ten post 27.01.2012 09:18

  • +
  • -
  • 0

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 27.01.2012 09:18

Jak jest 8-10 graczy to tt dostaje 600 na start ?
  • +
  • -
  • 1

If you can dream it, you can do it.


#3 Soulbane

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 27.01.2012 09:26

Tak, i tak samo moze mu sie zregenerowac 600 hp max, nie 300, nie 400, nie 1000 ale 600 :D
O to mi chodzi wlasnie :P
  • +
  • -
  • 0

#4 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 27.01.2012 09:43

Jak byś chciał żeby liczyło graczy w ct pod koniec rundy czy na początku rundy ;) ?
  • +
  • -
  • 1

If you can dream it, you can do it.


#5 Soulbane

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 27.01.2012 09:47

chyba lepiej było by na początku, ale mogę się mylić :D
  • +
  • -
  • 0

#6 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 27.01.2012 09:55

Sprawdź to , nie zrobiłem jeszcze regeneracji ;)
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <cstrike>
#include <fun>

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

new gracze_w_ct = 0

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_logevent("Start", 2, "1=Round_Start") 
	register_logevent("Koniec", 2, "1=Round_End")
}
public Start()
{
	for(new i=1;i<33;i++)
	{
		if(is_user_alive(i))
		{
			if(cs_get_user_team(i) == CS_TEAM_CT)
			{
				gracze_w_ct++
			}
			else if(cs_get_user_team(i) == CS_TEAM_T)
			{
				set_task(2.0,"daj_hp",i)
			}
		}
	}
}
public Koniec()
{
	gracze_w_ct = 0
}
public daj_hp(id)
{
	if(gracze_w_ct >= 1 && gracze_w_ct <= 3)
	{
		set_user_health(id,300)
	}
	else if(gracze_w_ct >= 4 && gracze_w_ct <= 6)
	{
		set_user_health(id,400)
	}
	else if(gracze_w_ct >= 7 && gracze_w_ct <= 8)
	{
		set_user_health(id,500)
	}	
	else if(gracze_w_ct >= 8 && gracze_w_ct <= 10)
	{
		set_user_health(id,600)
	}
	
}

Użytkownik speedkill edytował ten post 27.01.2012 09:56

  • +
  • -
  • 1

If you can dream it, you can do it.


#7 Soulbane

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 27.01.2012 10:12

Przeczytałem kod, ładnie napisany i z tego co widzę działa, przekompilowałem w compilerze i bezbłędnie, i musi działać ;P
Na serwerze nie sprawdzę bo wszyscy w szkole/pracy i nikt nie gra ale na 100% dziala, aby brakuje tej regeneracji :P
  • +
  • -
  • 0

#8 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 27.01.2012 10:45

po pierwsze jest niedopatrzenie algorytmiczne w pierwszym poście

7-8 graczy cośtam
8-10 graczy coś tam

w obu jest 8, powinno być raczej: 7-8, 9-10

poza tym łap troszke zoptymalizowany kod:


public daj_hp(id)
{
switch(gracze_w_ct)
{
case 1..3:
set_user_health(id,300)
case 4..6:
set_user_health(id,400)
case 7..8:
set_user_health(id,500)
case 9..10:
set_user_health(id,600)
}
}

Użytkownik Nakupenda. edytował ten post 27.01.2012 10:48

  • +
  • -
  • 1

#9 Soulbane

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 27.01.2012 13:10

Teraz czekam tylko na wersję z regeneracją :P
  • +
  • -
  • 0

#10 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 27.01.2012 15:16

łap, troszke myślenia było i sprawdzenia jak taskiem przesłać dwa argumenty ale się udało ;)

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta_util>
#define PLUGIN "Terro_HP"
#define VERSION "1.1"
#define AUTHOR "Nakupenda. & speedkill"
new gracze_w_ct = 0
new maks[2]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("Start", 2, "1=Round_Start")
register_logevent("Koniec", 2, "1=Round_End")
}
public Start()
{
for(new id=1;id<33;id++)
{
if(is_user_alive(id))
{
if(cs_get_user_team(id) == CS_TEAM_CT)
{
gracze_w_ct++
}
else if(cs_get_user_team(id) == CS_TEAM_T)
{
set_task(2.0,"daj_hp",id)
}
}
}
}
public Koniec()
{
gracze_w_ct = 0
}
public daj_hp(id)
{
switch(gracze_w_ct)
{
case 1..3:
maks[1] = 300
case 4..6:
maks[1] = 400
case 7..8:
maks[1] = 500
case 9..10:
maks[1] = 600
}
maks[0] = id
set_user_health(maks[0],maks[1])
set_task(5.0, "recovery", 6, maks, 2, "b");
}
public recovery(maks[])
{
new id = maks[0]
new hp = maks[1]
if ( get_user_health(id) < hp )
fm_set_user_health(id, get_user_health(id) + hp);
}

  • +
  • -
  • 1

#11 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 27.01.2012 16:04

Po co ci fakemeta_util ?
+ autora daje się pierwszego , potem daje się osobe które to lekko zmieniła.
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN "Terro_HP"
#define VERSION "1.1"
#define AUTHOR "speedkill & Nakupenda."

new gracze_w_ct = 0
new maks[2]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_logevent("Start", 2, "1=Round_Start")
	register_logevent("Koniec", 2, "1=Round_End")
}
public Start()
{
	for(new i=1;i<33;i++)
	{
		if(is_user_alive(i))
		{
			if(cs_get_user_team(i) == CS_TEAM_CT)
			{
				gracze_w_ct++
			}
			else if(cs_get_user_team(i) == CS_TEAM_T)
			{
				set_task(2.0,"daj_hp",i)
			}
		}
	}
}
public Koniec()
{
	gracze_w_ct = 0
}
public daj_hp(id)
{
	maks[0] = id
	switch(gracze_w_ct)
	{
		case 1..3:
			maks[1] = 300
		case 4..6:
			maks[1] = 400
		case 7..8:
			maks[1] = 500
		case 9..10:
			maks[1] = 600
	}
	set_user_health(maks[0],maks[1])
	set_task(5.0, "recovery", 6, maks, 2, "b")
}
public recovery(maks[])
{
	new id = maks[0]
	new hp = maks[1]
	if(get_user_health(id) < hp)
		set_user_health(id, get_user_health(id) + hp)
}

Użytkownik speedkill edytował ten post 27.01.2012 16:05

  • +
  • -
  • 1

If you can dream it, you can do it.


#12 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 27.01.2012 16:09

lekko zmieniła? pół kodu moje

+ nawet o tym nie myślałem podając autorów, po prostu zapomniałem kto pierwszy dał część kodu

Soulbane sprawdź czy działa

Edit: skoro tak bardzo zalezy Ci na tym żeby być pierwszym w nazwie pluginu.. :giggle: niektórzy nigdy nie dorosną

Użytkownik Nakupenda. edytował ten post 27.01.2012 16:11

  • +
  • -
  • 1

#13 Soulbane

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 04.02.2012 21:30

Obu was kocham za pomoc, zaraz sprawdze czy dziala, i juz macie plusiki ;*

Jest pewien problem.
Ludzie z CT też dostają więcej HP i regeneracje ;(
  • +
  • -
  • 0

#14 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 04.02.2012 21:47

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <cstrike>
#include <fun>
#define PLUGIN "Terro_HP"
#define VERSION "1.1"
#define AUTHOR "speedkill & Nakupenda."
new gracze_w_ct = 0
new maks[2]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("Start", 2, "1=Round_Start")
register_logevent("Koniec", 2, "1=Round_End")
}
public Start()
{
for(new i=1;i<33;i++)
{
if(is_user_alive(i))
{
if(cs_get_user_team(i) == CS_TEAM_CT)
{
gracze_w_ct++
}
else if(cs_get_user_team(i) == CS_TEAM_T)
{
set_task(2.0,"daj_hp",i)
}
}
}
}
public Koniec()
{
gracze_w_ct = 0
}
public daj_hp(id)
{
maks[0] = id
switch(gracze_w_ct)
{
case 1..3:
maks[1] = 300
case 4..6:
maks[1] = 400
case 7..8:
maks[1] = 500
case 9..10:
maks[1] = 600
}
if(cs_get_user_team(id) == CS_TEAM_T)
set_user_health(maks[0],maks[1])
set_task(5.0, "recovery", 6, maks, 2, "b")
}
public recovery(maks[])
{
new id = maks[0]
new hp = maks[1]
if(cs_get_user_team(id) == CS_TEAM_T && get_user_health(id) < hp )
set_user_health(id, get_user_health(id) + hp)
}

  • +
  • -
  • 1

#15 Soulbane

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 04.02.2012 22:17

ok plugin działa, a przynajmniej tak się zdaje.


Pytanie co do regeneracji.

Ile jest? 15 HP na 5 sekund? ; P
I czy regeneruje się tyle ile ma predator max HP? Przy 4-6 graczach do 400 czy moze sie zbugowac i wiecej mu dac?

Cos jest nie tak z regeneracja - caly czas regeneruje ;(
Jest 5 osob na serwerze, 3 w CT i TT ma 700 hp na start
  • +
  • -
  • 0

#16 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 04.02.2012 23:24

spr teraz

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <cstrike>
#include <fun>
#define PLUGIN "Terro_HP"
#define VERSION "1.1"
#define AUTHOR "speedkill & Nakupenda."
new gracze_w_ct = 0
new maks[2]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("Start", 2, "1=Round_Start")
register_logevent("Koniec", 2, "1=Round_End")
}
public Start()
{
for(new i=1;i<33;i++)
{
if(is_user_alive(i))
{
if(cs_get_user_team(i) == CS_TEAM_CT)
{
gracze_w_ct++
}
else if(cs_get_user_team(i) == CS_TEAM_T)
{
set_task(2.0,"daj_hp",i)
}
}
}
}
public Koniec()
{
gracze_w_ct = 0
}
public daj_hp(id)
{
maks[0] = id
switch(gracze_w_ct)
{
case 1..3:
maks[1] = 300
case 4..6:
maks[1] = 400
case 7..8:
maks[1] = 500
case 9..10:
maks[1] = 600
}

if(cs_get_user_team(id) == CS_TEAM_T)
{
set_user_health(maks[0],maks[1])
set_task(5.0, "recovery", 6, maks, 2, "b")
}
}
public recovery(maks[])
{
new id = maks[0]
new hp = maks[1]
if(get_user_health(id) < hp)
set_user_health(id, get_user_health(id) + 15)
}

  • +
  • -
  • 1

#17 Soulbane

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 05.02.2012 11:23

Regeneracja działa dobrze, HP dla TT też.

Ale jest 1 problem, byłem w TT jako predator, potem była zamiana mnie do CT i inna osobe do TT (rotacja, kto idzie do TT jako predator), i on mial dobrze HP, a ja w CT mialem regeneracje i chodzilem z taka iloscia HP jak predator :(
Mogl bys zobaczyc o co cmon? Albo dodać do recovery(maks) że tylko osobom w TT się regeneruje?
  • +
  • -
  • 0

#18 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 05.02.2012 15:04

public Start()
{
for(new i=1;i<33;i++)
{
if(is_user_alive(i))
{
if(cs_get_user_team(i) == CS_TEAM_CT)
{
gracze_w_ct++
set_user_health(i,100)
}
else if(cs_get_user_team(i) == CS_TEAM_T)
{
set_task(2.0,"daj_hp",i)
}
}
}
}

  • +
  • -
  • 1

#19 Soulbane

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:146
  • Imię:x
  • Lokalizacja:x
Offline

Napisano 05.02.2012 15:35

Nadal to samo, ale nie mam pomyslu jak to obejsc ;(

Podrzuc na razie 1 wersje bez regeneracji gotowa bo przynajmniej to wrzuce na serwer ;/

EDIT: CHYBA ZE:

Zrobisz 2 pluginy.

1) Daje HP dla TT w zaleznosci od liczy CT
2) Daje regeneracje (BEZ HP) w zaleznosci od liczby CT! :)

Moze teraz by nie kolidowalo
  • +
  • -
  • 0

#20 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 05.02.2012 16:14

nie, bo w 1 ustala ilość max hp ;)

siedziałem nad tym chwilke i wymysliłem takie coś :)

#include <amxmodx>
#include <cstrike>
#include <fun>
#define PLUGIN "Terro_HP"
#define VERSION "1.1"
#define AUTHOR "speedkill & Nakupenda."
new gracze_w_ct = 0
new maks[2], add_hp[33], max_hp[33]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("Start", 2, "1=Round_Start")
register_logevent("Koniec", 2, "1=Round_End")
}
public Start()
{
for(new i=1;i<33;i++)
{
if(is_user_alive(i))
{
if(cs_get_user_team(i) == CS_TEAM_CT)
{
gracze_w_ct++
}
else if(cs_get_user_team(i) == CS_TEAM_T)
{
set_task(2.0,"daj_hp",i)
}
}
}
}
public Koniec()
{
gracze_w_ct = 0
}
public daj_hp(id)
{
maks[0] = id
switch(gracze_w_ct)
{
case 1..3:
maks[1] = 300
case 4..6:
maks[1] = 400
case 7..8:
maks[1] = 500
case 9..10:
maks[1] = 600
}
recovery(maks)
set_task(5.0, "recovery", 6, maks, 2, "b")
}
public recovery(maks[])
{
new id = maks[0]
max_hp[id] = maks[1]
add_hp[id] = maks[1] - get_user_health(id)
if(cs_get_user_team(id) == CS_TEAM_CT)
{
add_hp[id] = 0
max_hp[id] = 100
}
set_user_health(id, get_user_health(id) + add_hp[id])
}

  • +
  • -
  • 1




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

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