Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 01:38

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Funktion gibt falsche Informationen zurück

Discussion on Funktion gibt falsche Informationen zurück within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1


 
RivathaX's Avatar
 
elite*gold: 77
Join Date: Jan 2009
Posts: 9,732
Received Thanks: 5,599
Funktion gibt falsche Informationen zurück

Hey,
also wie der Titel es schon sagt erhalte ich falsche Informationsrückgabe.

.h
PHP Code:
#pragma once

#include <iostream>
#include <string>
#include <vector>

#define MAX_CHATLINES 300

using namespace std;

struct ChatLines {
    
char _chatline[256];
};

extern struct ChatLines chatlines[MAX_CHATLINES];

class 
ChatlogManagement {
public:
    
// variables
    
char chatlogPath[350];
    
int chatlogSize 0;
    
vector<stringchatlog;

    
// prototypes
    
void CreateChatlogPath();
    
void LoadChatlogs();
    
int API_GetChatLine(int linechar *&content);
}; 
.cpp
PHP Code:
#include <Windows.h>
#include <Shlobj.h>
#include <fstream>
#include "ChatlogManagement.h"
#include "Memory.h"

extern Memory _Memory;

struct ChatLines chatlines[MAX_CHATLINES];

void ChatlogManagement::CreateChatlogPath() {

    
SHGetFolderPath(NULLCSIDL_PERSONALNULLSHGFP_TYPE_CURRENTchatlogPath);
    
strcat_s(chatlogPath"\\GTA San Andreas User Files\\SAMP\\chatlog.txt");
}

void ChatlogManagement::LoadChatlogs() {
    
ifstream filesize(ChatlogManagement::chatlogPathifstream::ate ifstream::binary);
    if (
filesize.is_open()) {
        
ChatlogManagement::chatlogSize = (int)filesize.tellg();
        
filesize.close();
    }

    
ifstream file(ChatlogManagement::chatlogPath);
    if (
file.is_open()) {
        
string _line;
        while (
getline(file_line)) {
            
_line _line.substr(11);
            
ChatlogManagement::chatlog.push_back(_line);
        }
        
        
reverse(ChatlogManagement::chatlog.begin(), ChatlogManagement::chatlog.end());
        
file.close();
    }
}

int ChatlogManagement::API_GetChatLine(int linechar *&content) {
    if (
_Memory.CheckHandles() == 1) {
        
char _tmpchar[256];
        
int _tmpsize;

        
ifstream filesize(chatlogPathifstream::ate ifstream::binary);
        if (
filesize.is_open()) {
            
_tmpsize = (int)filesize.tellg();
            
filesize.close();
        }

        
ifstream file(chatlogPath);
        if (
file.is_open()) {
            if (
_tmpsize != chatlogSize) {
                
file.seekg(chatlogSizeios_base::beg);

                
string _line;
                while (
getline(file_line)) {
                    
_line _line.substr(11);
                    
chatlog.insert(chatlog.begin(), _line);
                }
            }

            
file.close();

            
chatlogSize _tmpsize;

            
sprintf_s(_tmpchar"%s"chatlog[line]);
            
memcpy(content_tmpcharsizeof(_tmpchar));

            return 
1;
        }
    }

    return 
_Memory.CheckHandlesErrorCode;

Derjenige der es erstellt (Slider) hat, weiß selber nicht woran es liegt.
Jedenfalls Funktioniert es bei ihm nur wenn ich es Abfrage erhalte ich das hier als Rückgabeinformation:
[11:54:32] RivathaX: Test
[11:54:34] (( RivathaX sagt: Last Line: ¸+$ ))

Und so rufe ich die Funktion auf
GetChatLine(0,line)
SendChat("/b Last Line: " . line)

Jedenfalls erhalte ich nicht genau das was in der Zeile zuvor bzw. die Zeile die ich vorgegeben habe 1 zu 1 zurück.
Ich bitte daher um eure Hilfe.
RivathaX is offline  
Old 09/03/2014, 10:35   #2
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
Quote:
Und so rufe ich die Funktion auf
GetChatLine(0,line)
SendChat("/b Last Line: " . line)
Und wie ruft er sie auf?
was ist "line"?

Quote:
SendChat("/b Last Line: " . line)
Kann das mit dem Punkt funktionieren?

... und warum öffnet er die datei jedes mal aufs neue?

Könntest dir in der GetLine Funktion natürlich auch mal das chatlog array komplett ausgeben lassen, dann wüsstest du ob die lines richtig geladen wurden.

e/ Ansonsten mal mit chatlog[0].c_str() anstatt line bei SendChat probieren. (Erst API_GetChatLine oder LoadChatlogs aufrufen)
Elektrochemie is offline  
Old 09/03/2014, 10:58   #3


 
RivathaX's Avatar
 
elite*gold: 77
Join Date: Jan 2009
Posts: 9,732
Received Thanks: 5,599
Quote:
Originally Posted by Elektrochemie View Post
Und wie ruft er sie auf?
was ist "line"?



Kann das mit dem Punkt funktionieren?

... und warum öffnet er die datei jedes mal aufs neue?

Könntest dir in der GetLine Funktion natürlich auch mal das chatlog array komplett ausgeben lassen, dann wüsstest du ob die lines richtig geladen wurden.
"line" ist lediglich ein Content denn ich als Variable definiere. So kann ich ihn mit der Funktion "SendChat" direkt abrufen ohne die Funktion selber da noch rein zuschreiben.
Ja es kann mit dem Punkt funktionieren. Man könnte es auch weglassen.

An sich sollte es gehen, denn mit seiner DLL Funktioniert es. Nur ich würde es gerne in meiner einbauen. Er selber kann mir keine Infos geben weshalb es nicht geht.
RivathaX is offline  
Old 09/03/2014, 11:27   #4
 
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
content nur als Referenz schon probiert?

API_GetChatLine(int line, char *&content)
Elektrochemie is offline  
Reply


Similar Threads Similar Threads
[Hinweis!] Evtl. scam versuche / falsche Informationen beim Beta key kauf.
12/04/2013 - General Gaming Discussion - 0 Replies
Guten Tag, da ich seit heute schon öfters gesehen habe das versucht wird WS Stress test Keys als vollwertige Keys zu verkaufen, oder auch angepriesen wird das man trotzdem permanenten zugang zur Beta bekommt, wollte ich euch nur eben den Hinweis geben das, dass Falsch ist / Betrug ist. Laut den aktuellen Reddit posts von Carbine : zu deutsch: Stress Test invites sind kein permanenter zugang zur Wildstar Beta, wenn ihr einen Stress test Key erhaltet werdet ihr lediglich NICHT von der...
[C++] GetPixel gibt falsche Werte zurück
10/15/2009 - C/C++ - 26 Replies
Hi Leute ^^ Ich hab heute mal versucht für Combat Arms einen kleinen "Aimbot" (eig kann mans so nicht nennen) zu schreiben, der jedes mal wenn jemand durch mein Fadenkreuz läuft schießt. Dafür muss ich natürlich still stehen und darf die Waffe nicht bewgen. Soweit, sogut. Jetzt kommen wir zu meinem Problem: Sobald ich jedoch ingame gehe (also sobald die 3D Engine von CA läuft (im Menü gehts noch)), gibt GetPixel immer den selben Wert zurück, welcher jedoch in keinster Weise passt. Bei...



All times are GMT +2. The time now is 01:38.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.