Skocz do zawartości

Easeful

Użytkownicy
  • Postów

    248
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Easeful

  1. Są dwa kolory:

     

    GML
    kolor1=jakistamkolor;

    kolor2=jakistamkolor;

     

    No to żeby sprawdzić czy są takie same wystarczy jedna linijka: if kolor1=kolor2

    Ale teraz taka sytuacja, załóżmy że 1000 to czarny a 0 to biały, reszta to pomiędzy:

     

    GML
    kolor1=1000;

    kolor2=999;

     

    Teraz między tymi kolorami jest różnica (wynosząca 1), no ale gdyby narysowac dwa kwadraty o tych kolorach to każdy jeden człek uznałby że są takie same więc można sobie odpuścić. No i wtedy załóżmy że taki limit to 15 czyli:

     

    czy_sa_takie_same()

    GML
    kolor1=1000;

    kolor2=985;

    limit=15;

    wynik=false;

    if kolor1>kolor2

    {

    if kolor1-kolor2<=limit

    {

    wynik=true;

    }

    }

    else if kolor1<kolor2

    {

    if kolor2-kolor1<=limit

    {

    wynik=true;

    }

    }

    else wynik=true;

    return wynik;

     

     

    Kod taki na szybko napisany, ale wiecie o co chodzi. No i teraz niby z pozoru wygląda na to że umiem to zrobić, a jednak tak średnio na jeża. Wiem że to jakoś tak chyba wygląda, np c_jakiskolor=255255255; i to jest chyba RGB

     

    Umiałby w takim razie ktoś przerobić ten skrypt na takie sprawdzanie z limitem kolorów w RGB? Bo się na tych kolorach ani trochę nie znam, i nie chce mi sie pisać skryptu na chama bo sie okaże że źle i bez sensu.

  2. Ja na nartach jeżdżę po czarnych trasach bez problemu, bardzo dobrze pływam, wyciskam ponad 20 pompek, w siatkówce tylko dobrze serwuję, w piłce nożnej jestem ponad nad przeciętny ;d, w ping-ponga jeszcze dwa lata temu świetnie pociskałem, potem nie trenowałem w ogóle i nie dawno pewny siebie, wyśmiewający grę kolegów na W-F'ie jak czekałem na swoją kolej gry, podszedłem do stołu i grałem tragicznie ;s Nie mogłem w piłke trafić.

  3. Mam taki głupi problem:

     

    Koleżanka z klasy na NK mi napisała takie coś:

    Hej. Czy mógłbyś podac mi swój numer kom. bo pani ....... ....... prosi o niego :D :D

     

    ............... ......... - Imie i nazwisko mojej(naszej) wychowawczyni

     

     

    Najpierw stwierdziłem nie odpisać.

    Potem zacząłem sie zastanawiać: może to jakiś pretekst?

    Albo jakiś test, i jak nie odpiszę to ona pomyśli że nie zczaiłem czegoś...

     

    Może po prostu jest tak jak napisała :S

     

     

    Wiem, że mam "problemy jak stara baba", ale tak piszę bo sie lepiej znacie.

    Co zrobić?

  4. Tak, to ja jeszcze dorzucę kilka skryptów pasujących do reszty, których nie ma w twojej paczce:

     

    e3d_pokaz_wiadomosc

    GML
    show_message(argument0);

     

    e3d_oblicz_ile_jest_2_+_2

    GML
    return(2+2);

     

    e3d_wylacz_gre

    GML
    game_end();

     

    e3d_zamknij_ini_(skrypt_bezpieczenstwa_gdyby_tamten_sie_zepsół)

    GML
    ini_close();

     

     

    ...

     

    Co to ma być?

     

     

    Jest spoko, 5/5 smile.gif

    Oby tak dalej tongue2.gif

     

    Ci co dali 5/5 chyba w ogóle nie spojrzeli na to dzieło...

     

    Toż to są zwykłe gm'owe, w większości pogorszone skrypty tylko pod innymi, dłuższymi i niekomfortowymi nazwami.

    Nie oceniam w ogóle

  5. @Platyna: teraz już mi chyba wierzysz że WilkAss!=Easeful...

    -------

     

     

    @Dawka:

    a=instance_create(xxx,yyy,pole)

     

    pole - jakiś obiekt, ma się rozumieć?

     

     

    poeksperymentuj:

     

    1.

    GML
    ilosc=ini_read_real('mapa1','ilosc','0')

    na

    GML
    ilosc=round(ini_read_real('mapa1','ilosc','0'))

    Czasami ten system ini zapisuje wartośći real jakoś dziwnie, np zamiast 1 to 0,999999999889 itp a pętla for może raz np nie pojechać.

     

    2.

    GML
    yyy=ini_read_real('mapa1',string(i)+string('y'),'0')

    Czemu czytając wartość real, do argumentu default, czyli co ma zwracać domyślnie, dajesz string (mam na myśli '0')?

    Zamień w tych trzech przypadkach na 0

     

     

    to tylko takie drobne niedociągnięcia, wątpie że to ich wina

  6. Next rebus:

     

    GML
    dc=list_read(cnt[day],1); //ilosc lekcji w tym dniu

    var cl,od;

    cl=666;

    od=1;

    if get_day_start(day)="08:55" od+=1; //jezeli jest dzis na 8:55 to ma zaczac od drugiej lekcji

    for(i=od; i<=dc; i+=1) //przelatuje wszystkie lekcje

    {

    cls=get_lesson_start(i); //poczatek lekcji (godzina)

    cle=get_lesson_end(i); //koniec lekcji (godzina)

    if compare_time(h,m,cls)=1 && compare_time(h,m,cle)=-1 //jezeli czas (h,m) miesci sie miedzy poczatkiem i koncem to przypisz id

    {

    cl=i;

    break;

    }

    }

    if cl=666 //jezeli zadnej lekcji nie przypisalo

    {

    if compare_time(h,m,get_day_end(day))=-1 && compare_time(h,m,get_day_start(day))=1 //i jezeli miesci sie w czasie od poczatku wszystkich lekcji do konca wszystkich lekcji (np. 8:00 - 13:30)

    {

    cl=-1; //cl=-1

    }

    }

    if cl=666 //jezeli nawet nie miesci sie w tym powyzej

    {

    draw_text(0,140,"Obecnie: Wolne :)");

    }

    else //elz

    {

    if cl=-1 //jezeli jest przerwa :P

    {

    bef=get_bef_les(day,h,m-15); //skrypt zwracajacy id lekcji ktora byla przed przerwa

    if bef>0 //jezeli znalazlo lekcje ktora byla wczesniej

    {

    draw_text(0,120,"Poprzednio: "+string(get_lesson_name(bef)));

    }

    draw_text(0,140,"Obecnie: Przerwa");

    }

    else //jezeli natomiast nie ma przerwy, jest jakas lekcja

    {

    if !(cl=od) {draw_text(0,120,"Poprzednio: "+string(get_lesson_name(day,cl-1)));}

    draw_text(0,140,"Obecnie: "+string(get_lesson_name(day,cl)));

    }

    }

     

     

    Cały problem leży w tym, że nigdy nie ma sytuacji żeby cl=-1. Zawsze 666, mimo to że sie miesci w przedziale wszystkich lekcji :(

     

    Wazzap? a compare_time przypominam:

     

    compare_time(12,15,"13:15") --> return -1

    compare_time(12,15,"12:15") --> return 0

    compare_time(12,15,"11:15") --> return 1

  7. GML
    mtit="xcApp - ";

    pas="";

    for(i=1; i<=choose(4,5,6,7,8,9); i+=1)

    {

    pas+=choose("a","b","c","x","v","y","o");

    if choose(true,false,false) pas+=choose("1","2","3","4","5");

    }

    con_set_title(pas);

    chnd=window_find("",pas);

    con_set_title(mtit+"No title");

     

    :P

  8. Strasznie się wkurzyłem, ale nie chcę tego wyrażać...

    ----

     

    Program ten pokazuje jaką mam obecnie lekcje względem planu lekcji mojego.

    Kilka skryptow tam jest moich:

    - get_day_start() - dajesz np 2, czyli wtorek - zwraca w stringu o ktorej zaczynam lekcje we wtorek np. "08:55"

    - get_day_end() - -||-

    - get_time() - zwraca w stringu czas, dajesz 12 i 50 zwraca "12:50"

    - get_lesson_start() - sama nazwa mowi za siebie

    - get_lesson_end() - -||-

    - compare_time - dajesz 12:30 i 14:00 = return -1 (mniejsze), dajesz 11:00 i 11:00 return 0 (równe), dajesz 14:00 i 12:00 return 1 (wieksze)

     

    Nie wiem czy to bug czy co, ale jest tak że nie ma żadnej pętli while() w kodzie, są tylko for, a program jakby mi się zapętlał - nawet nie zdąrzy okna narysować. To zapętlenie zaczyna się w drawie od pętli for co jest dziwne:

     

    Kod:

    GML
    draw_set_font(font);

    draw_text(0,0,"Dzień: "+string(dnm));

    dh=string(h);

    dm=string(m);

    if string_length(dh)=1 dh="0"+dh;

    if string_length(dm)=1 dm="0"+dm;

    draw_text(0,20,"Godzina: "+dh+":"+dm);

     

    draw_text(0,60,"Rozpoczęcie: "+string(get_day_start(day)));

    draw_text(0,80,"Zakończenie: "+string(get_day_end(day)));

     

    dc=list_read(cnt[day],1); //ilosc lekcji w tym dniu

    cl=0;

    od=1; //od ktorej lekcji zaczac (jak np na 08:55)

    if get_day_start(day)="08:55" od+=1; // -||-

    for(i=od; i<=dc; i+=1) //przelatuje wszystkie lekcje //ZAPETLANIE OD TAD

    {

    cls=get_lesson_start(i);

    cle=get_lesson_end(i); wszystko w tej petli to sprawdzanie czy obecny czas miesci sie miedzy starte

    cti=get_time(h,m); a koncem obecnej lekcji, jesli tak to cl=obecnalekcja (i) i break;

    if compare_time(cti,cls)=1 && compare_time(cti,cle)=-1

    {

    cl=i;

    break;

    }

    }

    if cl=0

    {

    draw_text(0,120,"Obecnie: WOLNE!"); //jezeli zadnej lekcji nie dopasowalo to cl=0 no i WOLNE :)

    }

     

     

    Skrypty sprawdzałem i one nie zapętlają. Co jest nie tak?

     

    edit: lol sprawdziłem, to ta pętla w ogóle i+1 nie dodaje bo dałem show_message(string(i)) to wciaz 1 1 1 1

  9. Dla wtajemniczonych: Minęły dwa dni ;s

     

    Mam taki irytujący problem w Xtend.dll - nie moge zdobyć uchwytu WŁASNEGO OKNA o.O

    Daję np:

     

    mojeokno=window_find("Tytulmegookna","");

     

    zwraca 0

     

    mojeokno=window_get_active();

     

    czasami może zwrócić uchwyt innego okna,

    koledze np zwróciło od AQQ

     

     

    Dodam w dodatku (masłomaślane), że to okno nie jest oknem gm'a, lecz oknem z ConsoleDLL

     

    Co począć?

  10. no to już działa jak ma działać, ale zwraca inne ID.. wcześniej próbowałem też z execute_shell zamiast process_create, ale żeby zdobyć id tego co dałem w execute_shell to dawałem process_find_cośtam i po nazwie znajdywałem, ale jak były np 2 cmd.exe odpalone to dawało zawsze tego pierwszego id..

     

    może masz jakiś pomysł jak odpalić cmd.exe w osobnym oknie i zdobyć jego id?

×
×
  • Dodaj nową pozycję...