• 04 Juin 2026, 16:36:22


Auteur Sujet: [PLUGIN] Edit the memory by Sasuke78200  (Lu 11298 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #45 le: 11 Juillet 2011, 11:14:18 »
Ben moi, je l'avais téléchargée (pour en garder une copie si jamais).
Je viens de jeter une œil pour vérifier ce que dit Ssk (je confirme, le #define est bien là).

Par contre, juste une remarque :
L'archive fait 2.4 Mb.
Elle contient un fichier qui fait 7.5 Mb !!
Ce fichier est inutile (fichier .NCB).
Ssk -> La prochaine fois, ne met pas le .NCB dans l'archive, ça allègera.

++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #46 le: 11 Juillet 2011, 11:40:33 »
Salut, merci Syg pour cette remarque.

J'ai donc nettoyé l'archive et ajouté un exemple ( celui des checkpoints ) le lien est sur le premier post.

;)



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #47 le: 11 Juillet 2011, 15:15:21 »
Beau Plugin mais t'es fonctions je comprend pas trop tu pourrais détaillés pour voir leur utilité même si c'est écrit en Anglais avec tout c'est 00x.... Ca me perturbe ! Avec une explication de leurs utilités ça serrais mieux je pense. Merci  :king.
Nippah !

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #48 le: 11 Juillet 2011, 15:22:59 »
Quelles fonctions ? celle du plugin, ou ceux des exemples?



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #49 le: 11 Juillet 2011, 17:45:14 »
Ceux des exemples tu pourrais faire un topic pour mettre des fonctions lié a son utilisation.
Nippah !

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #50 le: 11 Juillet 2011, 17:53:01 »
Dis moi plus précisément lesquels vu que j'ai pas le temps de toute les faire ^^



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #51 le: 12 Juillet 2011, 00:43:59 »
Salut,

tu n'as pas a te préoccupé de grand chose, pour les fonctions faites par Sasuke, il s'est occupé de trouver les adresses et tout (les 0x.... sont des valeurs qui sont en fait les adresses mémoire de certaines informations).

En gros, il cherche l'endroit où se trouve l'information désirée et il récupère l'info ou écrit par dessus. C'est ce que ce plugin ajoute...

++Sim++





Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #52 le: 12 Juillet 2011, 00:48:43 »
<?php
stock HasPlayerCheckpoint
playerid )
{
if( IsPlayerConnectedplayerid ) ) // je test si le joueur est connecté
{
new __NetGame ReadIntMemoryCNETGAME_WIN32 ); // ici je lis la valeur du pointeur NetGame de samp, qui contient TOUTE les informations
new __PlayerPool ReadIntMemory__NetGame 0x04 ); // ici je vais chercher dans NetGame la liste des joueurs
new __Player ReadIntMemory__PlayerPool 0x7D0 playerid 0x04); // ici je vais chercher le joueur qui est situé a l'offset + 0x74D dans la liste des joueur appelé PlayerPool

if( ReadintMemory__Player 0x1A8C ) > ) return 1// ici je vais lire dans la mémoire où sont contenu les informations du joueur si le joueur a un checkpoint ou pas, et cette information se trouve à l'offset 0x1A8C

}

return 0;
}

Cadeau :p



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Hector

  • *
  • Tueur
  • Messages: 81
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #53 le: 12 Juillet 2011, 00:51:11 »
Ssk tu peut regarder t'est message priver pleaze , sinon bon taff pour le plugin
 Hors sujet
Los Brown Pride 15 th

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #54 le: 12 Juillet 2011, 01:23:11 »
j'ai vu sur ce topic qu'il n'y avais pas de fonction GetPlayerSkillLevel, maintenant si


stock ReadShortMemory( address )
{
return ReadByteMemory( address ) + ( ReadByteMemory( address + 1 ) << 8 ); // en espérant que j'ai pas fais d'erreur ( oui je code sans compiler )
}

stock GetPlayerSkillLevel( playerid, skill )
{/*Bizarre je me rend compte ici que j'ai pas mis de fonction ReadShortMemory*/

if( IsPlayerConnected( playerid ) && skill >= 0 && skill < 11 )
{
new __NetGame = ReadIntMemory( CNETGAME_WIN32 );
new __PlayerPool = ReadIntMemory( __NetGame + 0x04 );
new __Player = ReadIntMemory( __PlayerPool + 0x7D0 + playerid * 0x04);

return ReadShortMemory( __Player + 2 * skill + 0x1A37 );
}
return 0;
}



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #55 le: 12 Juillet 2011, 11:15:34 »
C'est plus clair merci a vous deux !
Nippah !

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Re : Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #56 le: 13 Juillet 2011, 02:01:02 »

Sinon j'ai essayé de remplacer par memcpy, mais ça ne fonctionne pas :s

static cell AMX_NATIVE_CALL f_WriteArrayMemory( AMX* amx, cell* params )
{
/*
params[1] - Address
params[2] - array src
params[3] - size of array
*/
CHECKARGS( "WriteArrayMemory", 3 )
if( params[3] == 0 ) return 0;

cell* srcArray = 0;
amx_GetAddr( amx, params[2], &srcArray );

if( srcArray == 0 ) return 0;
/*
for( int i = 0; i < (int)params[3]; i++ )
{
*(unsigned char*)( params[1] + i ) = (unsigned char)srcArray[i];
}
*/
memcpy( (void*)params[1], srcArray, params[3] );

return 0;
}

J'ai peut être fais une boulette ?


Je viens de comprendre ...
memcpy( (void*)params[1], srcArray, params[3] );

écris sur un octet

memcpy( (void*)params[1], srcArray, params[3]*4 );
écris sur 4 octet, et les cell sont des entier à 4 octets

je sort une version demain ou quand j'en aurai envie :p



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #57 le: 13 Juillet 2011, 09:43:34 »
Alors corrige le commentaire, ça évitera les surprises de ce genre à l'avenir :
/*
params[1] - Address
params[2] - array src
params[3] - size of array (in number of cells) <---
*/

De plus,
memcpy( (void*)params[1], srcArray, params[3] );ne copie pas sur 1 octet mais sur une taille 4 fois plus petite que celle attendue.

++
Syg
Courtesy of GtaManiac

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [PLUGIN] Edit the memory by Sasuke78200
« Réponse #58 le: 13 Juillet 2011, 21:53:19 »
nouvelle version



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog