Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Możliwości C++ w innym pliku


Rekomendowane odpowiedzi

Opublikowano

Od początku jak się uczę C++, aż są to aż 2 dni :D Prześwitującym mi celem jest opanowanie techniki pisanie tak zwanych libów (.so) i podpinanie ich pod główny plik gry. Teraz do rzeczy plik gry otwieramy np. IDA i funkcje w nim są podzielone na rożne typu CHARACTER, lub QUEST odpowiadające za poszczególne działanie. Przeglądałem temat w dziale MT2 i zauważyłem post Destructa, który wypowiadał się na pewien temat i przytoczył właśnie wykorzystanie liba, to są jego słowa

Wystarczy libem dorobić zmienną w klasie peta owner_name oraz funkcję questową coś a`la pet.is_mine(), która sprawdzi czy pet::owner_name == CHARACTER::GetName();

I tutaj mnie zaciekawił fakt że w C++ pisze się np
std::cout
a tutaj
CHARACTER::GetName()
, czy to rzeczywiście może być akie proste czy tylko mi się wydaje :P ?

nexi.png

 

CYTOWAĆ MOJE POSTY, JEŚLI LICZYCIE NA POMOC !!

Opublikowano

Nie mowa tu o Windowsie tylko o Metinie :D

 

@Down [sarkazm]Aż taki stary nie jestem [/sarkazm] :P

nexi.png

 

CYTOWAĆ MOJE POSTY, JEŚLI LICZYCIE NA POMOC !!

Opublikowano

Faktycznie to "Kid" przed modem dobrze pokazuje Twój wiek.

2 dni nauki to możesz sobie napisać grę tekstową w konsoli, chociaż nie wiem czy i to ogarniesz.

Opublikowano

cout to tak naprawdę console output, czyli specjalny obiekt klasy ostream, który pozwala nam wypisać strumien znaków na konsole. Nie rozumiem, co ma to wspólnego z GetName() która jest metodą czy funkcją z zadaniem zwrócenia jakiejś nazwy.

 

EDIT: ostream, nie ofstream bo to drugie to zapisanie do pliku.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

Nie wiem o co Ci chodzi, ale jeżeli Ci to pomoże to proszę :

 

pet::owner_name == CHARACTER::GetName();

Ten "KOD" sprawdza czy (przykładowo) właściciel konia roman rzeczywiście ma na imię roman o.O chyba.

 

Tak jakby jebnąć taki kod

 

int liczba1 = 2
int liczba2 = 2
liczba2 == liczba1

ale trzeba jebnąć przed tym if bo tak to gunwo.

 

co ja pisze omg

536061453511031953381.png


Opublikowano

Te CHARACTER oraz PET są to odrębne klasy stworzone gdzieś we wnętrzu Metina albo jego 'Liba' (nie mogłem do końca ogarnąć o co chodzi). Jeżeli w Libie to prawdopodobnie majstruje on w tej klasie na pamięci :) RE się będzie teraz też kłaniać:)

hcq0.png


Opublikowano

Chodzi mi dokładnie o to co napisał @Nygol, tylko nie umiałem tego lepiej wytłumaczyć. I teraz pytanie czy to jest tak samo jak ze strumieniem std ? Że np mamy CHARACTER::GetName() i CHARACTEER to tak jakby informacja dla kompilatora o strumieniu do GetName ? Chyba dobrze powiedziałem

nexi.png

 

CYTOWAĆ MOJE POSTY, JEŚLI LICZYCIE NA POMOC !!

Opublikowano

@Nexicoll

Ogólnie te "::" odwołują się do metody statycznej z klasy Character (moge sie mylić bo c++ nie ogarniam zbytnio). A "std" to jest przestrzeń nazw. Klasy mogą posiadać metody statyczne do których nie potrzeba tworzyć instancji (czyt. nie musisz deklarować klasy do zmiennej a potem z zmiennej wywoływać metody). A std to jest przestrzeń nazw nie wiem jak to wytłumaczyć. Zrób sobie proste hello world lecz zamiast std::cout to daj przed funkcją main() kod

using namespace std;

a potem wyświetl tekst zwyczajnie pisząc cout >>

hcq0.png


Opublikowano

Ogarniesz OOP (obiektowe) to będziesz i to ogarniał :) Ja ci tłumaczyłem na przykładzie PHP. Tylko tam przestrzenie wyglądają troche inaczej (inaczej sie odwołujesz) :)

hcq0.png


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...