Skocz do zawartości

switche i case'y


pio_trek

Rekomendowane odpowiedzi

wytlumaczcie mi co tu nietak robie gdy mialem 3 casy'e to wszystko chulalo a gdy mam 5 juz niedziala i gdy tam zeby sprawdzilo kod wlasnie na dwa ostatnie przesuwa sie ekran :angry:

 

message_background(b_sklep);
message_button(sprite_przyciski_sklep);

if keyboard_check(vk_enter) && distance_to_object(o_bohater)<16
{
  switch (show_message_ext("Witam.#U mnie kupisz i sprzedaz amunicje do Twojej bazooki","K Bazooka","S Bazooka","K Granaty","S Granaty","Dowidzenia")) 
  {
    case 1:
    {
      show_message("1 pocisk do bazooki kosztuje 50$.");
      buy=get_integer("Ile chcesz?",0);
      if buy<=0
      {
        show_message("Nic ?, OK nara!");
      }
      else
      {
        if show_question("Czy chcesz kupic "+string(buy)+" pocisk/-i?")=true
        {
          price=buy*50;
          if global.kasa<price
          show_message("Sorry, niemasz wystarczajaco kasy.");
          else
          {
            global.ammo2+=buy;
            global.kasa-=price;
            show_message("Trzymaj!");
          }
        }
      }
    }
    break;
    case 2:
    {
      show_message("Kupuje pociski do bazooki po 25$.")
      sell=get_integer("Ile chcesz sprzedac pociskow?",0)
      if sell<=0
      {
        show_message("Nic ?, to dowidzenia!");
      }
      else
      {
        if show_question("Czy chcesz sprzedac "+string(sell)+" pocisk/-i?")=true
        {
          if global.ammo2<sell
          show_message("Niemasz tyle amunicji.");
          else
          {
            global.ammo2-=sell
            global.kasa+=sell*25
            show_message("Trzymaj kase!")
          }
        }
      }
    }
    break;
    case 3:
    {
      show_message("1 granat kosztuje 80$.");
      buy=get_integer("Ile bierzesz?",0);
      if buy<=0
      {
        show_message("Zero ?, to uciekaj!");
      }
      else
      {
        if show_question("Czy chcesz kupic "+string(buy)+" granat/-y?")=true
        {
          price=buy*80;
          if global.kasa<price
          show_message("Twoj majatek niepokryje tych wydatkow!");
          else
          {
            global.ammo4+=buy;
            global.kasa-=price;
            show_message("Bierz!");
          }
        }
      }
    }
    break;
        case 4:
    {
      show_message("Kupuje granaty 40$.")
      sell=get_integer("Ile chcesz sprzedac granatow?",0)
      if sell<=0 
      {
        show_message("Nic ?, to spadaj!");
      }
      else
      {
        if show_question("Czy chcesz sprzedac "+string(sell)+" granat/-y?")=true
        {
          if global.ammo4<sell 
          show_message("Niemasz tyle granatow.");
          else
          {
            global.ammo4-=sell
            global.kasa+=sell*40
            show_message("Bierz pieniadze!")
          }
        }
      }
    }
    break;
    case 5:
    {
      show_message("OK, spadam!")
    }
    break;
    case 0:
    {
      show_message("OK, dzieki i lece!")
    }
    break;
  }
}

 

jest to skrypt mojego sklepu w grze wzorowany na przykladzie z GMCommunity

Odnośnik do komentarza
Udostępnij na innych stronach

Hę? :P Jeśli tylko nie wstawisz więcej argumentów niż jeden do show_message(), to wszystko będzie grać. :P Dam ci jeszcze radę na przyszłość. Jak edytujesz kod, masz przecież przycisk sprawdzania, czy nie ma on errorów. Używaj go. :)

Odnośnik do komentarza
Udostępnij na innych stronach

gdy tam zeby sprawdzilo kod wlasnie na dwa ostatnie przesuwa sie ekran
To to? Właśnie na początku próbowałem ze wszystkich sił domyśleć się o co chodzi. :P Po nieudanej próbie przekopiowałem kod do GM i zacząłem sprawdzać. Pisz jaśniej. :]
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...