←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Sklep Cod Mod - kupno raz na rundę

  • +
  • -
RxRow - zdjęcie RxRow 13.01.2013

Jak zrobić, by daną rzecz w sklepie można było kupić raz na rundę? Chodzi mi o to, by w tym sklepie: http://amxx.pl/topic...-by-nothing-10/ raz na rundę mogło się kupić niewidzialność na 10s i nieśmiertelność na 10 s

PS. Na forum nie znalazłem tego. Było to, ale w każdym temacie było źle opisane to zrobienie.
Odpowiedz

  • +
  • -
radim - zdjęcie radim 13.01.2013

Zastosuj zmienne bool (true/false). W momencie kupna czegoś, ustaw zmienną na true, i ustaw aby się resetowała znów na false przy nowej rundzie. Do tego przy każdym kupnie sprawdzaj, jeżeli zmienna jest false to blokuj wykonywanie daleszj części kodu i jednocześnie aby wyświetliło wiadomość w stylu "Możesz kupować ran na rundę"
Odpowiedz

  • +
  • -
RxRow - zdjęcie RxRow 14.01.2013

czy mógłbyś opisać ten sposób typu:

w zmiennych dajemy:
kupno[id];


??
Odpowiedz

  • +
  • -
RxRow - zdjęcie RxRow 16.01.2013

ref@
Odpowiedz

  • +
  • -
RxRow - zdjęcie RxRow 19.01.2013

ref.
Odpowiedz

  • +
  • -
Vasto_Lorde - zdjęcie Vasto_Lorde 19.01.2013

A więc jak zrobić z nieśmiertelnością:
Do zmiennych globalnych (czyli po include'ach wszystkich) dodajesz zmienną. Przykład:
#include <ColorChat>

#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)

new bool: kupil_niesmiertelnosc[33];

new bool:norecoil[33], bool:autobh[33];
Dalej, tam gdzie kupujesz niesmiertelnośc, czyli Sklep_Handler zamieniasz case 11 z:
case 11:
{
if(kasa >=10000)
{
set_user_godmode(id,1)
set_task(10.0,"endGodmode",id);
ColorChat(id, GREEN, "[COD:MW] Jestes niesmiertelny przez 10s!");
cs_set_user_money(id, kasa-10000);
}
if(kasa < 10000)
client_print(id, print_chat, "[COD:MW] Zapomnij, masz za malo hajsu!");
}
na:
case 11:
{
if(kasa >=10000)
{
if(kupil_niesmiertelnosc[id]){
ColorChat(id, GREEN, "[COD:MW] Kupiles juz w tej rundzie niesmiertelnosc!");
return PLUGIN_CONTINUE;
}
kupil_niesmiertelnosc[id]=true;
set_user_godmode(id,1)
set_task(10.0,"endGodmode",id);
ColorChat(id, GREEN, "[COD:MW] Jestes niesmiertelny przez 10s!");
cs_set_user_money(id, kasa-10000);
}
if(kasa < 10000)
client_print(id, print_chat, "[COD:MW] Zapomnij, masz za malo hajsu!");
}
A do Koniec_Rundy dodajesz kupil_niesmiertelnosc[id]=false; czyli:
public Koniec_Rundy(){
for(new i =1;i<33;i++){
kupil_niesmiertelnosc[id] = false;
norecoil[i] = false;
autobh[i] = false;
}
}
I tak zrób z niewidzialnością.
Odpowiedz