Skocz do zawartości

ediepl

Użytkownicy
  • Postów

    1 626
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez ediepl

  1. Możesz mieć to na stronie s bazą mysql i przez skrypt odczytujesz wartości, trochę mało bezpieczne
  2. Witam gieemclany, zastanawiałem się ostatnio jak zrobić grę sieciową typu areny 1n1 lub ffa do np 5 graczy i jak najprościej postawić serwer, czy ma to być serwer tworzący pokoje dla graczy, czy serwer jest tworzony u jednego gracza a reszta się z nim łączy etc. I jestem ciekaw czy macie jakieś bardziej sensowne pomysły? :) E: I raczej opcja z tworzeniem serwera u gracza odpada z oczywistych powodów
  3. To może po prostu napisz co nie działa, a nie się droczysz jak baba z okresem
  4. GML if mouse_x>x and global.przycisk=1 { if position_empty (x-225,y) and x-225>=450 { NewX = x-255; }} if mouse_x<x and global.przycisk=1 { if position_empty (x+225,y) and x+225<=3150 { NewX = x+255; }} action_move_to(NewX, y); Klamerki zabrakło.
  5. Tzn? Zmienną NewX do create musisz dodać, myślałem że się domyślisz ?
  6. GML if mouse_x>x and global.przycisk=1 { if position_empty (x-225,y) and x-225>=450 NewX = x-255; }} if mouse_x<x and global.przycisk=1 { if position_empty (x+225,y) and x+225<=3150 { NewX = x+255; }} action_move_to(NewX, y);
  7. GML for (var i = StadDoPoznania; i > -1; i--;) { a = i; } Co do drugiego pytania to raczej nic się nie zmieniło
  8. format binary use16 org 0x100 jmp start string1 db "string numer jeden$" bok: push cx mov cx, 1 mov ah, 0x02;pos add dh, 1 int 0x10 mov ah, 0x09;write int 0x10 pop cx ret macro print xx,yy,len,str: {mov dh, xx mov dl, yy call pprint1 mov cx, len mov bp, str call pprint2} pprint1: mov ah, 0x02 int 0x10 ret pprint2: mov ah, 0x09 mov si, cx sub si, 1 petla: mov al, [bp+si] int 0x10 sub si, 1 loop petla ret start: mov al, 0x02;80x25 text int 0x10 mov ah, 0x09;write character and attribute at cursor position ;pasek tytulowy i menu mov bl, 0x40;col mov al, 0x00;char mov cx, 160;ile int 0x10 mov ah, 0x02 mov dh, 0 mov dl, 0 int 0x10 print 0,31,18,string1 mov ah, 0x02 ;bg mov dh, 2 mov dl, 0 int 0x10 mov ah, 0x09 mov bl, 0x70 mov al, 0x00 mov cx, 1760 int 0x10 mov bl, 0x74 ;dolny pasek mov ah, 2 mov dh, 24 int 0x10 mov ah, 0x09 mov al, 0xDC mov cx, 80 int 0x10 mov bl, 0x40 ;lewy i prawy pasek mov ah, 2 mov dh, 1 int 0x10 mov al, 0x00 mov cx, 23 lewy: call bok loop lewy mov ah, 2 mov dh, 1 mov dl, 79 int 0x10 mov cx, 23 prawy: call bok loop prawy mov ah, 2 mov dh, 0 mov dl, 0 int 0x10 mov ax, 0x4c00 int 0x21
  9. get_save_filename E: albo jakieś rozszerzenie do obsługi plików
  10. ediepl

    [ASM] argumenty rutyn

    A jak zamiast push i pop cx dasz mov cx,11 ? Ew zamiast loop daj DEC CX, 1; CMP CX, 0; JG petla Przyczyna: przy wywołaniu call na stos wrzucany jest adres powrotu Rozwianie: zamiast pop użyj mov cx, [esp+2]
  11. ediepl

    [ASM] argumenty rutyn

    A można przekazywać argumenty w CALL? Zawsze się to robiło przez stos
  12. ediepl

    [ASM] argumenty rutyn

    Dawno nie używalem asm ale zobacz czy zadziała proc pisz len:byte sub ch, ch mov cl, [len] mov si, cx sub si, 1 call pisz, 25
  13. Ustaw room na presistant(czy jakoś tak)
  14. Znaczy że nie ma tego obiektu w roomie/jest nie aktywna. Tzn kiedy przypisujsz zmienna p nie ma instancji tego obiektu w roome
  15. Dość uproszczone, ale łatwo rozwinąć ;) sprite0 - czarny kwardat origin center. sprite1 - zielony prostokąt origin x-0 y-środek sprite2 - niebieskii prostokąt origin x-0 y-środek GML var rot1, rot2, xx, yy; draw_sprite(sprite0, 0, x, y); rot1 = point_direction(x, y, mouse_x, mouse_y); rot1 -= max((sprite_get_width(sprite1)+sprite_get_width(sprite2)) - point_distance(x, y, mouse_x, mouse_y), 0) draw_sprite_ext(sprite1, 0, x, y, 1, 1, rot1, c_white, 1); xx = x + lengthdir_x(sprite_get_width(sprite1), rot1); yy = y + lengthdir_y(sprite_get_width(sprite1), rot1); rot2 = point_direction(xx, yy, mouse_x, mouse_y); draw_sprite_ext(sprite2, 0, xx, yy, 1, 1, rot2, c_white, 1);
  16. Toż to proste jest kruca, lengthdir'ami się pobaw, ew jutro dam Ci kod bo teraz w robocie jestem :(
  17. Mój błąd;) pomyliło mi się z C gdzie int Tab[3] = { 12, 13, 14 }; int Zmienna = Tab; Gdzie zieminna będzie zawierała pierwszy element Tab który nie zmieni się po zmianie wartości tablicy, dawno nie używałem Gm'a :D E: C w sumie też i nie jestem pewien czy zeczywiscie tak jest ;P
  18. cooooo? Chyba niezbyt rozumiesz kod który napisałeś, nie przekazujemy w ten sposób adresu tablicy tylko jej aktualna wartość, a "w" nie staje się tablicą
  19. Nie prościej: GML if(!collision_line(x, y, obj_Player.x, obj_Player.y, obj_Wall, false, true) { lastplayerx=obj_Player.x; lastplayery=obj_Player.y; } mp_potential_step(lastplayerx, lastplayery, spd, false);
  20. Tylko że sprawdzanie czy surface istnieje powinno być przed jego rysowaniem/rysowanie na nim
×
×
  • Dodaj nową pozycję...