←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Sugestie dotyczące misji

  • +
  • -
Andrzejek's Photo Andrzejek 28.07.2013

Witam, tworze sobie misje na Coda i mam takie małe pytanko, macie jakieś swoje pomysły, chodzi mi o dokładnie o postępy misji, wiecie mniej roboty, mniej kodu do zajmowania itd. Bo ja zrobiłem coś takiego np.

 

new aktywna_misja[33];
new wybrana_misja[33];
new aktywna_misja[33];

new rozdzialI_misja[][] = {
    "",
    "Zabij 5 graczy",
};
new rozdzialI_doswiadczenie[][] = { 0, 150, };
//

public Menu(id)
{    
    new menu_rozdzial[64];
    formatex(menu_rozdzial, charsmax(menu_rozdzial),"\wWybierz misje:")
    new menu = menu_create(menu_rozdzial, "Menu_Handle")
    menu_additem(menu, "\wMisje 1", "0");
    menu_display(id,menu,0)
}
public Menu_Handle(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_CONTINUE;
    }
    wybrana_misja[id] = item+1;

    new szMenuBody[1024], iLen, Keys;
    iLen += formatex(szMenuBody[iLen], sizeof szMenuBody - 1, "Misja %d", item+1);
    iLen += formatex(szMenuBody[iLen], sizeof szMenuBody - 1, "^nMisja: %s Nagroda: %d", rozdzialI_misja[item+1], rozdzialI_doswiadczenie[item+1]);
    iLen += formatex(szMenuBody[iLen], sizeof szMenuBody -1, "^n^n1. Akceptuj Misje");
    iLen += formatex(szMenuBody[iLen], sizeof szMenuBody -1, "^n0. Powrot");
    Keys = (1<<0)|(1<<9);
    show_menu(id, Keys, szMenuBody, -1, "RozdzialMenu");
    return PLUGIN_HANDLED;
}
public RozdzialIMisja_Handle(id, Key)
{
    switch(Key + 1)
    {
        case 1:
        {
            aktywna_misja[id] = wybrana_misja[id];
        }
        case 10: Menu(id);
        }
    return PLUGIN_HANDLED;
}

 

I nie mam pomysłu co dalej :( Poradźcie co mam dalej zrobić jeżeli akceptuje misje?

Quote

  • +
  • -
Merciless's Photo Merciless 28.07.2013

akceptowana misja to jest zmienna aktywna_misja[id] tak?. Dajesz to pod jakieś sprawdzanie np przy zabijaniu. Musisz zabić 100 osób, event od zabijania a w nim warunek, if(aktywna_misja == true) { liczenie zabic np a tutaj if(zabic == 100) { misja wykonana } }

Quote

  • +
  • -
Andrzejek's Photo Andrzejek 28.07.2013

Zmienna aktywna_misja[id] jest to wartość pobierana z wybrana_misja[id] a to jest pobierane wyżej wybrana_misja[id] = item+1 czyli pobiera numer misji

Quote

  • +
  • -
Merciless's Photo Merciless 28.07.2013

To musisz do tego dodać zmienną globalną czy wziął misje czy nie, wtedy to tylko sprawdzać przy zabijaniu

Quote

  • +
  • -
Andrzejek's Photo Andrzejek 28.07.2013

Jeszcze jakieś sugestie ktoś ma ^^

 

Quote

  • +
  • -
Merciless's Photo Merciless 28.07.2013

Źle napisałem?

Quote

  • +
  • -
Andrzejek's Photo Andrzejek 28.07.2013

To co ty wyżej napisałeś to ja sam wiem ^^

Quote

  • +
  • -
Andrzejek's Photo Andrzejek 29.07.2013

Dokładnie mi chodzi o to że gdy gracz wybierze rozdział, to może obojętne które misje robić z tego rozdziału i jak tu zrobić? Bo jak np. zrobie tak że gracz wybierze np. 4 misje, następnie ją wykona i dobierze mu wartosc postępu rozdzialu np. postep_rozdzial[id] = 4, no to misja numer 1, 2 i 3 też od razu przejdzie i jak to zrobić żeby było okej ^^

Quote

  • +
  • -
K!113r's Photo K!113r 29.07.2013

Może tablica dwuwymiarowa boolean, jeden wymiar to rozdział, a drugi to nr misji i wtedy ustawiasz konkretną na true / false.
Quote