←  Poradniki, Łatki oraz Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
Ograniczenie RedBulla do 2 na runde

  • +
  • -
Pawex - zdjęcie Pawex 17.09.2010

Dołączona grafika
Witam, Zrobilem ogranicznik do 2 Uzyc Redbulla na runde.
Zrobilem, go poniewaz gdy sie go uzylo np. 4x w rundzie to po skoku spadalo sie 10 minut :o

Dołączona grafika
W sklepie zamieniamy to:
Spoiler

Na to:
Spoiler

I w lotto to samo, Tylko, ze tam jest to case 1.


Troche Pudru :P
Użytkownik Pawex edytował ten post 17.09.2010 18:59
Odpowiedz

hardbot - zdjęcie hardbot 17.09.2010

mogłeś to w spoilerze dodać jeszcze do [sma]
bo ten kod taki rozrzucony :)
Odpowiedz

  • +
  • -
Change - zdjęcie Change 17.09.2010

Lepiej zamiast grawitacje sprawdzać to dać zmienną x = 0 i przy kupieniu x += 1 , i sprawdzanie czy nie równa się np. 2. Bo jak ktoś chce sobie potem zmienić ilość grawitacji to i to musi zmieniać
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 17.09.2010

Change, ale nie ma itemka od grawitacji, a klasy i tak maja rowna, wiec po co?
Zmienic 2 linijki w case, naprawdę duuuuuuuuzo roboty :P
Odpowiedz

  • +
  • -
KSC21 - zdjęcie KSC21 18.09.2010

Plusik, zaraz sprawdzę czy działa ^^
Odpowiedz

  • +
  • -
ric0 - zdjęcie ric0 18.09.2010

Plusik :)
Odpowiedz

  • +
  • -
BoB0_ - zdjęcie BoB0_ 30.09.2010

Change mógłbyś to trochę dokładniej opisać, bo ten sposób mie nie działa. ;/
Odpowiedz

MaDaFaKa - zdjęcie MaDaFaKa 30.09.2010

BoB0_ znajdź:

new doswiadczenie_gracza[33];

Dodaj pod:

new kupiono[33] = 1

Potem w public PoczatekRundy() pod:

freezetime = false;

Dodaj:

kupiono[id] = false;

I zamień to:

case 3:
{
new koszt = 2000;
if (kasa_gracza<koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
return PLUGIN_CONTINUE;
}
cs_set_user_money(id, kasa_gracza-koszt);
set_user_gravity(id,get_user_gravity(id) - 0.3);
set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 RedBulla");
}

Na:

case 3:
{
new koszt = 2000;
if (kasa_gracza<koszt)
{
ColorChat(id,GREEN,"[SKLEP]^x01 Nie masz wystarczajacej ilosci pieniedzy.");
return PLUGIN_CONTINUE;
}
else if(kupiono[id] < 2){
cs_set_user_money(id, kasa_gracza-koszt);
set_user_gravity(id,get_user_gravity(id) - 0.3);
set_user_maxspeed(id,get_user_maxspeed(id) + 10.0);
ColorChat(id,GREEN,"[SKLEP]^x01 Kupiles^x03 RedBulla");
kupiono[id]++
}
else if(kupiono[id] == 2)
show_hudmessage(id, "Maksymalnie mozesz kupic redbulla 2x na runde!")
}

Użytkownik MaDaFaKa edytował ten post 30.09.2010 19:16
Odpowiedz

  • +
  • -
Paramon87 - zdjęcie Paramon87 01.10.2010

Fajne rozwiązanie, ale u mnie w ten sposób nie chce się skompilować, wyrzuca błąd nieznana zmienna id w:
kupiono[id] = false;

Ale dając to pod linijką :
set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);

Działa już zgrabnie...
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 01.10.2010

Spoiler


Tu zrobiles ze kupuje 1 redbulla zmien < na <=
Użytkownik Pawex edytował ten post 01.10.2010 17:37
Odpowiedz

  • +
  • -
BoB0_ - zdjęcie BoB0_ 02.10.2010

Pawex mam to zamienić w
else if(kupiono[id] < 2){
??

Mimo to nie chodzi wyskakują mi dwa błedy w kompilatorze.

Dodam że zamieniłem również kod w case 1 w sklepie odnoszące się do lotto. I z tym są własnie problemy.
Dokładniej dotyczą one tej oto linii : "else if(kupiono[id] < 2){"
error 029 : invalid expression, assumed zero

oraz 

error 001 : expected token ";" but found "if" 

Proszę o pomoc.
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 02.10.2010

Daj Kod swojego sklepu. A zmienic masz:
else if(kupiono[id] < 2)
Na to:
else if(kupiono[id] <= 2)
Odpowiedz

  • +
  • -
BoB0_ - zdjęcie BoB0_ 03.10.2010

Proszę.

Chciałbym jeszcze przerobić żeby w lotto było ograniczenie.

Załączone pliki

Odpowiedz

  • +
  • -
BoB0_ - zdjęcie BoB0_ 12.10.2010

Refresh.
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 12.10.2010

Nie musisz pisac 2 postow... W nowej zawartosci wyswietli sie, ze dopisales cos do posta czy cos.
Ograniczenie Lotto zrob sobie na podstawie postu madafaki, all Ci tam opisal.
Spoiler
Odpowiedz

  • +
  • -
BoB0_ - zdjęcie BoB0_ 13.10.2010

Dobra działa. Tylko musiałem dać

kupiono[id] = false;

pod

set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);.


I ograniczenie jest do 3 redbulli. Ale da się wytrzymać. Dzięki wielkie.
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 13.10.2010

Bo kazalem Ci zmienic to:
else if(kupiono[id] < 2){
Na to :
else if(kupiono[id] <= 2){
Odpowiedz

  • +
  • -
BoB0_ - zdjęcie BoB0_ 13.10.2010

I tak też zrobiłem.
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 14.10.2010

To zastosuj moj sposob.
Odpowiedz

  • +
  • -
Jamdzam - zdjęcie Jamdzam 29.06.2012

ja sobie przerobilem troszke i mam 2 redbulle na runde ;D
Odpowiedz