closed, da als erledigt markiert
Beiträge von Remix
-
-
Bitte melden Sie sich an, um dieses Bild zu sehen.
mein surface
-
- Full code from ymir src is based all checks on DWORD (for check level,map etc), why i will want to change and for what.
yes but that doesnt mean that you have to use DWORD
ZitatAlready is exist a check on beggining function what sended by packet
maybe but methods/functions are made for reusability
if you use it somewhere else a pointer might be a nullptrits also good practice to check it at the beginning of a function/method
ZitatFor this you need to insert elements on map when server start(example) (need elements inserted before to check) and i not see this like "better solution" for a simple checking mapindex and level restriction, is just more coding for nothing to make other things for inserted, one for check etc.
its better to define the container once
sure, doesnt require much performance but its not necessary to declare it again and again since the values dont change anywaysZitatstd::map to check these things is not so useful, we can do more simple with a simple struct.
So here is:i used a map as example because you used it
i'd use a vector in c++your code will probably work (didnt test it) but i was just talking about good coding practices
-
ps: Nice photo Bitte melden Sie sich an, um diesen Link zu sehen.
Here is on C++ is someone want:
C- //@Src/game/src/input_login.cpp
- // Add where you want:
- void AnalyzeWarpIsDenied(LPCHARACTER ch)
- {
- typedef std::map<DWORD,DWORD> TMapIndexes;
- TMapIndexes m_map;
- m_map[91] = 75; //--** Grotto of Exile 1st Floor
- m_map[82] = 75; //--** Grotto of Exile 2nd Floor
- m_map[216] = 75; //--** Devils Catacomb,
- m_map[218] = 90; //--** Cape Dragon Head
- m_map[219] = 90; //--** Dawn Mist Wood
- m_map[220] = 90; //--** Mount Thunder
- m_map[221] = 90; //--** Bay Black Sand
- itertype(m_map) key = m_map.find(ch->GetMapIndex());
- if (key != m_map.end() && curLevel < key->second)
- {
- ch->ChatPacket(CHAT_TYPE_NOTICE, "Your level is too low to stay in this map. You will be teleported back to your village.");
- ch->ChatPacket(CHAT_TYPE_NOTICE, "Come back when you have level %d.", key->second);
- ch->GoHome();
- }
- }
- //1.) Search for:
- ch->SendGreetMessage();
- //2.) Add after:
- AnalyzeWarpIsDenied(ch);
why do you make a new type alias for a single usage?
also, no need to use DWORD (unsigned integer), short or unsigned short is enoughyou forgot to check the char pointer:
your method names always imply it returns a boolean but it doesnt
should look like this: -
Bitte melden Sie sich an, um dieses Bild zu sehen.
Mache mal Daemon nach
-
Bitte melden Sie sich an, um dieses Bild zu sehen.
standard wallpaper beste
-
Hast wahrscheinlich irgendwo tabs falsch gesetzt
-
Glaube deine Aussage ist nicht ganz richtig...
Denn z.b hat Karma2 im Charfenster die möglichkeit 8 Chars zu erstellen was auch mit dem Src zusammenhängt..Das Interface an sich hat nichts mit dem Source zu tun
Die Funktionalität ist eine andere Sache -
hab das gesucht & gefunden aber da steht einfach nur der dl + source link aber null dabei was es macht, wie es geht etc . :o
danke dennoch, aber das wäre sowieso zuviel, mir gehts echt nur um hidden^^hi könntest du evt. sagen wie das möglich wäre, möchte hidden nämlich fixxen hehe
Bei 'nem hit einfach 'nen Unix timestamp + x ms setzen dann immer checken ob die x ms vergangen sind oder nicht
-
Die einfachste (und sicherste) Lösung wäre es, wenn nach einem hit für die nächsten x ms kein hit mehr ankommt
-
Ihr driftet föllig ab eigentlich geht es hier darum einen core vor Diebstahl zu schützen darum das die game nur auf dem root läuft wo sie soll oder eben von dem angepasst werden kann der den Source hat
dafür gibt es keinen komplett sicheren schutz
-
Brauchst nichtmal die Mühe mit nem dissambler, cmd -> Netsat reicht schon.
ist mit nem proxy system relativ leicht zu umgehen
100 proxies vor knallen und schon kann man auch nicht mehr wirklich angegriffen werden -
Genaue Erklärung für Leute die sich nicht auskennen wie man die IP Adresse "versteckt" und nich mehr auslesbar mit z.B Editoren ist, wäre mega
ist unmöglich
-
Wenn man die Ip noch im Src verpackt, dass sie nicht ausgelesen werden kann.
Weil die syserr als can´t assing requested address spammt. xD
kann man mit jedem hex editor auslesen
Zur Not nimmt man einen disassembler -
Was genau macht BIND_IP dann?Bzw. welchen Sinn hat BIND_IP in der Config dann?
dieser Guide ändert einfach die Standard IP
-
moin
habe heute angefangen eine art verbesserte string klasse für c++ zu entwickeln, da in der string klasse der STL einige nützliche funktionen fehlen (zB formatierungsmethoden) und es mich ankotzt, dass eine bestimmte menge speicher reserviert wird, egal wie lang der string ist
das ganze basiert auf einem c string (char pointer) und benutzt die c string funktionen aus der string.h bibliothek
die klasse steckt noch in den kinderschuhen
wollte aber trotzdem schon das github repository veröffentlichen, evtl ist ja jemand an der entwicklung interessierthabe die klasse für mich selber angefangen
also ist es kein weltuntergang wenn sie keiner nutzt(aktueller Stand)
Vorteile gegenüber std::string- dynamische Speicherreservierung (es wird nur das genutzt, was gebraucht wird)
Vorteile gegenüber C strings
- einfachere Nutzung
Features
- Überladene mathematische Operatoren: operator=
- Überladene type Operatoren: char*, std::string (man kann das String Objekt an jede Funktion/Methode geben, die C/C++ Strings nutzt)
Repository
die klasse findet ihr hier: Bitte melden Sie sich an, um diesen Link zu sehen.im main branch werden stable versionen sein
im dev branch der aktuelle entwicklungsstandNutzung
die nutzung ist relativ simpel:Alles anzeigen
mfg remix -
Bitte melden Sie sich an, um diesen Link zu sehen.
kannst das lesen dann kennst du dich damit besser aus als 99.999999999% der metin2 com -
-
kommt auf die Qualität deiner Arbeit an.Kontaktiere mich gerne in Skype.
wenn kein c++ dev vorhanden ist wie soll dann die qualität erkannt werden?
-
wie hoch ist der stundenlohn?