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

[ROZWIĄZANE] dodawanie pkt stat w zależności od lvla


  • Zamknięty Temat jest zamknięty
15 odpowiedzi w tym temacie

#1 Blue12

    Pomocny

  • Zbanowany

Reputacja: 1
Nowy

  • Postów:42
  • Imię:Leszek
  • Lokalizacja:KUpa
Offline

Napisano 25.01.2012 20:05

Witam. Mam pytanie czy da się zrobić tak aby np. do 40lvla można było rozdać 40pkt do np. siły
potem do 80lvla 80pkt itd?

#2 arek_snk

    Zaawansowany

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:104
  • Lokalizacja:CS
Offline

Napisano 26.01.2012 02:29

  case 1:
{
if(player_lvl[id]<40 && player_strength[id]<40)
player_point[id]-=1
player_strength[id]+=1
}
else if(player_lvl[id]<80 && player_strength[id]<80)
player_point[id]-=1
player_strength[id]+=1
}
else client_print(id,print_center,"Maxymalny poziom sily osiagniety")
}


chyba dobrze, w razie w daj znać.
  • +
  • -
  • 2

#3 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

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

Napisano 26.01.2012 13:27

  case 1:
{
if(player_lvl[id]<40 && player_strength[id]<40){
player_point[id]-=1
player_strength[id]+=1
}
else if(player_lvl[id]<80 && player_strength[id]<80){
player_point[id]-=1
player_strength[id]+=1
}
else client_print(id,print_center,"Maxymalny poziom sily na ten lvl osiagniety")
}


:F
  • +
  • -
  • 2

#4 arek_snk

    Zaawansowany

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:104
  • Lokalizacja:CS
Offline

Napisano 26.01.2012 20:29

@Up czego kopiujesz mój post? chcesz pójść do więzienia?
ACTA..

^.^
PS: Skopiowałeś to samo co ja napisałem tylko zmieniłeś info lol ;P
  • +
  • -
  • 3

#5 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 26.01.2012 20:34

@Up czego kopiujesz mój post? chcesz pójść do więzienia?
ACTA..

^.^
PS: Skopiowałeś to samo co ja napisałem tylko zmieniłeś info lol ;P

Zobacz jeszcze raz dokładnie.
U Ciebie brakuje klamer.
  • +
  • -
  • 1

#6 arek_snk

    Zaawansowany

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:104
  • Lokalizacja:CS
Offline

Napisano 26.01.2012 21:05

A no sorry zjadłem :D
  • +
  • -
  • 2

#7 Blue12

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:42
  • Imię:Leszek
  • Lokalizacja:KUpa
Offline

Napisano 27.01.2012 19:26

A da radę zrobić że..
1.Gdy gracz ma mniejszy niż 40lvl i rozdane 40 pkt to wyświetli mu napis "Musisz wbić 40lvl+ żeby dodać więcej pkt" a gdy wbije 40+ i rozda 80pkt to "Maksymalny poziom sily na ten poziom osiagniety"?
2.Czy można przerobić warunek
else if(player_lvl[id]<80 && player_strength[id]<80)
tak że gracz musi mieć większy lvl od 40 a mniejszy od 80?

#8 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

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

Napisano 27.01.2012 21:54

2. no to to jest zawarte właśnie dzięki warunkowi "elseif"
  • +
  • -
  • 1

#9 Blue12

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:42
  • Imię:Leszek
  • Lokalizacja:KUpa
Offline

Napisano 27.01.2012 22:05

Z tego jeżeli dobrze rozumiem to jak będzie miał gracz 40pkt danych w siłe to przechodzi do else if i wtedy jak np. ma 25lvl to ma <80 i <80pkt i będzie mógł dodawać czyli nei ma zabezpieczenia na >40 lvl. No chyba że źle to zrozumiałem.

Użytkownik Blue12 edytował ten post 27.01.2012 22:05


#10 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

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

Napisano 27.01.2012 22:39

źle :)

jak ma lvl mniejszy od 40 i mniej niz 40 pkt w statystyke, to dodaje

a jak nie, to sprawdza czy gracz ma mniejszy lvl i staty od 80 :)

ogolnie jest ok kod
  • +
  • -
  • 1

#11 arek_snk

    Zaawansowany

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:104
  • Lokalizacja:CS
Offline

Napisano 27.01.2012 22:57

Już tłumaczę

  case 1:
{
if(player_lvl[id]<40 && player_strength[id]<40){
player_point[id]-=1
player_strength[id]+=1
}
else if(player_lvl[id]<80 && player_strength[id]<80){
player_point[id]-=1
player_strength[id]+=1
}
else client_print(id,print_center,"Maxymalny poziom sily na ten lvl osiagniety")
}


if(player_lvl[id]<40 && player_strength[id]<40){

Ta linijka oznacza że jeżeli (if), gracz ma poniżej 40 levela (player_lvl[id]<40) może dodać maksymalnie 40 pkt do statystyk (player_strength[id]<40)

< = Mniej niż
> = więcej niż
== = Jest równy
= = ustawia daną wartość na inną np player_class[id] = Ninja (ustawia klasę na ninja)

natomiast ta linijka
else if(player_lvl[id]<80 && player_strength[id]<80){
oznacza że jeżeli gracz ma większy niż 40 level ale mniejszy od 80 lvla (else if(player_lvl[id]<80), będzie w stanie dodać więcej punktów niż 40 ale mniej niż 80 (player_strength[id]<80)

Tutaj też jest mały problem w tym bo jeżeli gracz będzie miał większy level niż 80 będzie mógł dodawać ile chce statystyk jeżeli chcesz temu zapobiec zmień to na tak:

else if(player_lvl[id]>40 && player_strength[id]<80){

wtedy gracz gdy będzie miał większy level niż 40 to będzie mógł dodać maksymalnie 80 pkt do danej statystyki, nawet jak będzie miał 150 czy 3000 level.


w tym przypadku else if = więcej niż 40 level.

Nie wiem czy opisałem to dobrze, ale ja tak to rozumie :D

Użytkownik arek_snk edytował ten post 27.01.2012 23:01

  • +
  • -
  • 1

#12 Blue12

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:42
  • Imię:Leszek
  • Lokalizacja:KUpa
Offline

Napisano 27.01.2012 23:05

nie wiem czemu ale mi to jakoś nie pasuje xD
bo jak gracz ma mniejszy lvl od 40 a staty = 40 to wyśle go do else if
it tam sprawdzi i wyjdzie że ma mniejszy od 80 i mniej pkt niż 80 xD

#13 arek_snk

    Zaawansowany

  • Użytkownik

Reputacja: 13
Początkujący

  • Postów:104
  • Lokalizacja:CS
Offline

Napisano 27.01.2012 23:28

mi też właśnie coś nie pasuje jak tak patrzyłem bo mnie zamotałeś całkiem, ale jeżeli on mówi że all działa to git :)
  • +
  • -
  • 1

#14 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

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

Napisano 28.01.2012 09:36

nie mam jakoś szczerze mówiąc z rana głowy żeby się nad tym zastanowić ale chyba macie racje. Poprawiony kod z zabezpieczeniami.
  case 1:
{
if(player_lvl[id]<40 && player_strength[id]<40){
player_point[id]-=1
player_strength[id]+=1
}
else if(player_lvl[id]<40 && player_strength[id]>=40)
{
player_strength[id] = 40
client_print(id,print_center,"Musisz wbic 40 lvl+ zeby dac wiecej w staty")
}
else if(player_lvl[id]<80 && player_lvl[id]>=40 && player_strength[id]<80){
player_point[id]-=1
player_strength[id]+=1
}
else client_print(id,print_center,"Maxymalny poziom sily na ten lvl osiagniety")
}


PS: tak ,sprawdziłem, wystarczy zmienić warunek na player_lvl >=41, ale tak lepiej wyświetli komunikaty :)

@edit: poprawka na wypadek itemu dodającego do siły ;)

Użytkownik Nakupenda. edytował ten post 28.01.2012 11:36

  • +
  • -
  • 1

#15 Blue12

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: 1
Nowy

  • Postów:42
  • Imię:Leszek
  • Lokalizacja:KUpa
Offline

Napisano 28.01.2012 11:28

Teraz miodzio dzięki :)

#16 Ojciec Dyrektor

    papa smerf.

  • Przyjaciel

Reputacja: 477
Wszechobecny

  • Postów:3 035
  • Imię:Paweł
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 28.01.2012 18:36

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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