-
Postów
25 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez gmysu
-
-
MinGW
-
ediepl podal wlasciwe rozwiazanie. nie mozna alokowac tablicy statycznej ze zmienna jako jej rozmiaru. tak tylko mozna poprzez dynamiczna alokacje
Problem pozostaje ten sam, z tym że teraz nie działa sam zapis. Czy zamiast grzebać w tym srednio udanym tworze, ktoś mógłby napisac program który zapisuje do tablice struktur do pliku binarnego a nastepnie odczytuje je? Bede wdzieczny.
GML#include <iostream>#include <fstream>
#include <string>
using namespace std;
struct book
{
string strTytul;
string strAutor;
int intRok;
};
book* create_table(int rozmiar)
{
book* tablica;
tablica = new book [rozmiar];
fstream plik;
plik.open("baza.dat",ios::binary|ios::in);
plik.seekp(ios_base::beg);
plik.read(reinterpret_cast<char*>(tablica),sizeof(*tablica));
plik.close();
return tablica;
}
int save_table(book* table)
{
fstream plik;
plik.open("baza.dat",ios::out|ios::binary);
plik.write(reinterpret_cast<char*>(table),sizeof(book)*1500);
plik.close();
return 0;
}
int main()
{
int opcja = 0;
int rozmiar_tablicy = 1500;
book* tablica;
tablica = create_table(rozmiar_tablicy);
while(opcja!=3)
{
cout << "Wybierz akcje:" << endl;
cout << "1 - Dodaj wpis" << endl;
cout << "2 - Czytaj 0" << endl;
cout << "3 - Exit" << endl;
cin >> opcja;
switch(opcja)
{
case 1:
{
tablica ->strTytul = "Suicide for dummies";
tablica ->strAutor = "Ktostam";
tablica ->intRok = 2532;
cout << "Dodano ksiazke!" << endl;
}
break;
case 2:
{
int poz = 0;
cout << "Podaj numer pozycji do wyswietlenia: ";
cin >> poz;
cout << (tablica + poz)->strTytul << endl;
}
break;
};
}
save_table(tablica);
delete[] tablica;
return 0;
}
Powyzszy kod to to co mam teraz. Jesli okaze sie ze cudze rozwiazanie tez nie bedzie dzialac, zmieniam srodowisko. Szkoda, bo liczylem na to ze nie bede zmuszony korzystac z visual c++.
-
Spróbuj zamienić book tablica [rozmiar]; na book* tablica = new book[rozmiar];
Wczoraj nie chciało działać z dynamiczną alokacją, dlatego próbowałem dzisiaj z powyższym. Sec.
-
Może źle się wyraziłem. Program kompiluje się i uruchamia bez problemów. Dopiero po udanym uruchomieniu pojawia się znajome wszystkim okno "program zakończył pracę blablabla". Jak już mówiłem, debugger i callstack są puste.
@Edit: IDE - code::blocks
-
pokaż log debugu IDE, oraz sprawdź w calstacku na czym wywala dokładnie i pokaż nam to
Callstack i debugger są puste, nie zwracają żadnych błędów.
-
Mam sobie taki kod w C++:
GML#include <iostream>#include <fstream>
#include <string>
using namespace std;
struct book
{
string strTytul;
string strAutor;
int intRok;
};
book* create_table(int rozmiar)
{
book tablica [rozmiar];
fstream plik;
plik.open("baza.dat",ios::binary|ios::in);
plik.seekp(ios_base::beg);
plik.read(reinterpret_cast<char*>(&tablica),sizeof(*tablica));
plik.close();
return tablica;
}
int save_table(book* table)
{
fstream plik;
plik.open("baza.dat",ios::out|ios::binary);
plik.write(reinterpret_cast<char*>(table),sizeof(*table));
plik.close();
return 0;
}
int main()
{
int opcja = 0;
int rozmiar_tablicy = 1500;
book* tablica;
tablica = create_table(rozmiar_tablicy);
while(opcja!=3)
{
cout << "Wybierz akcje:" << endl;
cout << "1 - Dodaj wpis" << endl;
cout << "2 - Czytaj 0" << endl;
cout << "3 - Exit" << endl;
cin >> opcja;
switch(opcja)
{
case 1:
{
tablica ->strTytul = "Suicide for dummies";
tablica ->strAutor = "Ktostam";
tablica ->intRok = 2532;
cout << "Dodano ksiazke!" << endl;
}
break;
case 2:
{
int poz = 0;
cout << "Podaj numer pozycji do wyswietlenia: ";
cin >> poz;
cout << (tablica + poz)->strTytul << endl;
}
break;
};
}
save_table(tablica);
return 0;
}
Kompilator nie wypluwa żadnych błędów, a mimo to całość wykrzacza się po uruchomieniu. Problem leży prawdopodobnie w odczycie, bo zanim plik zostanie utworzony po raz pierwszy (i nie ma jeszcze niczego do odczytu) wszystko przynajmniej w teorii działa.
Pomocy!
-
Jeszcze do niedawna główny bohater nazywał się Neville, a nie Nevill.
-
pewnie Eclipse przerobił ;3
Hoho! Tyś widzioł Eclipse! To tak zagadkowa materia i do tego napisana w VB że najodważniejsi odpadają. Chcecie zobaczyć GameMakerowy loader na początku?
http://gmc.yoyogames.com/index.php?showtopic=494953&st=0&p=3668149entry3668149
W tym temacie bardzo mocno musiałem bronić "poglądu" że to nie RPG Maker, a tylko tymczasowe graficzki z niego.
-
Hej ha!
Ponieważ nie jestem szczególnie uzdolnionym plastycznie typem, pojawił się problem grafiki i wszystkiego związanego z szeroko pojętymi uzdolnieniami artystycznymi.
Dlatego właśnie szukam ludzi do teamu - sam wnoszę:
Silnik Multiplayer (MMORPG chyba nie, przynajmniej nie od czasu wyłączenia GmTHreads), z następującymi ficzerami:
-PVP
-PVE
-System statystyk postaci
-Multi Room (mam do tego systemu napisany edytor mapek który udostępnię world designerom, śmiem twierdzić że lepszy niż standardowy wynalazek z GM 6.1+)
-Konta graczy (4 postacie, 4 klasy);
-System ekwipunku (przedmioty są widoczne na postaciach po założeniu)
-Customizację (LOL) wyglądu postaci - tzn jeśli tylko jakiś grafik zrobi różne oczy, włosy itd to są widoczne na postaciach.
-Chat lokalny/globalny
-System emotek w grze
-Zewnętrzne zasoby
-System Gui/Hud (może przesadziłem troszkę z tym Gui ale jest funkcjonalny)
-System Skilli
No i siebie - czyli twórcę wszystkiego wypisanego powyżej + PHP i mysql, co może się przydać w późniejszych etapach projektu.
Potrzeba:
Grafików którzy zrobią sprite/tilesety w bajkowo-śreniowiecznie-pixelartowym stylu do platformówki [32x32px - kafel] [256x cośtam x 32 - tile set], grafiki postaci (animacja szkieletowa, wystarczą podzielone na ruchome części sprite
Muzyków - wszystko co będzie pasować do ogólnie przyjętej konwencji
Projektantów poziomów, potworów, przemiotów... do wszystkiego dam odpowiednie narzędzia.
Oferuję:
Każdy zaangażowany w projekt dostanie edytor poziomów i skrypty do ich wczytywania do swoich prywatnych projektów. No i oczywiście credits/część profitów jeśli tylko takie się pojawią.
Jeśli czujesz się na siłach w którejś z wyżej wyszczególnionych kategorii i masz lat 17+, napisz w tym temacie. Skontaktuję się z tobą którymś tajnym kanałem, przy okazji przekażę skriny && wszystkie dodatkowe informacje.
-
Chodzi raczej o przedmioty gotowe do nałożenia na postać.
Pozdrawiam
-
Nie no ta gra się trochę różni od innych - widać niebo :)
Jak chcesz grafę to polecałbym trochę inny styl np. z tej stronki >>> :krider: <<<
Bardzo fajny widok, tyle że w dalszym ciągu potrzebuję modelu postaci && kilku wariacji wyglądu głowy && itemków w formie oddzielnych stripów. Ewentualnie czegoś w rodzaju template do dalszej edycji. Może wyglądać i tak! Nic nie jest ostatecznie rozstrzygnięte :).
-
Na pewno przeczytałeś poprzedni post? Nawet jeśli mam "zmarnować" kilka miesięcy, to i tak doświadczenia nikt mi nie zabierze. Podobnie przyjemności tworzenia takiego projektu:).
-
Dziękuję za szybką odpowiedź - już ripostuję.
To jak gra wygląda, prawdopodobnie ulegnie jeszcze zmianie. Podobnie lista ficzerów - nie powiedziałem nigdzie że to wszystko co mam do powiedzenia w kwestii mechaniki rozgrywki. Każdy kto grał w jakiekolwiek RPG wie, że to co mam tutaj byłoby co najmniej mało grywalne.
Podsumowując - czas i zapał! Poza tym wszystkim nam chodzi przede wszystkim o dobrą zabawę z tworzeniem - a to czy gra będzie się podobać zależy wg. mnie od tego ile serca, potu, krwi, łez i s... sił włożył w to developer.
-
Ufff... miało pozostać tajemnicą, bo już słyszę te motykowo-słońcowe komentarze.
Current features stay as presented:
-Experience, stats&levelling system
-PVP, PVP, with skills support
-PRzemioty i ekwipunek postaci, są widoczne po założeniu, system złota
-4 Postacie na konto
-4 klasy, ale wszystko jest na tyle elastyczne że dodanie kolejnych to maksymalnie 5 minut
-Multi room (świat podzielony na mniejsze obszary, ale tego chyba nie trzeba tłumaczyć)
-Maksymalna oszczędność pakietów, i optymalizacja - dane są wysyłane tylko do graczy w odpowiedniej odleglości, w tym samym roomie, w rozsądnych odstępach czasowych lub kiedy ulegną zmianie
-Zewnętrzne zasoby
-Teleporty
-Do 5 pozycji więcej, ale jeszcze mnie trzyma po sylwestrze! Cudów nie ma, chyba sobie nie przypomnę:}.
-A! Skromny system anty cheat.
Jak widać grafika która jest teraz jest kradziona z produktów Enterbrain, ale ulegnie to zmianie. Muzyka i efekty dźwiękowe pochodzą z legalnego i darmowego źródła, ale jestem w stanie sam coś wymodzić Bo Wiem Jak.
W tej chwili pracuję nad edytorem roomów, który udostępnię ewentualnej grupie developerskiej :D.
Grafika pozostanie utrzymana w konwencji 2d - zależy mi na widocznym niebie! Tym ficzerem mam zamiar zmiażdżyć Tibię :o.
PS. Doskonale zdaję sobie sprawę z ograniczeń Game Makera - bardzo massive to to raczej nie będzie, niemniej - do 150 graczy online chyba da radę. Tym bardziej że pod ręką jest GmThreads:}.
Pozdrawiam!
Edit: Poruszanie - w 4 kierunkach, bez siatki, ale jeśli tylko pojawi się koncept - mogę to wszystko jeszcze dostosować.
-
Bracia! Mam w zanadrzu supertajny projekt, który powali na kolana miliony, staniki będą fruwać itp. Ale zanim ta piękna chwila nastąpi, muszę ubrać "dziecko" (konkrety powędrują do zainteresowanych) w jakieś znośne dla oka szaty.
Na zachętę - engine projektu jest już w zaawansowanych stadiach rozwoju, jestem gotów pochwalić się rezultatami przed ewentualnym aplikantem - nie będziesz jedyną osobą wnoszącą coś od siebie.
Ponieważ sam jestem biednym-wkrótce-studentem, oferuję wyłącznie satysfakcję (możliwe że przyszłość przyniesie bardziej wymierne profity).
(N)etykieta wymaga pochwalenia się swoimi skillami przed światem:
Miałem przelotny romans z C++, z PHP i MySQL lubimy się od zawsze. A od 2 lat - z dokumentacją GMLa.
Potrzebuję grafik wykonanych metodą pixel art, bądź też renderowanych w blenderze czy czymś podobnym. Wszystkiego. Całość utrzymana w konwencji rysunkowej.
Adios! Mam szczerą nadzieję że ktoś wesprze mnie.
-
Jak coś takiego zrobić? Załóżmy że mam 10 obiektów, z których każdy ma zmienną ID. I "x" z tych 10 obiektów ma ID = 2. Jak obliczyć x?
Edit: Znalazłem, prosze o zamknięcie tematu. Przepraszam za ślepotę :)
-
Dodał do kąta, względem którego porusza obiekt, jakiśtam modyfikator.
-
Czy istnieje możliwość stworzenia roomu w game makerze (poukładania kafli), a nastepnie usuniecia grafiki tła w programie i ponownego wczytania z pliku, z zachowaniem układu kafli w edytorze gm?
pozdrawiam
-
Jak w temacie. Postawiłem sobie serwer na komputerze za routerem z włączonym NAT-em, porty są przekierowane prawidłowo, dla świata całość widoczna jest pod aliasem z dyndns.com. Tyle że nijak nie mogę się połączyć z moją aplikacją z zewnątrz, serwer crashuje natychmiast po próbie połączenia.
Dodam, że z localhostem wszystko działa jak najbardziej sprawnie, podobnie jest w przypadku połączeń między maszynami w mojej sieci roboczej. Co to może być? Przejrzałem wszystkie możliwe przykłady i tutoriale - bez efektów. Jakoś nie mogę zmusić mojego "dziecka" do pracy w necie, a szkoda, bo mam już napisany praktycznie cały engine.
Pozdrawiam,
gmysu
-
Hm. Nie bardzo udaje mi się odebrać pakiet wysłany tym sposobem po stronie klienta.
Edit: Oho! Jakieś drgnięcie! :)
Edit2: Przedwczesny zachwyt. Nadal nic po drugiej stronie. (Server -> klient)
-
Mentoss, jak ktoś wbija na serwer, to właśnie przez tcpaccept tworzysz dla niego socket...
Zapisuj te id socketów z tcpaccept tworzonym obiektom, wysyłaj na te sockety.
Mhm w tej chwili w obiekcie który kontroluje akceptowanie połączeń (step) mam coś takiego:
GMLklient = tcpaccept(listen,1);if(klient)
{
o = instance_create(40,40,player);
(o).socket = klient;
}
Mogę wysyłać na socket z którego czytam pakiety?? Jak to? Czy to się jakoś nie gryzie? Tapnij mi takim przykładowym wysyłaniem, bardzo proszę.
-
Mianowicie, jak przesłać dane do wszystkich na serwerze? Otworzyć osobny socket dla każdej instancji danego obiektu na serwerze, i odczytywać z każdego dane w odpowiadającym mu obiekcie klienta? I wreszcie, czy funkcja tcpip() to dobry sposób na realizację czegoś takiego?
Pozdrawiam. Moje dzisiejsze eksperymenty nie dały rezultatów:).
-
Napisałem! W pierwszych 3 linijkach:}. Po prostu nie ma dialogu serwer - klient. Zapora wyłączona :o. A połączenie jest.
Edit: A teraz klient wykrywa serwer. Tyle że serwer nie widzi klienta (zmienna client = 0 w debug mode).
Edit: Pomogłem sobie sam. Przepisałem całość i działa od kopnięcia. Pozdrawiam!
-
Fail! Nawet najmniejszej zmiany. Imho nie wnosi chyba za wiele do problemu ten dwuwers. Chyba że jestem w błędzie, i ma jakiś wyższy sens:}.
Więcej! Nie mogę przez to spać! :)
pliki binarne
w C, C++
Opublikowano
Po modyfikacji struktury coś się wreszcie ruszyło, tj. nie wyskakuje już access violation. Nie mialem pojecia ze string to typ ktorego nie da sie wykorzystac w ten sposob:(. Mam 1500 elementow w tablicy, a plik wynikowy (baza.dat ) nadal ma poniżej 1kb.
Jak powinno wyglądać poprawne rzutowanie w tym wypadku? Dzięki!
Edit: wygląda na to że działa. Dzięki raz jeszcze.