Skocz do zawartości

TO_mek

Użytkownicy
  • Postów

    346
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Odpowiedzi opublikowane przez TO_mek

  1. niwim, nie mam jak testowac HTML5 gdyż nei mam eksportera :/ trza sprawdzic, a jak pojawia sie bledy kompilacji shadera to podsylajcie, wtedy bede mogl w razie czego poprawiac do dzialania z HTML5 :)

    Efekt jest taki, że czy to na FF czy na Chromie jest szare okno, które reaguje zmianą koloru na żółty po najechaniu kursorem myszy w lewej dolnej części okna.

    Kompilator pokazuje:

    GML
    "C:\Users\tomek\AppData\Roaming\GameMaker-Studio\GMAssetCompiler.exe" /c /m=html5 /nodnd /obfuscate /wt /html5folder="html5game" /nocache_html5 /o="C:\Users\tomek\AppData\Local\Temp\gm_ttt_42001\GrayScaleFragment" /HTMLRunner="C:\Users\tomek\AppData\Roaming\GameMaker-Studio\scripts.html5.zip" /debug /config="Default" /tgt=32 /tg="C:\Users\tomek\AppData\Local\Temp\gm_ttt_42001\\TextureGroups.txt" /to="C:\Users\tomek\AppData\Local\Temp\gm_ttt_42001\\TextureOptions.txt" /obob=True /obpp=False /obru=True /obes=False /i=3 /cvm /tp=2048 /mv=1 /iv=0 /rv=0 /bv=1224 /gn="GrayScaleFragment" /td="C:\Users\tomek\AppData\Local\Temp" /cd="C:\Users\tomek\Documents\GameMaker\Cache" /optionsini="C:\Users\tomek\AppData\Local\Temp\gm_ttt_42001\GrayScaleFragment.ini" "F:\Documents and Settings\tomek1234\Pulpit\ROBOTKI\Puzzle\przyklady\GrayScaleFragment.gmx\GrayScaleFragment.project.gmx"

     

    Saving HTML5 file... C:\Users\tomek\AppData\Local\Temp\gm_ttt_42001\GrayScaleFragment\html5game\GrayScaleFragment.js

    0 Compressing texture... writing texture GrayScaleFragment_texture_0.png...

    Compiling - gml_Object_objImage_Draw_0

    Compiling - gml_Object_objOverlay_Create_0

    Compiling - gml_Object_objOverlay_Draw_0

    Compiling - gml_Object_objFilter_Create_0

    Compiling - gml_Object_objFilter_Step_0

    Compiling - gml_Object_objFilter_Draw_0

    Compiling - gml_Room_roomStart_Create

    Debug version skipping obfuscation...

    Done!

    Stats : GMA : Instance=2, Global=0

    -----------------------------------------------------------

    executing C:\Users\tomek\AppData\Local\Temp\gm_ttt_42001\GrayScaleFragment\index.html

    -----------------------------------------------------------

    Compile finished: 20:56:32

     

    Debugger pokazuje coś takiego:

    GML
    WebGL Enabled!

    Max Texture Size=null

    Windows Detected(0)

    Firefox detected

    Browser CAN play OGG

    Loading: html5game/GrayScaleFragment_texture_0.png

    Loading: html5game/particles/IDR_GIF2.png

    Loading: html5game/particles/IDR_GIF3.png

    Loading: html5game/particles/IDR_GIF4.png

    Loading: html5game/particles/IDR_GIF5.png

    Loading: html5game/particles/IDR_GIF6.png

    Loading: html5game/particles/IDR_GIF7.png

    Loading: html5game/particles/IDR_GIF8.png

    Loading: html5game/particles/IDR_GIF9.png

    Loading: html5game/particles/IDR_GIF10.png

    Loading: html5game/particles/IDR_GIF11.png

    Loading: html5game/particles/IDR_GIF12.png

    Loading: html5game/particles/IDR_GIF13.png

    Loading: html5game/particles/IDR_GIF14.png

    Loading: html5game/particles/IDR_GIF15.png

    ImageLoaded: http://127.0.0.1:51268/html5game/GrayScaleFragment_texture_0.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF2.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF3.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF5.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF4.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF6.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF7.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF8.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF9.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF10.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF11.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF12.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF13.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF14.png

    ImageLoaded: http://127.0.0.1:51268/html5game/particles/IDR_GIF15.png</span>

     

    i trzy obiekty:

    100000 (z widocznym kolorowym sprajtem)

    GML
    Object objImage

    x 0.000

    y 0.000

    depth 0.000

    visible true

    persistent false

    vspeed 0.000

    direction 0.000

    speed 0.000

    friction 0.000

    gravity 0.000

    gravity_direction 270.000

    sprite_index sprImage

    image_index 0.000

    image_speed 1.000

    image_blend -1

    image_alpha 1.000

    image_xscale 1.000

    image_yscale 1.000

    mask_index -1.000

    path_index -1.000

    path_position 0.000

    path_speed 0.000

    path_scale 1.000

    path_orientation 0.000

    path_endaction 0.000

    path_end 0.000

    path_xstart 0.000

    path_ystart 0.000

    alarm[0] -1

    alarm[1] -1

    alarm[2] -1

    alarm[3] -1

    alarm[4] -1

    alarm[5] -1

    alarm[6] -1

    alarm[7] -1

    alarm[8] -1

    alarm[9] -1

    alarm[10] -1

    alarm[11] -1

     

    1000000

    GML
    Object objOverlay

    x 0.000

    y 0.000

    depth -1000.000

    visible true

    persistent false

    vspeed 0.000

    direction 0.000

    speed 0.000

    friction 0.000

    gravity 0.000

    gravity_direction 270.000

    sprite_index

    image_index 496.000

    image_speed 1.000

    image_blend 16777215

    image_alpha 1.000

    image_xscale 1.000

    image_yscale 1.000

    mask_index -1.000

    path_index -1.000

    path_position 0.000

    path_speed 0.000

    path_scale 1.000

    path_orientation 0.000

    path_endaction 0.000

    path_end 0.000

    path_xstart 0.000

    path_ystart 0.000

    alarm[0] -1

    alarm[1] -1

    alarm[2] -1

    alarm[3] -1

    alarm[4] -1

    alarm[5] -1

    alarm[6] -1

    alarm[7] -1

    alarm[8] -1

    alarm[9] -1

    alarm[10] -1

    alarm[11] -1

     

    i trzeci 1000001

    GML
    Object objFilter

    x 610.000

    y 281.000

    depth -100.000

    visible true

    persistent false

    vspeed 0.000

    direction 0.000

    speed 0.000

    friction 0.000

    gravity 0.000

    gravity_direction 270.000

    sprite_index sprFilter

    image_index 0.000

    image_speed 1.000

    image_blend 16777215

    image_alpha 1.000

    image_xscale 3.000

    image_yscale 3.000

    mask_index -1.000

    path_index -1.000

    path_position 0.000

    path_speed 0.000

    path_scale 1.000

    path_orientation 0.000

    path_endaction 0.000

    path_end 0.000

    path_xstart 0.000

    path_ystart 0.000

    alarm[0] -1

    alarm[1] -1

    alarm[2] -1

    alarm[3] -1

    alarm[4] -1

    alarm[5] -1

    alarm[6] -1

    alarm[7] -1

    alarm[8] -1

    alarm[9] -1

    alarm[10] -1

    alarm[11] -1

  2. Od groma rozwiązań na oficjalnym forum. Nie wiem po co zaprzęgać do tego GPU.

     

    http://gmc.yoyogames.com/index.php?showtop...61#entry3584424

    http://www.gmlscripts.com/script/sprite_desaturate_gm8

     

    Ten pierwszy to przerobka tego drugiego. Niestety pierwszy nie dziala pod GM:S, tzn. działa ale efekt jest zupełnie inny (coś jakby "negatyw" zamiast desaturyzacji). Ktoś może podpowiedzieć dlaczego? W GM8 działa prawidłowo.

  3. Witam!

    W create obiektu inicjującego definiuję zmienna tlousera poprzez

     

    GML
    globalvar tlousera;

     

    bez nadania wartosci

     

    Następnie w dowolnym miejscu w kodzie daję

     

    GML
    if background_exists(global.tlousera) then background_delete(global.tlousera)

     

    Efekt:

    ___________________________________________

    ################################################################################

    ############

    FATAL ERROR in

    action number 1

    of Key Press Event for L-key Key

    for object zm_glob_obj:

     

    Push :: Execution Error - Variable Get -5.tlousera(100034, -1)

    at gml_Script_laduj_tlo_scr (line 3) - if background_exists(global.tlousera) then background_delete(global.tlousera)

    ################################################################################

    ############

    --------------------------------------------------------------------------------------------

    stack frame is

    gml_Script_laduj_tlo_scr (line 3)

    called from - gml_Object_zm_glob_obj_KeyPressed_L_1 (line 1) - laduj_tlo_scr();

     

     

    Czy nie wystarczy sama deklaracja zmiennej globalvar? Musi być nadana wcześniej wartość?

  4. napisz, co chcesz uzyskac - na pewno da sie to osiagnac prosciej i lepiej.

     

    Robię puzzle.

    Mam zdefioniowanego sprajta z matrycą puzli. Na razie jeden format - 32x32 + po 8px na "wypustki" czyli sprajty 48x48 (wersja najprostsza, łącznie 9 klatek bo 4 rogi, 4 boki i 1 środek). Wczytuję obrazek png (na początek 800x600 ale może później inne formaty) i z niego wycinam kwadraty 48x48 z których następnie wycinam gotowe puzle za pomocą sprite_set_alpha_from_sprite(wyciete_kwadraty_spr, matryca_puzzli_spr).

  5. WItam!

    Co będzie szybsze?

     

    Utworzyć surface o wielkości 800x600, władować do niego raz backgrounda i wycinać z niego w podwójnej pętli kwadraty 32x32 jako kolejne klatki sprajta.

    czy

    utworzyć surface 32x32 i ładować do niego kawałek backgrounda (draw_background_part), wycinać kolejną klatkę sprajta i czyścić surface i powtarzać (ilość przejśc w pętli jest taka sama jak wyżej)?

  6. GML
    direction= intercept_course(id_strzelajocej_wiezy,_wrog,p_speed);
    i jak mas detekcje wroga v porzodku, to bedzie swietne robic swoje :)

     

     

    Mam jeszcze pytanko jak z tego uzyskać skorygowane współrzędne docelowe pocisku.

    Nawiązując do pytania Dawidssa w komentarzach z tego wątku o obliczaniu przyszłej pozycji gracza.

     

    "1. Chcemy obliczyć [odległość wieza - przyszła pozycja wojska], potrzebujemy do tego ofc:

    -pozycji wiezy (mamy)

    -przyszła pozycja wojska (nie mamy, liczymy)

    2. Do obliczenia [przyszła pozycja gracza] potrzebujemy:

    -kierunku wojska (mamy)

    -jego prędkości (mamy)

    -czasu, jaki zajmie pociskowi dotarcie do tej [przyszłej pozycji gracza] - (nie mamy, liczymy)

    3. Do obliczenia [czasu jaki zajmie pociskowi dotarcie do tej [przyszłej pozycji]] potrzebujemy:

    -prędkości pocisku (mamy)

    -dystansu jaki musi przebyć pocisk, czyli właśnie [odległość wieza - przyszła pozycja wojska] - no jak nieciężko zauważyć, zapętliliśmy się."

     

    Akurat przy zwykłym strzelaniu skrypt intercept_course nadaje kierunek pociskom i sparawa zalatwiona ale jak z tego wyliczyc punkt zderzenia pocisku i wojska?

  7. jest mozlive ze origin vojska jest na 0,0?

    to by linia drogi szla o jakies kilka pixeli v gore.

     

    moze sproboj wyrysovac ktoredy script spravdza droge?

    niech ci vyrysuje, bywa to pomocne.

     

    nielatwo osodzic, co i kdzie jescze moze byc zle

    Origin wojska jest 16,26 przy sprajcie 32,32 więc linia się zgadza z ta wyrysowaną. Zresztą dodałem rysowanie czerwonej linii (punkt po punkcie) podczas wykonywania skryptu i linie sie pokrywają wewnątrz zasiegu.

     

     

    PS. Moment bo jednak coś sie rozsypuje dopiero gdy na ekranie jest więcej wież niż 1. Akurat ten skrypt liczy wszystko dobrze więc ja muszę mieć coś w kolejnych wersjach namieszane.

  8. zobacyles moj przyklad?

     

    Tak i nieco go zmodyfikowałem ale znowu mam dosyć istotny błąd.

    Najpierw rysunek:

    wieze_blad.png

     

    Z lewej fioletowy domek to baza gracza (CEL), z prawej niebieski baza komputera (ATAKUJACY), oraz 3 wieże. Linia to droga od atakującego do celu. Okregi to zasięg strzału wież.

     

    Skrypt w obecnej wersji wywoływany jest z bazy wroga. Argument0 okresla tylko ktory skrypt ma byc wybrany z wielu wersji jaka powstala do tej pory. Argument 1 to ID docelowej bazy gracza (fioletowy domek), argument 2 to predkość oddziału (w moim przypadku 0.5 ale dla uproszczenia niech bedzie 1). Kolizja to licznik zliczający (w tej wersji skryptu) ile razy oddzial na drodze bedzie w zasięgu strzału wieży

     

    GML
    if argument0 == 0 then {

    //****************************** DROGA_W_ZASIEGU calkiem pierwsza wersja - ZMIENIANY

    var _idc, _o_speed, _dist, _direct,_frames_to_hit, _p_ilosc, _p_moc, _x, _y, _kolizja, _o_speed;

    _idc:=argument1;//ID Celu

    _o_speed:=argument2;//Predkosc oddzialu

    _kolizja:=0;

    _direct:=point_direction(_idc.x,_idc.y,x,y);//odwrotnie ma znaczenie!!!

    _dist:=point_distance(_idc.x,_idc.y,x,y);// point_distance(x,y,_id_nno.x,_id_nno.y) // jaka odleglosc dzieli bazy (atakujaca i docelowa)

    for (i=0; i<_dist; i+=_o_speed){

    _x=x-lengthdir_x(i,_direct);

    _y=y-lengthdir_y(i,_direct);

    var _nobj;

    _nobj:=instance_nearest(_x, _y, wieza_obj);

    // if (distance_to_object(_nobj)<_nobj.zasieg_x) then {

    if (point_distance(_x,_y,_nobj.x,_nobj.y)<_nobj.zasieg_x) then {

    _kolizja++;

    //war_poi+=1;

    }else {

    //peace_poi+=1;

    }

    }

     

    Każdą z wież analizowałem pojedynczo (czyli zasięgi się nie nakładały tak jak na rysynku).

    I teraz dla wieży środkowej, której średnica zasięgu to równocześnie droga czyli w tym przypadku 416 pikseli skrypt liczy idealnie czyli _kolizja=415 (lub dla _o_speed=0.5 wynik to 831).

    Dla wieży dolnej długość drogi w zasięgu wynosi dokładnie 286px i tu wynik kolizji też powinien wynosić 285 (lub dla _o_speed=0.5 dwukrotność czyli 571). Niestety wynik w tym przypadku to 164 (w przypadku _o_speed=0.5 wynosi 328).

     

    Może mi ktoś wytłumaczyć o co tu chodzi?

  9. ktos juz to zaprogramoval, to nie krepoj sie i uzyj ten script

     

    i jak mas detekcje wroga v porzodku, to bedzie swietne robic swoje :)

     

     

    Jest perfekcyjnie :)

    PS.Mam nadzieje, że wiesz co to jest "czeski błąd" :) To taki wkurzający drobny błąd (np. zamias x dasz gdzies y) którego znajdowanie trwa bardzo długo a zwykle jest banalny. Ciekawe jak się u Was mówi na takie błędy.

  10. Witam!

    Mam taki oto skrypcik na celowanie pociskami do ruchomego celu. Niestety coś mi tu niedokładnie liczy i sporo pocisków nie trafia. Na ten tydzień limit poszukiwań czeskich błędów jest już mocno przekroczony więc proszę o pomoc tutaj.

    GML
    zasieg_x:=100; //zasieg wiezyczki

    p_speed:=1.2; //predkosc pocisku

    sila:=irandom(2)+1; //moc razenia pocisku

    gracz:=0; //nr gracza

    _wrog:=instance_nearest(x,y,oddzial_obj); //cel

    _wrog.speed=0.5 //predkosc wroga tez jest stala

    //***************************** CELOWANIE **********************************************************************

    var _pocisk, _klatki_trafienie, _dystans, _droga_wroga;

    _pocisk:=instance_create(x+lengthdir_x(8,direction), y+lengthdir_y(8,direction), pocisk_obj); //wystrzel pocisk

    _pocisk.gracz:=gracz;//oznacz czyj to jest pocisk

    _pocisk.sila:=sila;//moc pocisku (ile 1 pocisk zabija przeciwnikow)

    _pocisk.speed:=p_speed;//1.2

    _pocisk.alarm[0]:=zasieg_x/p_speed; //_pocisk.speed;//Zniszcz pocisk po wykroczeniu zasiegu strzalu wiezyczki

    with (_pocisk) {

    _dystans = point_distance(x,y,_wrog.x,_wrog.y) // jaka odleglosc dzieli pocisk od obcego

    _klatki_trafienie = _dystans/speed; // po ilu klatkach pocisk doleci do obcego z predkoscia jaka ma nadany pocisk

    _droga_wroga:=_wrog.speed*_klatki_trafienie; //odleglosc jaka pokona obcy w czasie w jakim poleci pocisk

    direction = point_direction(x,y,_wrog.x+lengthdir_x(_droga_wroga,_wrog.direction),_wrog.y+lengthdir_y(_droga_wroga,_wrog.direction)) //korekta kierunku uwzgledniajaca przesuniecie obcego

    x_docelowe_pocisku:=_wrog.x+lengthdir_x(_droga_wroga,_wrog.direction); //wspolrzedne docelowe w ktorym bedzie obcy gdy pocisk doleci do celu

    y_docelowe_pocisku:=_wrog.y+lengthdir_y(_droga_wroga,_wrog.direction);

    na_jaki_zasieg:=point_distance(xstart, ystart, x_docelowe_pocisku, y_docelowe_pocisku);//

    }

    naladowane:=false;

    alarm[1]:=fire_spd; //zalezne od szybkostrzelnosci dziala od 1 per 4 sek do 5 per 1 sek</span></span>

  11. A nie można jakoś wyliczyć tych dwóch punktów czyli poczatku i końca czerwonego odcinka? Potrzebuję to wyliczać jeszcze przed wysłaniem oddziału z pkt "K" do pkt "N" i jeśli straty będą zbyt duże to wybrać inny cel (np ten drugi pkt "N" na przykładowym rysunku).

     

    Podobnie obliczam straty na odcinku od punktu przecięcia okręgu do jego środka (w momencie gdy celem oddziału jest jakś wieża czyli punkt "W"), ale to akurat jest prostsze bo gdy wiem, że celem jest wieża to wyliczam straty z długości promienia okręgu (czyli zasiegu strzału wieży, siły pocisków, prędkości tych pocisków i szybkostrzelności).

  12. Nie, nie, nie. Nie ważne czy chcesz to robić przed czy podczas ruchu to korzystaj z point_distance(), i iteruj przez wszystkie obiekty W przy pomocy instance_find().

     

    Musze sprawdzać przed wysłaniem i obliczyc jak długo oddział będzię pod ostrzałem aby oszacować opłacalność ataku. Czyli mam przeliczac sciezkę i dla każdego kroku sprawdzać point_distance dla każdego z wież? Jak to wpłynie na fpsy (zarówno wież jak i wysyłanych oddziałów będzie sporo więcej)?

  13. Witam!

    Mam kilka obiektów "W" - wieże, które maja kołowy zasięg strzału. W jaki sposób najprościej wyszukać obiekty "W", które podczas wysyłania oddziału z punktu "K" do punktu "N" (linia prosta) będa w stanie trafiać w taki oddział czyli wtedy gdy droga biegnie wewnątrz kolistego zasięgu strzału.

    Najlepiej zerknąć na rysunek kolizje.png.

    Czerwona linia to obszar w którym nasz wędrujący oddział jest narażony na strzał. Same obiekty mają niewielkie maski (załózmy, że wielkości ich symbolu "K", "W", "P", "N") więc proste collision_line nie wyszuka obiektów "W". Idelanie byłoby gdyby znaleźć oba punkty przecięcia się zasiegu wieży z drogą oddziału.

  14. Jakie KONKRETNIE ograniczenia ma darmowa wersja programu? Czyli ile mogę mieć zdefiniowanych w "resources" skryptów bo to mnie najbardziej interesuje (właściwie to mojego grafika bo to on ma licencje GM8.1 i robi na free studio, nie ja). Obiektów, 10?, mniej, więcej? Obiektów ustawionych na roomie max DWA - to akurat sprawdzone, ważne że przynajmniej jeden.

  15. Hej.

    Chciałbym wiedzieć, jak wyłączać obiekty poza ekranem tak, aby wciąż sprawdzały swój x i y, bo po użyciu instance_deactivate dość problematyczne jest włączanie ich z powrotem :/

     

    Pierwsza poprawna odpowiedź wygrywa 5kg bananów.

     

    Jak wyłączysz to jest tak jakby nie istniały. Napisz wiecej w czym problem, moze instance_deactivate_region, instance_activate_region wystarczy.

  16. Tytuł: Just On Time

     

    Gatunek: symulator

     

    Opis: Święta się skończyły ale ekipa Świętego Mikołaja ciężko pracowała. Zdążyli ze wszystkim na czas. Teraz czas na mycie. Zdążysz na czas?

     

    Musisz umyć wybraną postać jak najdokładniej w jak najkrótszym czasie. Kolumna z myjką porusza się najpierw w lewo a po osiągnięciu lewej krawędzi powraca w prawo, Ty sterujesz prędkością. Punkty zdobywasz myjąc dokładnie (zielony wskaźnik). Także za mniej dokładne mycie zdobywasz punkty (żółty wskaźnik). Uwaga zbyt bliski kontakt z myjką kończy się punktami karnymi (czerwony wskaźnik).

     

    Sterowanie:

    ekran wyboru:

    zmiana postaci poprzez kliknięcie lewym klawiszem myszy na miniaturce postaci

    wybr postaci poprzez kliknięcie lewym klawiszem myszy na dużej postaci

     

    podczas gry:

    kursory lewo prawo - ruch kolumny

    kursory góra dół - ruch myjki

    spacja - zatrzymanie kolumny

    P - pauza

    S - dźwięk wł/wył

     

    lub użyj myszy klikając na ikonach.

     

    Gra powstała na konkurs YoYoCompDec2012. Duża prośa o pozytywne głosy na Steamie (i o brak negatywów ;) )

     

     

    Download: adres z plikiem gry

    wersja beta HTML5

    Rozmiar pliku: 3,4MB

     

     

    Autorzy:

    Programowanie:
    Retrospect Workshop

    Fabuła:
    Retrospect Workshop

    Grafika:
    Retrospect Workshop

    Muzyka:
    Retrospect Workshop

    Screeny:

     

    screen1.png

     

     

    screen3.png

     

    GAMEPLAY

     

     

    PS.Aby zagrać należy zalogować się na Steamie, kilknąć na linka do gry a następnie na guziku "Subskrybuj" i pobrać darmową wersję GM:Studio. Podaczas uruchamiania GM:Studio Steam wybrać PLAY i pojawi się lista "zasubskrybowanych" gier.

    PS2. Dodałem wersję beta HTML5 więc nie trzeba wchodzić na Steama by zagrać.
  17. Chyba jest tak samo jak w zwykłej wersji Studio.

     

    A wytłumaczy mi ktoś jak zaktualizować GM:Studio Standard (free) ze Steama do wersji PRO. Mam swój kod ale nie wiem gdzie go wklepać. GMa nie kupowałem poprzez steama tylko sporo wcześniej, tradycyjnie.

     

    EDIT: OK już wiem. To trzeba nie z poziomu GM zrobić tylko bezpośrednio ze steama poprzez "dodaj gre" i tam się podaje kod licencyjny GMa (ten pod steama).

  18. Jest różnica gdzie kupuje się GM?? Ja kupiłem na stronce jojo i klucz do wersji steam był za darmo. Używam wersji steam od kiedy zwykła uznała się za piracką i nadpisała mi grafiki.

     

    Threef ma rację. Automatycznie dolicza podatek, więc dlaczego miałbyś jeszcze raz coś dopłacać??

     

     

    Czy wersja na Steamie działa tak, że na dowolnym kompie na ktrym zaloguje się na swoje konto steam będę mógł używać także GM:Studio w takiej wersji jaką zakupiłem?

×
×
  • Dodaj nową pozycję...