←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Odwołanie się do innego pluga

Zablokowany

  • +
  • -
patryk006 - zdjęcie patryk006 07.12.2009

Witam , potrzebuję pomocy , chciałem żeby w diablo było odwołanie do vipmoda (oba plugi w załączniku) i odpowiednio:
brązowy vip - +2 do każdego atrybutu
srebrny vip - + 5 do każdego atrybutu
złoty vip +10 do każdego atrybutu

Załączone pliki

Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 07.12.2009

trzeba by stworzyc plik inc i natywy
Odpowiedz

  • +
  • -
patryk006 - zdjęcie patryk006 07.12.2009

a czy ktoś by się tego podjął ? ;>
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 08.12.2009

To mozesz dopisac kod do diablo ze jesli user ma dana flage np

M-zloty , N-srebrny , O-brazowy

to poprostu

player_inteligence(id) = player_inteligence(id) +5


I tak dla kazdego atrybutu nie wiem czy bedzie dzialac bo dopiero zaczynam pawna ale koncepcja jest mniej wiecej taka wiec moze ci ktos lepszy odemnie napisze to.


Oczywiscie wtedy plugin vip musisz dac na inna flage niz podstawowe i M,N,O zeby kazdy vip mial tez podstawowe przywileje.

Zeby dac vipa dajesz mu flage np P + M lub N lub O i masz vipa podstawowego + zlotego lub srebrnego lub brazowego
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 08.12.2009

Lub mozna wykozystac fakt, ze kazdy obiekt w grze (entity) w tym gracz, ma ok 255 "podrecznych" zmiennych i jak zgaduje conajmniej pare powinno byc nie uzywane :>

Nigdy nie bawilem sie w sprawdzanie co jest potrzebne a co nie w userze, ale ja bym oblukal:
EV_VEC_vuser1,
	EV_VEC_vuser2,
	EV_VEC_vuser3,
	EV_VEC_vuser4,
	EV_ENT_euser1,
	EV_ENT_euser2,
	EV_ENT_euser3,
	EV_ENT_euser4,
	EV_SZ_noise,
	EV_SZ_noise1,
	EV_FL_fuser3,
	EV_FL_fuser4

Lub inne... polecam uzycie m_eel do sprawdzania, jakby ktos chcial zrobic wieksze badania tego to by mozna zrobic maly toturial o tym [jak zawsze nie mam sam czasu na to :F ].
EV_SZ_noise2,
EV_SZ_noise3,
EV_BYTE_controller3,
EV_BYTE_controller4,
EV_BYTE_blending1,
EV_BYTE_blending2,
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 08.12.2009

No tak ale raczej wszyscy maja taka sytuacje jak ty miczu i sa zajeci a pozatym chyba latwiej moja koncepcje zrealizowac a nawet chyba szybciej tylko nie wiem czy do konca tak to powinno wygladac :D

EDIT

Jest cos takiego co sie nazywa

BoostStats

parametry to

(id,player_b_extrastats[id])


wiec domyslam sie ze wystarczy sprawdzic czy gosc ma dana flage o czym juz pisalem i jesli tak to wywolac na nim

player_b_extrastats[id] = 5
BoostStats(id,player_b_extrastats[id])

Tylko ew bedziesz musial jakos przechwycic id chyba ale mozesz sprobowac moze sie uda takie cos :D
Odpowiedz

  • +
  • -
patryk006 - zdjęcie patryk006 08.12.2009

a mógłbyś to skleić w całość ?? O:) (ten kawałek kodu)
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 08.12.2009

raczej nie dalbym rady gdzies bylo na forum o sprawdzaniu flag usera no to tam masz if'a

public vip(id){
 if ( get_user_flags(id) & ADMIN_FLAGE podaj tutaj )  {
player_b_extrastats[id] = 5
BoostStats(id,player_b_extrastats[id])
}
}

w sekcji

public client_putinserver(id)



dopisz na koncu
vip(id);

nie wiem moze zadziala tylko chyba do tego trzeba jeszcze eventa stworzyc.

aha no i to da gosciowi +5 do all statystyk zaraz po wejsciu na server (chyba :D przynajmniej takie bylo zalozenie)

PS
Jesli moglby to ktos sprawdzic kto sie zna na tym bo nie jestem pewien czy zadziala to
Odpowiedz

  • +
  • -
patryk006 - zdjęcie patryk006 09.12.2009

więc tak mam :
public vip(id){
 if ((get_user_flags(id) & ADMIN_LEVEL_D))  {
player_b_extrastats[id] = 5
BoostStats(id,player_b_extrastats[id])
}
}


dopisałem vip(id) do public client_putinserver(id) , niestety nie mam +5 do wszystkich (flage mam na pewno bo sprawdzałem)
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 09.12.2009

raczej wiedzialem ze to nie zadziala no ale trzeba probowac ...

spróbuj dodac do

public client_putinserver(id)

if ((get_user_flags(id) & ADMIN_LEVEL_D))  {
player_b_extrastats[id] = 5
BoostStats(id,player_b_extrastats[id]) 
}

lub ew. samo

if ((get_user_flags(id) & ADMIN_LEVEL_D))  {

BoostStats(id,5) 
}

czyli w zasadzie jak gosc pojawi sie na serverze to zostana dodane mu staty tylko nie wiem jak to dzialac bedzie bo gosc nie ma klasy od razu wiec pewnie trzeba sie odwolac do innego zdarzenia np kiedy gosc sie respi sprawdzac czy klasa != none i dawac staty tylko wtedy pewnie bedzie dostawal staty co runde :D
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 09.12.2009

Ale przy zmianie klasy, utracie itemu nastepuje czyszczenie wszystkich bonusow co sa z itemow... Radze zrobic to w inny sposob O:)
Odpowiedz

  • +
  • -
patryk006 - zdjęcie patryk006 09.12.2009

Ale można dodać od razu po zmianie klasy żeby dodawało ? i przy wywaleniu przedmiotu też będzie trzeba
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 09.12.2009

Miczu a powiedz czy kod moj jest dobry bo jesli tak to wystarczy w public client_putinserver
dodac

if ((get_user_flags(id) & ADMIN_LEVEL_D))  {
Player_inteligence[id] = player_inteligence[id] +5; 

}

Jesli to bedzie dzialac zawsze to dodac tylko do tego sile zrecznosc i zwinnosc
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 09.12.2009

G[o]Q, goq gracz wyjdzie ma inta x+5 wejdzie ma ina X+10 itp ;>
Po za tym, że dla każdej klasy jest inaczej i ci się wyzeruje jak zapytanie po klase pójdzie :)
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 09.12.2009

a no rzeczywiscie wiec trzeba chyba eventa stworzyc zeby sprawdzal czy gracz ma klase i wtedy daje staty a przed rozlaczeniem mu te staty odejmuje chociaz to chyba nie mozliwe jest
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 09.12.2009

chyba jest możliwe ;>
i nie trzeba eventów tworzyć, hę?
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 10.12.2009

mozna dac ze jak sie laczy to dostaje +5 i jak sie rozlacza to -5

i ewentualnie w dropitem dopisac zeby dodawalo mu +5 jesli to ma mu zresowac staty
Odpowiedz
Zablokowany