Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server
You last visited: Today at 16:50

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

Advertisement



[Source]Scanner Problem

Discussion on [Source]Scanner Problem within the Flyff Private Server forum part of the Flyff category.

Closed Thread
 
Old   #1
 
iSynaptic's Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 195
Received Thanks: 65
[Source]Scanner Problem

Hallo Leute,

ich bin gerade einem Problem begegnet was ich wirklich nicht zuordnen kann.
Ich hole mir mit dem Scanner 2 Werte, einmal den Charakternamen und ein Penya Betrag.

Der Name Wird erkannt, es wird die ID abgerufen, auch der Penyawert wird erkennt, aber sobald ich den Penya Wert mit Scanner.Token habe, werden
die 2 Variablen für den Charakternamen WOHL? mit dem des Penyas überschrieben, was für mich einfach keinen Sinn ergibt.

So sieht die Funktion aus:

PHP Code:
#ifdef __WORLDSERVER

int        nGold;

LPCTSTR    szName;
LPCTSTR unBug_SzName

CUserpUser = (CUser*)scanner.dwValue;

scanner.GetToken();    
szName scanner.Token;
unBug_SzName szName// Mein Versuch das Ergebnis gleich zu sichern
Error"Name: %s"szName );

u_long idPlayer    CPlayerDataCenter::GetInstance()->GetPlayerId((char*)szName );
    
if ( 
idPlayer == 
{
        
pUser->AddText("Der Spieler ist nicht Online und kann somit nicht auf die Wanted Liste gesetzt werden");
        return 
TRUE;

    }else{
        
        
nGold scanner.GetNumber(); 
        
Error("nGold %d"nGold );
        
Error"Name: %s",unBug_SzName );
        if ( 
nGold 200000000 || nGold 1000 )
        {
            
pUser->AddText("Die Kopfgeld Summe muss zwischen 1000 und 200 000 000 Penya liegen");
            return 
TRUE;

        }else{
            
            
Error("SetWanted: %s, %d, %d, %s"unBug_SzNameidPlayernGold"System Kill" );
            
g_DPCoreClient.SendWCWantedGoldunBug_SzName idPlayernGold"System Kill" );
        }

    }
#endif 

In meinem Error Log ist auch gut zu erkennen, dass er beide Werte erst einmal richtig bekommt:

2012/ 8/12 00:26:40 Name: MadeMyDay // richtig
2012/ 8/12 00:26:40 nGold 4000 // richtig
2012/ 8/12 00:26:40 Name: 4000 // nicht korrekt
2012/ 8/12 00:26:40 SetWanted: 4000, 4, 4000, System Kill

Hat jemand eine Idee woran das liegen könnte, und wie ich dem vorbeugen kann ?


Edit:

Ich habe den Spieler um den es geht, jetzt als CUser pTarget ausgelegt und beziehe den Namen aus der CUser Klasse ( getName() ). Allerdings finde ich das doch ein wenig umständlich nur wegen dem Namen noch einmal eine Klasse zu initalisieren. Vorschläge sind gern gesehen.
iSynaptic is offline  
Old 08/12/2012, 03:10   #2
 
Pumbaaa's Avatar
 
elite*gold: 20
Join Date: Apr 2009
Posts: 804
Received Thanks: 829
Nun, da es sich bei einem LPCTSTR um nen TCHAR Zeiger (bin mir nich sicher, ob TCHAR, aber Zeiger) handelt, wird mit szName nur auf Token der CScanner Klasse gezeigt. Die Addresse gibst du an den anderen Zeiger, unBug_SzName, weiter, sodass auch er auf Token von CScanner zeigt.
Du solltest einen TCHAR bzw char Array erstellen, evtl via TCHAR *szName = new TCHAR[strlen(scanner.Token)+1], via strcpy oder memcpy den Wert von Token in szName kopieren (strcpy(szName,scanner.Token); ) und anschließend das ende des Arrays nullen (szName[strlen(scanner.Token)] = 0.

Das sollte dein Problem lösen.
Pumbaaa is offline  
Old 08/12/2012, 04:15   #3
 
elite*gold: 0
Join Date: Jun 2012
Posts: 194
Received Thanks: 417
Quote:
Originally Posted by Pumbaaa View Post
Nun, da es sich bei einem LPCTSTR um nen TCHAR Zeiger (bin mir nich sicher, ob TCHAR, aber Zeiger) handelt, wird mit szName nur auf Token der CScanner Klasse gezeigt. Die Addresse gibst du an den anderen Zeiger, unBug_SzName, weiter, sodass auch er auf Token von CScanner zeigt.
Du solltest einen TCHAR bzw char Array erstellen, evtl via TCHAR *szName = new TCHAR[strlen(scanner.Token)+1], via strcpy oder memcpy den Wert von Token in szName kopieren (strcpy(szName,scanner.Token); ) und anschließend das ende des Arrays nullen (szName[strlen(scanner.Token)] = 0.

Das sollte dein Problem lösen.
Awas, denk doch nicht so kompliziert.

PHP Code:
#ifdef __WORLDSERVER 
int nGold
CUserpUser = (CUser*)scanner.dwValue
scanner.GetToken();     
u_long idPlayer        CPlayerDataCenter::GetInstance()->GetPlayerIdscanner.token );
CUserpTarget g_UserMng.GetUserByPlayerIDidPlayer );
if ( 
IsValidObjpTarget ) )  

        
pUser->AddText("Der Spieler ist nicht Online und kann somit nicht auf die Wanted Liste gesetzt werden"); 
        return 
FALSE

    }else{ 
         
        
nGold scanner.GetNumber();  
        if ( 
nGold 200000000 || nGold 1000 
        { 
            
pUser->AddText("Die Kopfgeld Summe muss zwischen 1000 und 200 000 000 Penya liegen"); 
            return 
FALSE

        }else{ 
             
            
g_DPCoreClient.SendWCWantedGoldpTarget->GetName(), idPlayernGold"System Kill" ); 
        } 

    } 
#endif 
Wäre halt die einfachste Methode.
Würde den Namen nicht extra speichern lassen.
Kannst aber auch so:
PHP Code:
#ifdef __WORLDSERVER
int        nGold;
CUserpUser = (CUser*)scanner.dwValue;
scanner.GetToken();    
u_long idPlayer    CPlayerDataCenter::GetInstance()->GetPlayerIdscanner.token );
if ( 
idPlayer == 
{
        
pUser->AddText("Der Spieler ist nicht Online und kann somit nicht auf die Wanted Liste gesetzt werden");
        return 
TRUE;

    }else{
        
        
nGold scanner.GetNumber(); 
        if ( 
nGold 200000000 || nGold 1000 )
        {
            
pUser->AddText("Die Kopfgeld Summe muss zwischen 1000 und 200 000 000 Penya liegen");
            return 
TRUE;

        }else{
            );
            
g_DPCoreClient.SendWCWantedGoldg_UserMng.GetUserByPlayerIDidPlayer )->GetName(), idPlayernGold"System Kill" );
        }

    }
#endif 
Sollte funktionieren, habs nicht getestet.

Achja, man sollte wenn die ID z.B nicht valid ist oder so, nicht TRUE returnen, da es ja keinen Grund gibt, und die Funktion einfach abbricht. Also bleib lieber bei FALSE.
Aspectus is offline  
Old 08/12/2012, 10:47   #4
 
iSynaptic's Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 195
Received Thanks: 65
Naja war nen Flüchtigkeitsfehler von mir, war ziemlich spät.
Ich muss den Scanner mit Scanner.GetToken() nur nochmals anweisen den
nächsten Token zu scannen.

CUser verwende ich jetzt aber dennoch, da ich eine User Message ausgeben lasse.
Hat sich also geklärt,
danke für eure Hilfe.
iSynaptic is offline  
Old 08/12/2012, 17:22   #5



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
#Closed
Sedrika is offline  
Closed Thread


Similar Threads Similar Threads
Biete Dein VIrus Scanner + Source Suche e*G / psc
02/25/2012 - elite*gold Trading - 33 Replies
Guten Tag, Ich verkaufe Heute Meine Source + Die Exe Von Den Virus Scanner Das Ganze hat Viel Arbeit Gekostet Und Gedult Das Ganze In autoit geschrieben. Dein Pc Nach Viren Prüfen Er Schiebt Die Viren/Funde In Die Quarantäne.
[Scanner Problem]Mustek Be@rPaw 1200
08/24/2011 - Technical Support - 1 Replies
Hallo, ich habe gestern meinen alten Scanner (Mustek Be@rPaw 1200) mal wieder ausgepackt. Treiber installiert etc.. Es funktuniert fast alles aber das Scannen nicht :rolleyes: Jedes mal wenn ich Scanne kommt diese Meldung: http://s7.directupload.net/images/110823/ion8jgwy .jpg Ich habe jetzt in den Einstellungen was gefunden, jedoch kann ich nichts ändern.
[Source Problem] Source auf LANG 6 compilien [D-Flyff Font]
04/13/2011 - Flyff Private Server - 10 Replies
Hey Leutz, ich komme da mal mit nem mehr oder weniger kleinen Problem. Aufgrund der Misserfolge nur die Neuz in LANG 6 zu compilien, hat man mir geraten die kompletten Bins auf LANG 6 zu setzen. Seitdem funktioniert die D-Flyff Schrift super, es ist nichts verrutscht, Login klappt auch etc. Problem ist jetzt nur das ich keine inGame Rechte mehr habe. Habe extra neuen acc erstellt, neuen char bin sämtliche Operatoren ( L, M, N, O, P, Z) durchgegangen nur leider habe ich immer noch...
Memory scanner problem... How Can solve?
04/28/2010 - General Coding - 1 Replies
Hello all! I'm new in the world of game hacking so I started whit learning c++. After few months i have make a(my frist prg) Memory Scanner .. Whit a littel help by gimeamilk(thanks). So the problems are: I'm new.:D The Memory Scanner can't scan in the memory pages of S4League(only traing don't write questions about..), anybody can explain me why? ------------------------------------------------- ---------------------- I did some search, but i didn't find anything...



All times are GMT +1. The time now is 16:52.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.