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
- - - - -

random_gun


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

#1 FakeNick

    Zaawansowany

  • Użytkownik

Reputacja: 52
Pomocny

  • Postów:115
  • GG:
  • Lokalizacja:Słupca
Offline

Napisano 02.07.2008 19:42

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


  • +
  • -
  • 0

#2 MafiaDL

    Naj-Najstarszy Moderator

  • Przyjaciel

Reputacja: 561
Wszechwiedzący

  • Postów:3 492
  • GG:
  • Imię:Łukasz
  • Lokalizacja:Warsaw
Offline

Napisano 02.07.2008 19:51

No ładnie ładnie ;)

popraw tylko 5. Moduły do oblokowania na 5. Moduły do odblokowania
  • +
  • -
  • 0

#3 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 02.07.2008 20:06

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...
  • +
  • -
  • 0

#4 Abes Mapper

    Repulsion Gel

  • Przyjaciel

Reputacja: 2 017
Godlike

  • Postów:7 356
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Sulejówek
Offline

Napisano 02.07.2008 20:13

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
  • +
  • -
  • 0

#5 FakeNick

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 52
Pomocny

  • Postów:115
  • GG:
  • Lokalizacja:Słupca
Offline

Napisano 02.07.2008 20:15

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

#6 Salamon

    Profesjonalista

  • Użytkownik

Reputacja: 43
Pomocny

  • Postów:199
Offline

Napisano 02.07.2008 20:35

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
  • +
  • -
  • 0

#7 Abes Mapper

    Repulsion Gel

  • Przyjaciel

Reputacja: 2 017
Godlike

  • Postów:7 356
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Sulejówek
Offline

Napisano 02.07.2008 20:37

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
  • +
  • -
  • 0

#8 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 02.07.2008 21:55

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 ^^
  • +
  • -
  • 0

#9 FakeNick

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 52
Pomocny

  • Postów:115
  • GG:
  • Lokalizacja:Słupca
Offline

Napisano 02.07.2008 23:10

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" ;].
  • +
  • -
  • 0

#10 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.07.2008 08:52

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 ;-)
  • +
  • -
  • 0

#11 FakeNick

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 52
Pomocny

  • Postów:115
  • GG:
  • Lokalizacja:Słupca
Offline

Napisano 03.07.2008 10:47

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.
  • +
  • -
  • 0

#12 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.07.2008 11:15

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
}

  • +
  • -
  • 0

#13 FakeNick

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 52
Pomocny

  • Postów:115
  • GG:
  • Lokalizacja:Słupca
Offline

Napisano 03.07.2008 11:39

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

#14 Salamon

    Profesjonalista

  • Użytkownik

Reputacja: 43
Pomocny

  • Postów:199
Offline

Napisano 03.07.2008 12:03

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")
 }

  • +
  • -
  • 0

#15 FakeNick

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 52
Pomocny

  • Postów:115
  • GG:
  • Lokalizacja:Słupca
Offline

Napisano 03.07.2008 13:08

Dziękuję Salamon za pomoc, kolejny + dla Ciebie.
  • +
  • -
  • 0

#16 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.07.2008 14:40

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 ^.^
  • +
  • -
  • 0

#17 FakeNick

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 52
Pomocny

  • Postów:115
  • GG:
  • Lokalizacja:Słupca
Offline

Napisano 03.07.2008 14:52

Przydałoby się ;).
W moim jest :D.
  • +
  • -
  • 0

#18 Valter

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:17
  • GG:
Offline

Napisano 04.10.2008 12:00

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?
  • +
  • -
  • 0




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

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