problem z getchar.

0

Witam wszystkich.
Jest to mój pierwszy post na tym forum i pewnie nie ostatni.
Moim celem jest napisanie własnego programu... tak zwanego bota do gry.
Oczywiście wiem to, że trzeba zaczynać od podstaw i poświęcić bardzo dużo czasu.
Oglądam na youtube jakieś podstawy... robię wg. poradnika i gdy przychodzi czas na
wpisanie "getchar();" pojawia się problem. Nawet nawias po spacji dawałem i też nie działa.
user image
http://www.dropmocks.com/mBiI_t
Tak to wygląda.
Proszę o pomoc. Dziękuję i pozdrawiam.
Z poważaniem ;)

0

http://www.cplusplus.com/reference/clibrary/cstdio/getchar/
Odpowiedź brzmi: jak używasz jakiejs funkcji to musisz wiedzieć w jakiej jest bibliotece! W tym przypadku jest to cstdio

0

Ughhhh.... Dlaczego nie wkleiłeś kodu zamiast linków do obrazków?
Dlaczego nie napisałeś na czym polega problem (jaki jest komunikat błędu)?

W iostream nie ma funkcji getchar(). Musisz zaincludować stdio.h, albo użyć czegoś specyficznego dla C++ (koledzy zapewne pomogą w tej kwestii).

EDIT: ...albo dołączyć cstdio jak Shalom zaproponował :D

0

Jeśli już korzystamy z iostream i strumieni w ogóle, to lepiej w tej sytuacji użyć cin.get(). Ono także w tej sytuacji nie wymaga załączania żadnej dodatkowej biblioteki.

0

Nie bardzo łapie ; D
Z tego co rozumiem używam 'iostream', a powinienem używać 'stdio.h'.
Jak to zmienić?

0

Nie. Używasz iostream, a powinieneś iostream i cstdio :)

#include <iostream>
#include <cstdio>
0

Zacznij od jakiegoś kursu od podstaw. Wiesz w ogóle do czego służy dyrektywa #include ? Albo książki, albo coś typu "od zera do gier kodera".

0

Dzięki wielkie za pomoc! :)
Patrzyłem na youtube jak to zrobić i facet pisał tylko
#include <iostream> :)
Nie wiem zatem jak mu to wyszło poprawnie.
Jeszcze raz wielkie dzięki :D :)

0

Próbuję zrobić kalkulator.
wygląda tak:

 #include <iostream>
#include <cstdio>

using namespace std;

int main()
{

	cout << "Kalkulator \n\n";
	
	while(true)

	cout << "wpisz dzialanie: ";

		double liczba1;
		double liczba2;
		char znak_operator;
		double wynik;
		
		cin >> liczba 1 >> znak_operator >> liczba2;
		
		if (znak_operator == '+')
	}
 {
        /*      daneST zmienna; -> błąd kompilator nie wie co to jest - 
            error: `daneST' was not declared in this scope */
        using jakasNazwa::zmienna;
        cout << zmienna;
    }
{
	
  wynik = liczba1 + liczba2;
                cout  << "Wynik: " << wynik << endl
                 							<< endl;
}
else if (znak_operator=='*')
a powinno byc:
else if (znak_operator=='/')
i w? 35 rowniez jest blad poniewaz jest:
wynik=liczba1-liczba2
a powinno byc:
wynik=liczba1/liczba2    
       }
}

system ("pause")
return 0;

Problem jest [Error] 'liczba' was not declared in this scope.

Idzie go jakoś naprawić? W czym mam błąd ?

1
cin >> liczba 1 >> znak_operator >> liczba2;

Jak tak szybko na to spojrzałem to " spacja " Ci się wkradła pomiędzy liczba i 1 ... dlatego traktuje jako osobną niezadeklarowaną zmienną :>?

0

Powiedzcie mi... da rade właśnie w C++ napisać tzw. bota ? http://4programmers.net/Forum/C_i_C++/196941-problem_z_getchar?mode=submit
Chodzi mi o to, by się przemieszczać w grze po jakimś małym polu, by atakował moby i by używał heal.
np. bym mógł w nim zaznaczyć 4 miejsca, po jakich ma chodzić i gdy pojawi się jakaś bestia, by ją zaatakował i klikał np '1/2/3'-skille... a gdy życia/many mniej niż X by nacisnął np '5/6'
Da się coś takiego zrobić?
Jakieś wskazówki ??

0

Ale w jakiej grze? A zresztą, to mi wygląda na chęć botowania w MMO, co jest nidozwolone. Jeśli tak i nie masz czasu żeby grać, to nie graj. Farmienie botem jest nie fair wobec innych graczy.

1

@DroniC czy się da? Tak, ale miną pewnie miesiące zanim ogarniesz się na tyle żeby coś takiego napisać.

0

gra: Aion :D
jak dla mnie może to trwać i rok. Zawsze się czegoś nauczę. Takim celem jak na razie jest bot.
Bot byłby tylko dla mnie ; p nikomu bym go nie udostępniał.
Problem w tym, że nie wiem od czego zacząć naukę i co konkretnie będzie mi potrzebne, hah ;D

1
DroniC napisał(a)

Bot byłby tylko dla mnie ; p nikomu bym go nie udostępniał.

I naprawdę uważasz, że jeśli bota będziesz używał tylko Ty, to będzie wtedy fair? To tak, jakbyś zapytał nas jak napisać aimbota do BF3 i że będziesz go używał tylko Ty, więc luz...
Wybacz, ale sam gram w grę MMO, która do niedawna cierpiała z powodu botów farmiących złoża i uważam, że osoby które się tego dopuszczają powinne dostać permban na wszystkie gry MMO. Jeśli masz 12-16 lat, zajmij się czymś pożyteczniejszym. Jak jesteś starszy, dorośnij.

0
DroniC napisał(a)

Problem w tym, że nie wiem od czego zacząć naukę i co konkretnie będzie mi potrzebne, hah ;D

Jest "szukajka", ale jak Ci się nie chce, to podpowiem.

  1. Jakieś IDE, polecam Code::Blocks.
  2. Materiały - książki, kursy, etc.

Jeśli chodzi o książki, to np. "C++ Ćwiczenia praktyczne" A. Stasiewicz, "C++ dla każdego", "Thinking in C++", "Język C++. Szkoła programowania. Wydanie V". To jeśli chodzi o podstawy, później sam będziesz wiedział, czego chcesz, o ile nie zrezygnujesz. Jeśli chodzi o "kursy" w internecie, to np. www.google.pl/search?q=od+zera+do+gier+kodera .

  1. Chęci, motywacja. :)
1
Kumashiro napisał(a)

I naprawdę uważasz, że jeśli bota będziesz używał tylko Ty, to będzie wtedy fair? To tak, jakbyś zapytał nas jak napisać aimbota do BF3 i że będziesz go używał tylko Ty, więc luz...
Wybacz, ale sam gram w grę MMO, która do niedawna cierpiała z powodu botów farmiących złoża i uważam, że osoby które się tego dopuszczają powinne dostać permban na wszystkie gry MMO. Jeśli masz 12-16 lat, zajmij się czymś pożyteczniejszym. Jak jesteś starszy, dorośnij.

Oj tam, moze i nie fair, ale bardzo sie przydaje ;) Sam w sumie zaczynalem nauke z celem pisania botow i w sumie sie udalo ;p

Jesli serio myslisz o botach to nauki sporo. Zeby cos lepszego zrobic to trzeba znac asm, w miare przyzwoicie(do pisania bypassow). Ogarnac olly, zakladanie hookow na funkcje. Obsluga pakietow, grzebanie w pamieci procesu, dll inject, samo c++ to najmniejsze zmartwienie. Zapal po paru dniach i tak Ci przejdzie zapewne.

0

Okej, dzięki ;D Tyle tego, że aż nie wiem od czego zacząć.
Na jakiej zasadzie będzie to polegać?
Np. takie uleczanie się w grze ; p
Chodzi o to, by jakoś bota połączyć z tą grą.
Co to jest to 'bypass'? ;]
Krycho. Mówisz, że Ci się udało.... Ile czasu poświęciłeś na naukę?:]

0

Bypassy to ogolnie rzecz biora obejscia do hackshieldow, bo to jest najtrudniejsza czescia calej "zabawy". Samo pisanie bota to juz ta przyjemniejsza czesc. Ja akurat studiuje informatyke, wiec duzo rzeczy nauczylem sie stad, reszte samemu z roznych tutoriali. Google chetnie pomoze we wszystkim.

Leczenie jest proste. znajdujesz adres w pamieci gry ktory przechowuje stan zdrowia, robisz sobie watek sprawdzajacy co chwile stan zdrowia jesli spadnie, wysylasz do gry sygnal uzycia medycynki czy cus.

0

Ja też informatyka... 1 lvl w Newham College xd
Czego się uczę? Właściwie to niczego.
Skoro na szkole nie mogę polegać i w niej nic się nie mogę nauczyć postanowiłem, że biorę sprawy poniekąd we własne ręce i nauczę się czegoś poza szkołą.

"Leczenie jest proste. znajdujesz adres w pamieci gry ktory przechowuje stan zdrowia, robisz sobie watek sprawdzajacy co chwile stan zdrowia jesli spadnie, wysylasz do gry sygnal uzycia medycynki czy cus."

Jak mam to znaleźć? :)
Otwierać każdy plik po kolei w notatniku i ctrl+f i wpisywać health?? ; p

0

@DroniC ty masz chociaż jakieś wątłe pojęcie o tym jak działają programy na poziomie asemblera? o_O Jakie znów pliki? Przecież tu chodzi o dane które są w pamięci procesu gry a nie w jakichś plikach...

0

szczerze?
Nie, nie mam pojęcia ;d
W jaki sposób mam to znaleźć w tej pamięci gry ? ; o

2

Z całym szacunkiem, ale ale chyba się ktoś tu nad autorem pastwi.

@DroniC, czytaj uważnie co tu jest napisane.

Zanim będziesz zdolny napisać takiego bota miną miesiące, zwłaszcza, że póki co prawie nie masz o niczym pojęcia z tej dziedziny. Programowanie to nie jest "hop-siup,magiczne instrukcje i napisane". Na razie naucz się po prostu języka. Może być C++. Opanujesz podstawy, opanujesz rzeczy średnio zaawansowane - będziesz wtedy miał na tyle wiadomości, że będziesz wiedział czego w ogóle szukać, żeby się zabrać za tego bota (pomijając kwestię legalności, moralności, bo to nikogo nie powinno obchodzić) - po drodze dowiesz się co to jest assembler, jak działają programy komputerowe, jak istnieją w pamięci procesy - ale nie zrobisz tego w godzinę. Musisz poświęcić na to dużo czasu, chęci, sił - wtedy Ci się uda, jeśli nie zniechęcisz się po pierwszych tygosniach, miesiacach nauki. Nie próbuj na razie nawet wybiegać tak daleko w przód - powoli realizuj podstawy, nie poddając się. Jeśli będziesz chciał od razu rozwiązać swój problem, to utkniesz na samym słownictwie - sprawdzając co to bypasssy będziesz musiał sprawdzić co to hook, co to proces, co to asembler, co to pamięć i tak dalej, i tak dalej...

Powoli, systematycznie - tylko tak może ci się udać.

0
Shalom napisał(a)

@DroniC czy się da? Tak, ale miną pewnie miesiące zanim ogarniesz się na tyle żeby coś takiego napisać.

Wystarczy pomysł ;)

Często MMO mają to do siebie, że mają jakiś hotkey na pobranie najbliższego celu (generalnie jest to tab), i potem wysyłamy do okna klawisz ataku (od 1 do 9 pewnie). Z HP i maną bawimy się za pomocą GetPixel.

To chyba najprostsza droga napisania bota, nie ma co się wgłębiać w DLL Injection bez podstawowej wiedzy

DroniC napisał(a)

szczerze?
Nie, nie mam pojęcia ;d
W jaki sposób mam to znaleźć w tej pamięci gry ? ; o

Nie dasz rady, nie bez znajomości działania tego u podstaw
Pewnie nadal Ci w głowie notatnik, więc nakieruję Ciebie bardziej - bo jesteś totalnie w błędzie.

Znajdź pierwszy lepszy filmik na youtube w stylu "Cheat Engine cheat", np.

Od razu mówię, że sam się na tym zbyt dobrze nie znam (asm), ale CE się bawiłem, i jest dużo prostszy niż OllyDbg, czy IdaPro

Koleś programem zmienia wartości zmiennych w procesie aplikacji. Otwiera proces programem, i je wyszukuje. Ty musisz zrobić to samo, tylko zamiast tak banalnych rzeczy musisz nauczyć się wyszukiwać adresy funkcji, by móc je potem przywołać.

Poucz się skutecznie C++ pare dni, i jak będziesz czuł sie na siłach to przejdź do wskaźników, a potem interesuj się tym co tu napisałem (i tak twoja wiedza pewnie będzie za mała, ale dopóki masz jakiś zapał to próbuj, bo i tak Ci zniknie pewnie :) )

Polecam na początek AutoIT, dużo prostszy od C++ (tam nawet nie ma typów zmiennych), a potem jak będziesz wymagał od siebie więcej zajrzyj do C++
AutoIT to chyba najłatwiejszy, i najbardziej przyswajalny język skryptowy dla newbies. Sam z nim zaczynałem i już mam go dosyć, dziwnie się czuję nie pisząc typów zmiennych, czy struktur

0

Mam AUTO IT... ale dzięki niemu chyba nie osiągnę tego co chcę : D

0

Jesli chce pisac boty to lepiej niech sie uczy c++ i asma, zamiast tracic czas na autoit.

http://gynvael.coldwind.pl/?id=433

Bardzo przydatne tutoriale zrobione przez polaka na temat asma i RE. Ciekawie i fajnie tlumaczone. Sam sie z nich uczylem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1