Skocz do zawartości

Easeful

Użytkownicy
  • Postów

    248
  • Dołączył

  • Ostatnia wizyta

Odpowiedzi opublikowane przez Easeful

  1. Gra sandbox/symulator fizyki najlepiej multiplayer, niekoniecznie w 3D (jak Garry's Mod). Może być w stylu Algodoo albo jak Powder Toy (cząsteczki), ale żeby można było pobawić się przez multiplayer, no a jeśli bez multi to niech już od biedy jakaś fabuła będzie albo postać którą się porusza.

    Jest ktoś w stanie coś zaradzić na moją zachciankę :jezor: ?

  2. Mając 2 rekordy w tabeli o strukturze "id" int AUTO_INCREMENT, "imie" oraz "nazwisko" lista rekordów przedstawiała się tak:

     

    id imie nazwisko

    1 jan kowalski

    2 janusz maj

     

     

    Usunąłem pierwszy rekord (1 jan kowalski) i po tej operacji lista wygląda tak:

     

    id imie nazwisko

    2 janusz maj

     

    Jest jakaś funkcja, bądź właściwość zmiennej w tabeli, która sprawiłaby, że automatycznie po usunięciu rekordu o id n, rekordy z id > n przeskakują o jedno id niżej?

  3. A mam jeszcze jedno pytanie, załóżmy, że jest taka sytuacja:

     

    <?php
    
    session_start();
    $_SESSION['lol'] = 7;
    
    ?>
    
    <html>
    <body>
    
    <table border=1>
    
    <tr>
    
    <td>
    
    <?php 
    echo $_SESSION['lol'];
    ?>
    
    </td>
    
    </tr>
    
    </table>
    
    </body>
    </html>

     

    Czy tutaj nie będzie problemu? Tzn. chodzi mi o to, czy w tym samym pliku ale pomiędzy różnymi sekcjami skryptu PHP dane z $_SESSION będą współdzielone?

  4. W index.php mam takie coś:

     

    // [...]
    session_start();
    $_SESSION['lol'] = 1;
    if (isset($_SESSION['lol']))
    {
    echo "
    <form action=podstrona.php method=post>
    <input type='password' name='cokolwiek'> <input type='submit' value='Send'>
    ";
    }
    // [...]

     

    Forumularz się wyświetla, więc $_SESSION['lol'] jest ustalone. Wyczytałem, że tablica $_SESSION jest globalna, więc w podstronie podstrona.php do której przechodzi się za pośrednictwem formularza, wpisałem:

     

    // [...]
    
    if (isset($_SESSION['lol']))
    {
    // [...]
    }
    else
    {
    echo "fail";
    }
    // [...]

     

     

    Niestety, za każdym razem w podstrona.php wyświetlany jest napis "fail", co oznacza, że po przejściu do niej ta pozycja, cała tablica lub w ogóle cała sesja zostaje wykasowana. Czemu tak jest i jak to naprawić?

  5. Witam! Zacznę od tego, że kiedyś bawiłem się w adf.ly i przez pół roku zarobiłem 2,5$, których i tak nie mogę wypłacić, bo trzeba mieć minimum 5 albo 10 $ :) Miałem tam 5000 visitors, czyli interes marny - na jedno wyświetlenie wychodzi 0,0005$ czyli około 0,25 grosza. Gdyby te wyświetlenia były nabite w innym kraju np. w USA, to z tego co widziałem zysk byłby nawet 4x większy. Domyślam się, że jest tak ze względu na treść tych reklam - są z reguły po angielsku, a reklamujące się instytucje mogą nawet nie obejmować swoją działalnością Polski. Dlatego też zastanawiam się, czy adf.ly jest dobrym wyborem dla Polaka. I tutaj moje pytanie: czy jest jakiś inny serwis tego typu, w którym "polskie" kliknięcia w link były by warte więcej niż na adf.ly?

  6. Sprawdzone, musi działać :)

     

    EDIT: Zapomniałbym!

     

    Skrypt napisany przez Maximala

     

    instance_nearest_ext()

    GML
    X = argument0;

    Y = argument1;

    Obj = argument2;

    n = argument3;

     

    if ( n > instance_number( Obj )) return noone;

    Ids = ds_list_create();

    for (i = 0; i < n; i += 1)

    {

    Id = instance_nearest( X, Y, Obj );

    instance_deactivate_object( Id );

    ds_list_add( Ids, Id );

    }

    for (i = 0; i < ds_list_size( Ids ); i += 1) instance_activate_object( ds_list_find_value( Ids, i ) );

    ds_list_destroy( Ids );

    return Id;

     

    Musisz go dodać w projekcie gry.

     

     

     

    okon

    Create:

    GML
    action=1;

    target=0;

    spd=3; //predkosc podchodzenia do palet

    pelspd=0.03; //predkosc zapelniania palet (jesli o to ma chodzic oczywiscie, jak nie to zmien :P)

    dystans=32; //odlegosc z ktorej kon moze korzystac z palety</span></span></span>

     

    Step

    GML
    switch(action)

    {

    case 1: //ACTION=1 gdy stoi i poszukuje najblizszej palety ktora nie jest pelna

    var _n;

    _n=instance_number(opaleta);

    if _n=0 then break; //jesli nie ma zadnych palet to wyjazd xd

    for(i=1; i<=_n; i+=1) //petla sprawdzajaca po kolei najblizsze palety

    {

    target=instance_nearest_ext(x, y, opaleta, i);

    if target.zapelnienie<1 //1 = 100%, czyli jezeli jest mniej niz 100% zapelnienia danej palety np 0.4 (40%) to:

    {

    action=2; //przechodzi do drugiego etapu

    break; //wychodzi z tej petli by nie sprawdzac nastepnych polozonych dalej

    }

    }

    break;

     

    case 2: //ACTION=2 gdy idzie do wybranej wczesniej palety

    /* prosty system ruchu ktory mozesz wymienic na inny co jest wskazane uwzgledniajac omijanie innych obiektow */

    var _dir;

    _dir=point_direction(x,y,target.x,target.y);

    x+=lengthdir_x(spd,_dir);

    y+=lengthdir_y(spd,_dir);

    /**/

     

    if point_distance(x,y,target.x,target.y)<dystans //jezeli jest juz odpowiednio blisko palety..

    {

    action=3; //przechodzi do etapu korzystania z tej palety

    }

    break;

    case 3: //ACTION=3 korzystanie z palety, tutaj w zasadzie robisz co chcesz, ale ja podam przyklad:

    target.zapelnienie+=pelspd; //zapelnij palete o wartosc "pelspd" (ustalona w create)

    if target.zapelnienie>=1 //jesli juz sie zapelni

    {

    action=1; //wracamy do 1szego etapu by znalezc inna palete ktora nie jest pelna :-)

    }

     

    break;

    }

     

    opaleta

    Create

    GML
    zapelnienie=0;

     

    Draw

    GML
    draw_sprite(sprite_index,-1,x,y);

     

    draw_set_color(c_red);

    draw_text(x-16,y-18,string(round((min(1,zapelnienie)*100)))+"%");

     

    Edit2: Jakby coś nie tego, to wrzucam jeszcze gotowy plik:

    https://gmclan.org/up6160_12_exampl.html

  7. Zapraszam na super serwer minecrafta Survival 55 slotów, można tworzyć gildie i jest super plugin, który nie dopuszcza cheatowania poprzez xray. Generalnie rzecz biorąc sprawiedliwa rywalizacja wielu gildii i samotnych dusz w wielkim kanciatym świecie :P

     

     

    IP: 89.76.246.61:26000

  8. Stosunkowo dużo pisania, teraz nie mam czasu ale jutro mogę Ci to zrobić, jednak od razu chciałbym zauważyć, że w podanym przez Ciebie kodzie jakkolwiek nie mającym lub mającym sensu, nie możesz tworzyć zmiennej "cos" gdyż jest to funkcja (cosinus) i będzie wyskakiwać błąd. Zmień ją na coś innego chociażby "cs".

  9. Create:

    GML
    sprite_standardowy=sprJakistamwpiszsesam;

    sprite_bezenergii=sprTutezsobiewpisz;

    zmiana_czas=500; //tu wpisujesz co ile sekund ma sie zmieniac sprite

    utrata_czas=200; //tu wpisujesz co ile sekund ma tracic 1pkt energii

    alarm[0]=zmiana_czas*room_speed;

    alarm[1]=utrata_czas*room_speed;

    energia=10;

     

    Alarm[0]:

    GML
    alarm[0]=zmiana_czas*room_speed;

    if energia=>0

    {

    sprite_index=sprite_standardowy;

    }

    else

    {

    sprite_index=sprite_bezenergii;

    }

     

     

    Alarm[1]:

    GML
    alarm[1]=utrata_czas*room_speed;

    energia-=1;

     

     

    Edit:

    Jeśli chcesz, żeby po tych 5000 sekund też coś się stało to w Create dodajesz jeszcze:

    GML
    alarm[2]=5000*room_speed;

     

    i w Alarm[2]:

    GML
    //akcja po 5000 sekundach np.

    game_end();

    exit;

  10. Jeśli już utworzyłeś skrypt o nazwie "dodaj_wpis()" i w jego zawartość wpisałeś podany przeze mnie kod, to później wystarczy tylko wpisać gdzieś np:

    GML
    dodaj_wpis("Witaj w grze!");

     

    Takie coś na przykład możesz dać w sekcji Create dowolnego obiektu. Pamiętaj, żeby dodając wpis podczas ataku, który zapewne będzie zakodzony w stepie, używać tej funkcji tylko raz na jeden atak.

  11. Taki pierwowzór:

     

    Skrypt: dodaj_wpis("jakiś tekst")

    GML
    objDziennik.messages+=1;

    objDziennik.messages[objDziennik.messages,1]=argument0;

     

    objDziennik

     

    Create:

    GML
    messages=0;

    th=25; //wysokosc linijki tekstu mniejwiecej

    ts=20; //odstep miedzy linijkami

    sn=5; //ilość pokazywanych najnowszych wpisów

    dwidth=400; //szerokosc dziennika</span></span>

     

    Draw:

    GML
    draw_set_color(c_black); //kolor panelu

    draw_rectangle(view_xview,view_yview,view_xview+dwidth,view_yview+th*sn,0);

     

    draw_set_color(c_white); //kolor tekstu

    for(i=messages; i>=max(messages-sn,1); i-=1)

    {

    draw_text(view_xview+5, view_yview+ts*(sn-(messages-i)), messages[i,1]);

    }

     

     

    Edit: Jeśli chcesz, żeby wpisy pojawiały się na odwrót - od góry, to:

    GML
    //W linijce:

    draw_text(view_xview+5, view_yview+ts*(sn-(messages-i)), messages[i,1]);

     

    ts*(sn-(messages-i)) /* zamień na */ ts*(messages-i)

  12. Mam jeszcze takie pytanie i prośbę o wyjaśnienie.

     

    Aby uzyskać jakiś kolor światła robię tak, że rysuję najpierw na bm_subtract sprite światła, który wycina kawałek mroku, i później w tym samym miejscu rysuję drugi sprite o tym samym kształcie na add lub normal i na alpha 0.2 z tym, że ten sprite jest zakolorowany np. do żółtego. Wiem, że to nie jest dobre rozwiązanie, widziałem w przykładach użycie draw_clear_alpha() ale nie rozumiem za bardzo na czym to polega. Czy mógłby ktoś pokazać jakoś prosto jak to działa i jak to zrobić w najlepszy sposób?

  13. Racja, racja, pozwól że się wytłumaczę:

     

    GML
    draw_surface(nightsur,view_xview,view_yview);

     

    Liczyłem na to, że surface będzie podążać za viewem. Przepisywałem cały kod poruszania się view'a, wszystko zmieniałem głowiłem się aż się roześmiałem, bo dopiero przed chwilą doszedłem do tego, że surface nie jest rysowany na roomie, tylko bezpośrednio na okienku gry :D

     

     

    Edit: Nawet pojawiły się kolejne dziwne problemy, bo efekty (above) są rysowane wyżej niż ów surface a to sprawiło (nie wiem z jakiej racji), że efekty również zaczęły pojawiać się w pozycjach bezwzględnych do okna gry o.O . Ale już to poustawiałem.

    Jedyne na co nie mam patentu, to losowe syfne wzory na początku gry na surface, może będę w create po prostu czyścić używając rectangle 800x600 na subtract mode

  14. No więc tak: przeczytałem w Game Maker Help jak działa, użyłem subtract mode, wszysto gra ale teraz mam problem z całym surface. W zasadzie to używam tego pierwszy raz i nie wiem co jest źle, ale dzieją się absurdalne rzeczy.

     

    GML
    surface_set_target(nightsur);

    draw_set_alpha(night);

    draw_set_color(c_black);

    draw_rectangle(0,0,view_wview,view_hview,0);

    draw_set_alpha(1);

    draw_set_blend_mode(bm_subtract);

    draw_circle(oHero.x-view_xview,oHero.y-view_yview,96,0);

    draw_set_blend_mode(bm_normal);

    surface_reset_target();

     

    draw_surface(nightsur,view_xview,view_yview);

     

    Nie wiem dlaczego, ale cały surface "fruwa" sobie, co prawda w takim samym kierunku i w tym samym czasie co view, ale porusza się szybciej tak jakby był w ogóle w innej rozdzielczości :C

  15. A mam jeszcze jedno pytanie, trochę odbiegające od tematu.

    Załóżmy, że ten internet z routera jednak mi nie będzie działał lub nie będę miał zasięgu w swoim pokoju, to czy mogę tak po prostu kupić i zaaplikować w telefon starter jakiejś Austriackiej sieci komórkowej, następnie wykupić w niej pakiet internetowy?

     

    Edit: Simlock'a nie mam, choć nie jestem w 100% pewien, no ale kupiłem telefon w RTV Euro AGD, nie w żadnym salonie danej sieci.

  16. Jadę do Austrii gdzie mam mieć zapewniony dostęp do internetu WLAN. Pamiętam, że kiedyś na laptopie mi nie działał tenże "typ". Czy wie ktoś jak mogę się do takiego routera połączyć i czy będzie to możliwe także w LG Swift L5 z androidem?

  17. Wie ktoś, jak zrobić coś takiego w c++ że np

     

    pętla while(1)

    {

    button=sprawdz_czy_wcisnal_przycisk(1000ms) //i tu niech zwraca 0 lub id przycisku

    if button //pózniej i tak switcha użyję

    {

    napisz_tekst << "wcisnal"

    }

    else

    {

    napisz_tekst << "nic nie wcisnal"

    }

     

    }

     

    chodzi mi głównie o tą funkcję wciśnięcia przycisku, i żeby nie czekał w nieskończoność tylko po 1 sekundzie po prostu przeszedł dalej jeśli nic nie wcisnąłem

  18. Czy to prawda, że nie powinno się robić pompek na piąstkach? Słyszałem, że to bardzo szkodzi stawom i później mogę mieć problemy z pisaniem czy graniem na gitarze. Dotychczas myślałem, że to właśnie je hartuje xd

×
×
  • Dodaj nową pozycję...