-
Postów
248 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez Easeful
-
-
czyli:
GMLc1=argument0;c2=argument1;
lim=argument2;
dif=0;
dif+=abs(color_get_red(c1)-color_get_red(c2));
dif+=abs(color_get_green(c1)-color_get_green(c2));
dif+=abs(color_get_blue(c1)-color_get_blue(c2));
return (dif<=lim);
-
Są dwa kolory:
GMLkolor1=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:
GMLkolor1=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()
GMLkolor1=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.
-
Jak skutecznie przybrać na wadze? To proste! Wejdź na www.jakprzybracnawadze.com.pl i zdjedz hamburgera!
Pani kontekstowa pokazuje swe wdzięki tylko w Valhalli lub wszędzie jeżeli nie jesteś zalogowany(a)! :3
-
A może Pani chce z tobą:
69
? : )
Przyprawiłeś mnie o mdłości :wacko:
-
Ha! Natchnęło mnie! Napisałem:
Rodziców czy mój? Bo po co byłby pani ..hmmm.... mój? :D -
nie chodzi mi o wychowawczynie tylko tę dziewczynę ;s
e: ale dobry żart, roześmiałem się
-
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ć.
-
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ć?
-
Tak, to ja jeszcze dorzucę kilka skryptów pasujących do reszty, których nie ma w twojej paczce:
e3d_pokaz_wiadomosc
GMLshow_message(argument0);e3d_oblicz_ile_jest_2_+_2
GMLreturn(2+2);e3d_wylacz_gre
GMLgame_end();e3d_zamknij_ini_(skrypt_bezpieczenstwa_gdyby_tamten_sie_zepsół)
GMLini_close();...
Co to ma być?
Jest spoko, 5/5 smile.gifOby 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
-
to zrób mi przykład takiego programu :P bo mi sie totalny syf w tym zrobił, nie ogarniam
-
@Platyna: teraz już mi chyba wierzysz że WilkAss!=Easeful...
-------
@Dawka:
a=instance_create(xxx,yyy,pole)pole - jakiś obiekt, ma się rozumieć?
poeksperymentuj:
1.
GMLilosc=ini_read_real('mapa1','ilosc','0')na
GMLilosc=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.
GMLyyy=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
-
Next rebus:
GMLdc=list_read(cnt[day],1); //ilosc lekcji w tym dniucl=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
-
GMLmtit="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
-
Kieeedyś dawno coś z worda chyba wklejałem do okna z kodem w gm'ie i mi sie czcionka cała zmieniła, nie pogrubia mi for, while, break itd. Jak to naprawić? Reinstall?
-
na PsichiX'a bo więcej mi pomaga :)
a napisałem że jesteś pro, bo to była złota myśl z tym.. niby banalne, ale nawet dawidds na to nie wpadł ;o
-
jesteś pro!
a już myślałem że nie znajdę wyjaśnienia, czemu to nie działało!
(do MarkaS)
-
hah! no tak. w funkcjach są petlę for, w których też jest zmienna i :] zaraz sprawdze czy zadziała
-
1-6
1-6
1-6
1-6
...
edit:
to jakiś bug musi być. nawet jak dałem ręcznie i+=1 to nic albo i=5
-
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:
GMLdraw_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
-
https://forum.gmclan.org/index.php?showtopic=20806
Dat Operate mojego wykonania:
Zapis:
GMLdat_open("Plik do zapisania np. D:\lolo.dat");zmienna="siemka";
dat_write("nazwa",zmienna);
Odczyt:
GMLdat_open("Plik do wczytania czyli D:\lolo.dat");zmienna=dat_read("nazwa");
I masz ładnie zapisane + zaszyfrowane w pliku
-
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ąć?
-
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?
-
-
ja bym chciał bota do metina. w sumie to sam bym mógł napisać jakiegoś "prawiebota" ale nie znam adresów zmiennych
Przypisywanie zmiennych obiektowi
w Pytania początkujących
Opublikowano
Witam.
Czy można zrobić tak, że:
obj.lol="elo";
a potem w create obiektu:
Jeżeli nie, to jak to zrobić inaczej?