Register for your free account! | Forgot your password?

Go Back   elitepvpers > Shooter > S4 League > S4 League Hacks, Bots, Cheats & Exploits
You last visited: Today at 03:50

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

Advertisement



[Source] Creating Items in your Inventory

Discussion on [Source] Creating Items in your Inventory within the S4 League Hacks, Bots, Cheats & Exploits forum part of the S4 League category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2014
Posts: 741
Received Thanks: 2,648
[Source] Creating Items in your Inventory

Important

You can't start a game with these items | it's just the part how you could create items !



Code:
#include <Windows.h>
#include <process.h>
#include <stdio.h>
#include "xmlParser.h"
#include <string>
#include <sstream>

template <typename T>
bool getValueFromString(const std::string & value, T & result)  // ~ Credits to xxxx... dont remember his name
{
	std::istringstream iss(value);
	return !(iss >> result).fail();
}

DWORD dwBaseAddr = (DWORD)GetModuleHandle(0);

void *DetourFunction(BYTE *src, const BYTE *dst, const int len)
{
	BYTE *jmp = (BYTE*)malloc(len + 5);
	DWORD dwBack;

	VirtualProtect(src, len, PAGE_EXECUTE_READWRITE, &dwBack);
	memcpy(jmp, src, len);
	jmp += len;
	jmp[0] = 0xE9;
	*(DWORD*)(jmp + 1) = (DWORD)(src + len - jmp) - 5;
	src[0] = 0xE9;
	*(DWORD*)(src + 1) = (DWORD)(dst - src) - 5;
	for (int i = 5; i<len; i++)  src[i] = 0x90;
	VirtualProtect(src, len, dwBack, &dwBack);
	return (jmp - len);
}
void WriteASM(DWORD dwAddy, DWORD dwASM, int len)
{
	unsigned long Protection;
	VirtualProtect((void*)dwAddy, len, PAGE_EXECUTE_READWRITE, &Protection);
	memcpy((void*)dwAddy, (const void*)dwASM, len);
	VirtualProtect((void*)dwAddy, len, Protection, NULL);
}

DWORD Item_Create_Loop = dwBaseAddr + 0xB4B7F8;
DWORD Item_Create_Loop_End = Item_Create_Loop + 0x5C;

DWORD Call_01	= dwBaseAddr + 0xB6EEF0;
DWORD Call_02	= dwBaseAddr + 0x6535B0;

unsigned int Item_Looper = 0;
unsigned int Item_Looper_end = 0;

unsigned int ItemList	[1000][10];
unsigned int EffectList	[1000][100];

XMLNode xMainNode;
XMLNode xEffect_Node;

struct S4_Effect
{
	unsigned int effect_id;
	unsigned int unknown_1;
	unsigned int unknown_2;
	unsigned int unknown_3;
	unsigned int unknown_4;
	unsigned int unknown_5;
};
struct S4_Item
{
	unsigned long Unique_Id;
	unsigned long Position;
	unsigned long Item_Id;
	unsigned long unknown_1;
	unsigned long Perm_Type;
	unsigned long unknown_2;
	unsigned long Color_Id;
	unsigned long unknown_3;
	unsigned long unknown_4;
	unsigned long unknown_5;
	unsigned long Count_Time;
	S4_Effect	*Effect_Begin;
	S4_Effect	*Effect_End;
	unsigned long unknown_6;
	unsigned long MP_Value;
	unsigned long Entchant_Lvl;
	unsigned long unknown_7;
	unsigned long unknown_8;
};

S4_Item * Item;
S4_Item* Get_Item(int i);


__declspec(naked) void Item_Create_Detour(void)
{
	_asm
	{
		mov [Item_Looper], 00
		mov [Item_Looper_end], 00
		Reloop:
		inc [Item_Looper]
		pushad
	}
	Item_Looper_end = ItemList[0][0];
	_asm
	{
		popad
		mov eax,[Item_Looper_end]
		cmp[Item_Looper], eax
		ja Ende
		pushad
	}
	Item = Get_Item(Item_Looper);
	_asm
	{
		popad
		lea edx, [ebp-0x40]
		mov [ebp-0x20], edx
		mov eax, [ebp-0x20]
		mov [eax], 00000000
		mov ecx, [ebp-0x20]
		mov[ecx+0x04], 00000000
		mov edx, [ebp-0x20]
		mov[edx+0x08], 00000000
		mov[ebp-0x04], 00000000
		mov edx, [Item]
		lea edx, [edx]
		push edx
		mov ecx, [ebp+0x0C]
		call Call_01
		mov[ebp-0x04],0xFFFFFFFF
		lea ecx,[ebp-0x40]
		call Call_02
		jmp Reloop
		Ende:
		jmp Item_Create_Loop_End

	}
}

S4_Item* Get_Item(int i)
{
	Item = new S4_Item;
	DWORD END;

	Item->Unique_Id	= ItemList[i][0];
	Item->Position		= ItemList[i][1];
	Item->Item_Id		= ItemList[i][2];
	Item->Perm_Type	= ItemList[i][3];
	Item->Count_Time	= ItemList[i][4];
	Item->Color_Id		= ItemList[i][5];
	Item->MP_Value		= ItemList[i][6];
	Item->Entchant_Lvl = ItemList[i][7];

	int Effect_Count = EffectList[i][0];

	if (Effect_Count != 0)
	{
		S4_Effect * Effect = new S4_Effect[Effect_Count];
		END						= (DWORD)&Effect[Effect_Count];

		for (int _i = 0; _i != Effect_Count; _i++)
		{
			Effect[_i].effect_id = EffectList[i][_i+1];
		}

		Item->Effect_Begin = &Effect[0];
		Item->Effect_End	= &Effect[Effect_Count];
	}
	else
	{
		S4_Effect * Effect = new S4_Effect[0];
		END						= (DWORD)&Effect[0];

		Item->Effect_Begin	= &Effect[0];
		Item->Effect_End	= &Effect[0];
	}

	Item->unknown_1 = 0;
	Item->unknown_2 = 4;
	Item->unknown_3 = 0;
	Item->unknown_4 = 0;
	Item->unknown_5 = 0;
	Item->unknown_6 = END;
	Item->unknown_7 = 0;
	Item->unknown_8 = 0;

return Item;
}


std::string ReplaceAll(std::string str, const std::string& from, const std::string& to) // ~ Credits to xxxx... dont remember his name
{
	size_t start_pos = 0;

	while ((start_pos = str.find(from, start_pos)) != std::string::npos)
	{
		str.replace(start_pos, from.length(), to);
		start_pos += to.length(); // Handles case where 'to' is a substring of 'from'
	}
	return str;
}

void Init(void* item)
{
	TCHAR Path[255];
	GetCurrentDirectory(255, Path);

	strcat(Path, "\\FapperDev\\Item_Creator\\ItemBubble.AP");
	std::string Path_ = ReplaceAll(Path, "\\","\\\\");

	xMainNode = XMLNode::openFileHelper(Path_.c_str(), "Bubble_Struct");

	ItemList[0][0] = xMainNode.nChildNode("Item");
	int end = ItemList[0][0] + 1;

	for (int i = 1; i != end; i++)
	{
		ItemList[i][0]		= i;
		ItemList[i][1]		= 1;
		ItemList[i][2]		= atoi(xMainNode.getChildNode("Item", i-1).getAttribute("Item_ID"));
		ItemList[i][3]		= atoi(xMainNode.getChildNode("Item", i-1).getAttribute("Perm_Type"));
		ItemList[i][4]		= atoi(xMainNode.getChildNode("Item", i-1).getAttribute("Count_Time"));
		ItemList[i][5]		= atoi(xMainNode.getChildNode("Item", i-1).getAttribute("Color_ID"));
		ItemList[i][6]		= atoi(xMainNode.getChildNode("Item", i-1).getAttribute("MP"));
		ItemList[i][7]		= atoi(xMainNode.getChildNode("Item", i-1).getAttribute("Entchant_Lvl"));

		XMLNode xEffect_Node	= xMainNode.getChildNode("Item", i-1);
		int Effect_Count		= xEffect_Node.nChildNode("Effect");

		EffectList[i][0] = Effect_Count;

		if (Effect_Count != 0)
		{
			for (int _i = 0; _i != Effect_Count; _i++)
			{
				getValueFromString((char*)xEffect_Node.getChildNode("Effect", _i).getAttribute("ID"), EffectList[i][_i + 1]);
			}
		}
	}

	DetourFunction((BYTE*)Item_Create_Loop, (BYTE*)Item_Create_Detour, 0x05);
	_endthread();
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
	switch (fdwReason)
	{
	case DLL_PROCESS_ATTACH:
		DisableThreadLibraryCalls(hinstDLL);
		_beginthread(&Init, 0, 0);
		break;

	case DLL_THREAD_ATTACH:
		break;

	case DLL_THREAD_DETACH:
		break;

	case DLL_PROCESS_DETACH:
		break;
	}
	return TRUE;
}
XML Parser by Frank Vanden Berghen

Example XML File ->


#CE Equip File | Credits xFuRiOuS and Nociif


Credits ->
Sycode'
Nociif
xFuRiOuS
Attached Files
File Type: zip [NewCT] Equip-Unequip ITC.zip (1.2 KB, 2970 views)
RingleRangleRob is offline  
Thanks
51 Users
Old 04/13/2016, 20:17   #2
 
elite*gold: 225
Join Date: Sep 2014
Posts: 334
Received Thanks: 460
nice but the code alignment is disgusting.
and you should name your variables in a more useful manner xD
Cyrex' is offline  
Thanks
3 Users
Old 04/13/2016, 20:42   #3
 
elite*gold: 0
Join Date: Feb 2016
Posts: 3
Received Thanks: 1
Can you do a Tuto pls
lastpushed is offline  
Old 04/13/2016, 20:43   #4
 
elite*gold: 0
Join Date: Nov 2014
Posts: 741
Received Thanks: 2,648
Quote:
Originally Posted by lastpushed View Post
Can you do a Tuto pls
no.
RingleRangleRob is offline  
Thanks
7 Users
Old 04/13/2016, 22:14   #5


 
K1ramoX's Avatar
 
elite*gold: 26
Join Date: Jan 2012
Posts: 3,474
Received Thanks: 18,844
Das hat ja echt lange gedauert bis das mal public wird

PS. Für den coding stil wirst du eines Tages in der Hölle landen, das tut ja weh.

PPS: std::vector, std::shared_ptr, std::stringstream
K1ramoX is offline  
Thanks
13 Users
Old 04/13/2016, 23:26   #6
 
elite*gold: 0
Join Date: Jan 2016
Posts: 12
Received Thanks: 6
Errr!! Error 404 xD can anyone do the tutorial please ? i didn't undrestand anything :/
maroc2426 is offline  
Thanks
1 User
Old 04/14/2016, 07:16   #7
 
guykild15's Avatar
 
elite*gold: 0
Join Date: Jan 2008
Posts: 331
Received Thanks: 123
lol item creator ?
guykild15 is offline  
Thanks
1 User
Old 04/14/2016, 10:18   #8
 
elite*gold: 0
Join Date: Jun 2015
Posts: 80
Received Thanks: 8
perm?
Sanandreas299 is offline  
Old 04/14/2016, 14:14   #9
 
elite*gold: 0
Join Date: Mar 2016
Posts: 4
Received Thanks: 0
Work? Plz,tutorial
ChrisPozer is offline  
Old 04/14/2016, 14:39   #10
 
bidjus's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 1,014
Received Thanks: 834
Quote:
Originally Posted by ChrisPozer View Post
Work? Plz,tutorial
It's just the source, not the programm
Btw thanks for this release
bidjus is offline  
Old 04/14/2016, 15:27   #11
 
devid995's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 67
Received Thanks: 12
Quote:
Originally Posted by Sycode' View Post
no.
Then you can keep your stupid source ****.
devid995 is offline  
Thanks
2 Users
Old 04/14/2016, 15:30   #12
Trade Restricted


 
정강이's Avatar
 
elite*gold: 20
Join Date: Apr 2010
Posts: 1,221
Received Thanks: 307
For the people who still don't get it
정강이 is offline  
Old 04/14/2016, 15:48   #13
 
tuaprimadd's Avatar
 
elite*gold: 0
Join Date: Jun 2014
Posts: 178
Received Thanks: 77
Quote:
Originally Posted by devid995 View Post
Then you can keep your stupid source ****.
The ammount of pure stupidity of your comment is humongous.
tuaprimadd is offline  
Old 04/14/2016, 16:11   #14
 
elite*gold: 0
Join Date: Nov 2014
Posts: 741
Received Thanks: 2,648
Quote:
Originally Posted by devid995 View Post
Then you can keep your stupid source ****.
If i want to share a code i dont need to do a tutorial ...and if i create a tutorial you don't understand it

#added CE Equip File | Credits xFuRiOuS and Nociif
RingleRangleRob is offline  
Thanks
2 Users
Old 04/14/2016, 16:39   #15
 
elite*gold: 0
Join Date: Oct 2015
Posts: 6
Received Thanks: 0
Tutoriel pls
GohstMask is offline  
Closed Thread


Similar Threads Similar Threads
Creating icons for inventory
05/30/2013 - Flyff Private Server - 2 Replies
Hi elitepvpers, I am asking for your help once again on how to create an .dds or .png icon for the inventory. I only have the o3d and the dds file for the model but not for the icon. Anyone can point me in the right direction? With kind regards
[Help][5165 Source]Stop auto add items to inventory when killing monsters?
03/30/2012 - CO2 Private Server - 7 Replies
When i kill a monster on my server, it auto add's items and silvers... How can i stop it?, i don't want it to add anything!(i will add auto add cps later) Source: NewestCOServer - 5165(To the people that doesn't knows!...) Here is mob.cs: using System; using System.Collections; using System.Collections.Generic;
Help Creating My own source
08/06/2011 - CO2 Private Server - 3 Replies
I would like to write and code my own source file for conquer 5165. But I'm kinda new to coding in visual c#. Would anyone be willing to help me with this task as a teacher? I'm greatly dedicated to coding and next semester I'm going to college for computer programing as my degree of choice. Basically I am just looking to code in visual c# for practice and as an introduction before college so I may get a head start on it.
creating source
07/17/2010 - CO2 Private Server - 5 Replies
iam new to coding and i was just wanting to know the basiks of coding a source from scratch. whats the first things to code? sockets? encryptions? packets? waht. pls reply. :handsdown:
Creating a source from scratch?
06/05/2010 - CO2 Private Server - 26 Replies
Can anyone tell me how I go about creating a source from scratch, I can do most coding but I really don't understand sockets, I kind of understand packets and I'm planning to create it for 4267 client. Are there any blank sources with just login at least with a good socket system that I could start from? It's really just a learning experience for me, and if its a success perhaps i'll use it. Thanks!



All times are GMT +1. The time now is 03: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.