←  Pluginy AMXX

AMXX.pl: Support AMX Mod X i SourceMod

»

random_gun

  • +
  • -
FakeNick - zdjęcie FakeNick 02.07.2008

1. Nazwa plugin'u : random_gun
2. Opis :

Dzięki mojemu plugin'owi gracze po wpisaniu komendy /gun tracą wszystkie bronie i biorą udział w losowaniu tychże. Losować można 1 raz na rundę.
Do wygrania są nagrody jak i "niespodzianki" :
Nagrody :
~glock18
~usp
~awp
~m4a1
~ak41
~wszystkie granaty + 4000 kasy
~m4a1+granaty+deagle+ammo (full zestaw)
Niespodzianek nie ujawnię ;].

3. Komendy :
/gun - po wpisaniu tej komendy gracz bierze udział w losowaniu
4. Cvary :
random_gun (domyślnie 1) - włącza/wyłącza plugin
random_gun_glock (domyślnie 1) -  włącza/wyłącza glock18 z/do losowania
random_gun_usp (domyślnie 1) -  włącza/wyłącza usp z/do losowania
random_gun_m4a1 (domyślnie 1) -  włącza/wyłącza m4a1 z/do losowania
random_gun_ak47 (domyślnie 1) -  włącza/wyłącza ak47 z/do losowania
random_gun_awp (domyślnie 1) -  włącza/wyłącza awp z/do losowania
random_gun_full (domyślnie 1) -  włącza/wyłącza full zestaw z/do losowania
random_gun_nades (domyślnie 1) -  włącza/wyłącza granaty z/do losowania
random_gun_knife (domyślnie 1) -  włącza/wyłącza niespodziankę I z/do losowania
random_gun_slap (domyślnie 1) -  włącza/wyłącza niespodziankę II z/do losowania
5. Moduły do odblokowania : cstrike,fun
6. Typ serwera, na jaki plugin pasuje : 4FUN
7. Modele : Brak.
8. Screeny :
Brak.
9. Dokładny opis instalacji :
plik random_gun.amxx wrzucamy do ./amxmodx/plugins/ 
plik random_gun.sma wrzucamy do ./amxmodx/scripting/ 
do pliku amxx.cfg dopisujemy podane wyżej cvar'y
sound'y wrzucamy do sound/misc
Temat wygenerowany przez generator tematów by FakeNick.

Changelog

ver. 1.0
~Plugin ujrzał światło dzienne ;].

ver. 1.1
~Kilka zmian kosmetycznych i optymalizacja kodu plugin'u.
~Nie ma już problemu z kompilowaniem w internecie.

ver. 1.2
~Plugin został całkowicie przebudowany, nie ma już problemu z losowaniem po wyłączeniu niektórych nagród.

Załączone pliki

Odpowiedz

  • +
  • -
MafiaDL - zdjęcie MafiaDL 02.07.2008

No ładnie ładnie ;)

popraw tylko 5. Moduły do oblokowania na 5. Moduły do odblokowania
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 02.07.2008

strip[31]=false
Znowu ten blad ;>

To nie jest deklaracja dla wszystkich graczy tylko dla 31 elementu tablicy czyt. gracza o id 31...

new strip[32]

Gdy bedzie plug na serwerze z max 32 graczami bedzie crash. Id graczy zaczyna sie od 1 do 32, a w deklaracji twojej masz 32 miejsca, tylko ze z numeracja od 0 do 31...
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 02.07.2008

Niespodzianek nie ujawnię ;].


random_gun_knife (domyślnie 1) - włącza/wyłącza niespodziankę I z/do losowania
random_gun_slap (domyślnie 1) - włącza/wyłącza niespodziankę II z/do losowania


I tu właśnie je ujawniłeś :P
Odpowiedz

  • +
  • -
FakeNick - zdjęcie FakeNick 02.07.2008

Hmm, niby tak, ale trzeba je ujrzeć w działaniu, żeby pojąć ich dokładne działanie ;].
I nie OT'uj, czekam na oceny ;).
Odpowiedz

  • +
  • -
Salamon - zdjęcie Salamon 02.07.2008

fake, jezeli nie poprawisz tego o czym mowi miczu temat czeka jedno miejsce...

poza tym piszesz pluga ciezka reka:

zamiast dac bron i 5 razy po naboju mozesz ustawic raz ilosc zapasowych naboi co oszczedza wielkosc kodu

cs_set_user_money(player,cs_get_user_money(player)-cs_get_user_money(player))
po co to? wystarczy cs_set_user_money(id, 0)

poza tym napisales w opisie ze jedna opcja jest granaty + 4k kasy, ja widze granaty I 4k kasy, widzisz roznice?
cs_set_user_money(player,4000)

na dodatek, nie pisze sie, if(strip[id] == false/true) tylko:
if(strip[id]) idzie dalej jezeli wartosc strip to true

if(!strip[id]) idzie dalej jezeli wartosc strip to false

nastepna rzecz, jezeli wylosujemy np glocka, a jest on wylaczony to nic nie robi, zle to zrobiles
Odpowiedz

  • +
  • -
Abes Mapper - zdjęcie Abes Mapper 02.07.2008

Ja tylko stwierdzam fakty ;)


A plugin fajny ;-) Podoba mi się ;-) Fajniej by było gdyby było więcej niespodzianek i jakiś dodatków ^^
Tylko czasami jak wpisuje /gun to nie działa :P

//to jest wlasnie to o czym napisalem na samym koncu swojego posta / Salamon
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 02.07.2008

Dobra mam nadzieje ze nie pomyle terminow O:)

No wiec True i False to sa enum (tekst odpowiadajacy cyfrze i na odwrot - np. w dbmodzie if(klass[id]==Ninja) zamiast ==7 [nie ma " " bo to nie jest ciag znakow])

Wiec mimo ze ladniej i czytelniej wyglada True i False, mozna stosowac tylko 0 dla false i 1 dla true.

A przechodzac do sedna sprawdy... W pawn'ie w przeciwienstwie do C, przy deklarowaniu zmiennej, jest ona automatycznie zerowana. I to tylko to cie ratuje przed blednym zapisem cos[31]= false ^^
Odpowiedz

  • +
  • -
FakeNick - zdjęcie FakeNick 02.07.2008

Jestem początkującym programistą i tylko człowiekiem, więc niemożliwym jest pojmowanie (od razu) wszystkiego.

na dodatek, nie pisze sie, if(strip[id] == false/true

Przepraszam za to, wcześniej zajmowałem się PHP i jakieś przyzwyczajenia pozostały ;).
Kod poprawię. Dziękuję za zaraportowanie błędów w kodzie ;).
Zauważyłem również, iż mówicie o samym kodzie a nic o plugin'ie jako całości ;).

A plugin fajny ;-) Podoba mi się ;-) Fajniej by było gdyby było więcej niespodzianek i jakiś dodatków ^^
Tylko czasami jak wpisuje /gun to nie działa :P

Na pewno w przyszłości rozwinę jeszcze ten plugin.

Edit - 3.07.2008 godz. 00:30
Kod poprawiłem, jutro go przetestuję.
Miczu - zostałem jednak przy wersji z "false" i "true" ;].
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 03.07.2008

Miczu - zostałem jednak przy wersji z "false" i "true" ;].


Spoko, ja tylko napisalem dlugi wstep do tego, ze zmienne przy deklarowaniu sa zerowane - maja wartosc False ;-)
Odpowiedz

  • +
  • -
FakeNick - zdjęcie FakeNick 03.07.2008

BTW. Dziękuję za pomoc i cenną lekcję o zmiennych :).
Miczu, Salamon - leci pomógł :).

Edit
Poprawiłem do końca kod, macie w pierwszym poście.
BTW. Nie ma już problemu z kompilacją za pomocą kompilatora internetowego.
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 03.07.2008

strip[32]=false
xD

Dobra napiszmy to jeszcze raz...

Jak robisz deklaracje

new strip[33]

To zostaje stworzona tablica 33 alementowa, o onumeracji od 0 do 32.
Jak dajesz polecenie:

strip[32]=1 // jak juz mowilem reszta jest zerowana przy deklaracjie to
strip[0]==0;strip[1]==0;strip[2]==0; strip[3]==0;strip[4]==0;strip[5]==0;strip[6]==0; strip[7]==0;strip[8]==0;strip[9]==0;strip[10]==0;strip[11]==0;strip[12]==0; strip[13]==0;strip[14]==0;strip[15]==0;strip[16]==0;strip[17]==0;strip[18]==0;strip[19]==0;strip[20]==0; strip[21]==0;strip[22]==0;strip[23]==0;strip[24]==0;strip[25]==0; strip[26]==0;strip[27]==0;strip[28]==0;strip[29]==0;strip[30]==0;strip[31]==0;
i dopiero
strip[32]==1

Mam nadzieje ze w koncu to zrozumiesz ;>

Jesli chcesz poprawnie wyzerowac cala tablice zastosuj cos takiego:
for(new i=0;i<33;i++){
    strip[i]=0
}
Odpowiedz

  • +
  • -
FakeNick - zdjęcie FakeNick 03.07.2008

Usunąłem tą sporną i zbędną linijkę kodu, bez niej plugin też działa poprawnie ;).
Odpowiedz

  • +
  • -
Salamon - zdjęcie Salamon 03.07.2008

miczu nie rob ciag znakow ze sie forum na kilometr szerokosci rozjezdza ^.^

dalej jest zle zakodowany plugin w sposobie wybierania nagrody, ja ci proponuje cos takiego

func_gun(player)
{
 if(get_pcvar_num(random_gun)
 {

  if(!strip[player])
  {

  switch( random_num( 1, 9 ) )
  {
           case 1:
           {
                    if(get_pcvar_num(random_gun_glock))
                    {
                                        //bonus
                    }
                    else
                    {
                                        func_gun(player) // jezeli jest wylaczony akurat glock, spowrotem robi losowanie a nie jak w twoim przypadku nic nie robi
                    }
           case 2:
           {
                                        //drugi case itd
           }
  }
  }
  else
  {
 client_print(player, print_chat, "juz uzyl")
  }
 }
 else
 {
 client_print(player, print_chat, "plugin wylaczony")
 }
Odpowiedz

  • +
  • -
FakeNick - zdjęcie FakeNick 03.07.2008

Dziękuję Salamon za pomoc, kolejny + dla Ciebie.
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 03.07.2008

Salamon, Ja mam opere i nic mi sie nie rozjechalo :]

Salamon, Przydalo by sie w twoim godzie is_user_alive no chyba ze mozna wylosowac glocka bedąc trupem ^^

//niestety nie wszyscy sa na tyle glupi by uzywac opery ^.^ poza tym dalem przyklad tylko nie gotowe rozwiazanie ^.^
Odpowiedz

  • +
  • -
FakeNick - zdjęcie FakeNick 03.07.2008

Przydałoby się ;).
W moim jest :D.
Odpowiedz

  • +
  • -
Valter - zdjęcie Valter 04.10.2008

mi nie działa ten plugin wgrałem go wszystko dobrze res serva zrobiłem i co runde pisze Na tym serverze dziala plugin by FakeNick powiedz /gun i zaczniesz loswanie cos takiego wpisuje /gun w say'u i nic się nie dzieje :/ ocb?
Odpowiedz