←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodatek
Real item drop

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

Hmm moze komus sie przyda opisze jak zrobic zeby itemy wypadaly po smierci/dropie.Jest to zrobione w dosc prosty sposob wiec moga pojawic sie bledy aczkolwiek ja zadnych nie zaobserwowalem.

1: dodajemy gdzies przed

public plugin_init()

nastepujacy kod:

new cel // do pokazywania statusu
new item_info[513] //id itemu  
new item_name[513][128] //nazwa itemu
new const modelitem[]="models/winebottle.mdl" //tutaj zmieniacie model itemu

2. Teraz pora zadbac o to zeby model sie pobral wiec w
public plugin_precache()
dodajemy:

precache_model(modelitem)

3. Teraz stworzymy funkcje tworzace objekt oraz odpowiedzialne za jego dotkniecie i status. wiec ta czesc kodu wrzucamy na koniec:

Spoiler


4. Wywolanie statusu, na koncu prethinka wrzucamy ten oto kod:
        new body 
	get_user_aiming(id, cel, body)
	if( is_user_alive(id)) itminfo(id,cel)

5. Teraz wystarczy wywolac funkcje tworzaca item w odpowiednich momentach:
a) podmieniamy

award_item(kid,0)

na :
create_itm(vid,0,"losowy item")
w funkcji
public DeathMsg(id)

B) w funkcji
public dropitem(id)

przed

player_item_id[id] = 0

wklejamy:

create_itm(id,player_item_id[id],player_item_name[id])

usuwajac z tej funkcji
award_item...

6. Teraz dodajemy do

public RoundStart()

na koncu:

kill_all_entity("przedmiot")

zeby wszystkie itemy z poprzedniej rundy znikaly w rundzie kolejnej


moj plik modelu Załączony plik  winebottle.rar   6,55 KB   268 Ilość pobrań wrzucacie do

cstrike/models

Odpowiedz

  • +
  • -
SzukamProDM - zdjęcie SzukamProDM 06.05.2010

Troche nie kminie...:X nie chodzi o dodanie itd... ale o sama funkcje, ten kod daje ze jak kogos sie zabije to item nie "wlatuje" od razu do Ciebie tylko musisz go zebrac z ziemi??
Odpowiedz

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

ta
Odpowiedz

Screeaam... - zdjęcie Screeaam... 06.05.2010

"usuwajac z tej funkcji

award_item..."

Yyy.. Że jak?

6 Errorów.
Odpowiedz

  • +
  • -
M4G!K - zdjęcie M4G!K 06.05.2010

A czy można by było zrobić, by przedmiot, który wypadł z osoby zabitej, mogłaby podnieść tylko osoba, która ją zabiła?
Oraz (w co bardzo wątpię, ale nie zaszkodzi się spytać) czy model przedmiotu, który wypadł z osoby zabitej mógłby być widoczny tylko dla osoby, która ją zabiła?

Z góry dziękuję.
Odpowiedz

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

mozna zrobic to pierwsze a to drugie nie jestem pewien ale chyba mozna to zrobic uzywajac odpowiedniej message :/
Odpowiedz

Screeaam... - zdjęcie Screeaam... 06.05.2010

Dobra, nie wiem, czy tylko u mnie ale, trzeba kucnąć i wejść na item, żeby zebrać, da się zrobić, aby nie kucać? I jak ktoś stanie na butelce, to go niekiedy blokuje i nie może się ruszyć.
Odpowiedz

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

po to jest kucanie zeby nie podniesc przypadkiem itemu np gdy idziemy tylem

if(!player_item_id[id] && pev(id,pev_button)& IN_DUCK)

na
if(!player_item_id[id])
Odpowiedz

Screeaam... - zdjęcie Screeaam... 06.05.2010

A jak zrobić, aby tylko ten co zabił gościa mógł podnieść item, ale po np. 7 sekundach mogli już wszyscy?

Po drugie da sie itemy zbugowac, wyrzucasz, item miał 6 wytrzymałości, wyrzucasz, zbierasz i już ma max . :/

I upgradują się same...
Użytkownik Screeaam... edytował ten post 06.05.2010 14:22
Odpowiedz

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

pisalem ze to prosty sposob wiec nie robilem przechowywania poziomu bo tablica musiala by byc wieeeeelo wymiarowa zeby wszystkie umiejetnosci przechowac :D

ale mozna zrobic tak ze jak wyrzucisz item to nie mozesz go podniesc :D
Odpowiedz

Screeaam... - zdjęcie Screeaam... 06.05.2010

Jak? xD

@Edit:

Nawet fajny ten bimber mod. Ale u mnie na serwie się plują bo:

-Bugują się itemy. (Jak zrobić aby nie mogli brać?)
-No i każdy może zebrać (Jak zrobić, aby tylko zabijający mógł zebrać a po 7 sekundach ktoś inny?)
Użytkownik Screeaam... edytował ten post 06.05.2010 14:31
Odpowiedz

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

dorobic 1 wymiar do tablicy item_info i tam przechowywac id pierwszego ktory dotknal itemu potem blokowac toucha jesli id = item_info[ent][1]
Odpowiedz

Screeaam... - zdjęcie Screeaam... 06.05.2010

Czyli nowa zmienna... Nie kapuje, :/
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 06.05.2010

set_pev(Ent, pev_owner, id)
w touchu pev(Ent, pev_owner), if (id == owner) podnies()
Odpowiedz

  • +
  • -
Dave12 - zdjęcie Dave12 06.05.2010

dzięki na to czekałem

tylko tak gdzie dokładnie wkleić to kill_all_entity("przedmiot") bo wydaje mi sie ze dalem na koncu i nie znikaja w next rundzie... mogę dać z przodu round start ?

jak zrobic ze gdy wpiszemy /drop to item znikal a nie pojawia sie znowu butelka
Odpowiedz

Screeaam... - zdjęcie Screeaam... 06.05.2010

Możesz dodać na początku roundstartu.
Odpowiedz

  • +
  • -
Dave12 - zdjęcie Dave12 06.05.2010

dobra już mi znikają w next rundzie

tylko jeszcze dało by się zrobić ze jak ct zabije tt to od tego zabitego terrorysty mogą wziąć butelke tylo anty terrorysci i na odwrot ?
Odpowiedz

  • +
  • -
M4G!K - zdjęcie M4G!K 06.05.2010

G[o]Q, a mógłbyś mi to zrobić? Tzn. jeżeli nie da się zrobić tak, że model przedmiotu jest widoczny dla osoby, która zabiła tego gracza to żeby po prostu tylko ona mogła go podnieść.

Z góry bardzo Ci dziękuję.
Odpowiedz

  • +
  • -
Dave12 - zdjęcie Dave12 06.05.2010

Moim zdaniem ważniejsze jest żeby zrobić takie coś gdy wyrzucamy item to żeby znikał a nie pojawia się butelka ponieważ:

-można tak naprawiać itemy
-gryzie się z opcją /daj (dajemy komuś item to od nas się wyrzuca i znowu go podnosimy można tak kopiować i cały serw ma stalkera)

Więc proszę żeby ktoś kto wie jak to zrobić napisał jak ^^
Odpowiedz

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

Moim zdaniem ważniejsze jest żeby zrobić takie coś gdy wyrzucamy item to żeby znikał a nie pojawia się butelka ponieważ:

-można tak naprawiać itemy
-gryzie się z opcją /daj (dajemy komuś item to od nas się wyrzuca i znowu go podnosimy można tak kopiować i cały serw ma stalkera)

Więc proszę żeby ktoś kto wie jak to zrobić napisał jak ^^



omin punkt 5b
Odpowiedz