You last visited: Today at 03:50
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.
04/13/2016, 20:15
#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 ->
Code:
<?xml version="1.0" encoding="utf-8"?>
<Bubble_Struct>
<Item Item_ID="2000000" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000001" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000002" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000003" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000004" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000005" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000006" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000007" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000008" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000009" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000010" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000011" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000012" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000013" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000014" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000015" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000016" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000017" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000018" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000019" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000020" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
<?Effect ID="1201300005"?>
<?Effect ID="1201301005"?>
<?Effect ID="1299600007"?>
<?Effect ID="1299602002"?>
<?Effect ID="3299606009"?>
<?Effect ID="3299600205"?>
<?Effect ID="3299600105"?>
</Item>
<Item Item_ID="2000021" Color_ID="0" Perm_Type="1" Entchant_Lvl="15" Count_Time="2400" MP="0">
</Item>
<Item Item_ID="1020072" Color_ID="0" Perm_Type="1" Entchant_Lvl="0" Count_Time="2400" MP="0">
<?Effect ID="1102303008"?>
</Item>
<Item Item_ID="1031146" Color_ID="0" Perm_Type="1" Entchant_Lvl="0" Count_Time="2400" MP="0">
<?Effect ID="1103302009"?>
</Item>
<Item Item_ID="1041031" Color_ID="0" Perm_Type="1" Entchant_Lvl="0" Count_Time="2400" MP="0">
<?Effect ID="1104300008"?>
</Item>
<Item Item_ID="1050034" Color_ID="0" Perm_Type="1" Entchant_Lvl="0" Count_Time="2400" MP="0">
<?Effect ID="1105300004"?>
</Item>
<Item Item_ID="1010036" Color_ID="0" Perm_Type="1" Entchant_Lvl="0" Count_Time="2400" MP="0">
<?Effect ID="1101301008"?>
</Item>
<Item Item_ID="1070036" Color_ID="0" Perm_Type="1" Entchant_Lvl="0" Count_Time="2400" MP="0">
<?Effect ID="1107301008"?>
</Item>
<Item Item_ID="3000003" Color_ID="0" Perm_Type="1" Entchant_Lvl="0" Count_Time="2400" MP="0">
</Item>
</Bubble_Struct>
Equip Items ( Result - 0x1D )
Code:
FF 24 95 ?? ?? ?? ?? 8B 45 18 50 8B 4D 14
Code:
movzx eax,byte ptr [ebp+08]
ebp+08 includes Equip / Unequip ID
01 = Equip
02 = Unequip
#CE Equip File | Credits xFuRiOuS and Nociif
Credits ->
Sycode'
Nociif
xFuRiOuS
Attached Files
[NewCT] Equip-Unequip ITC.zip
(1.2 KB, 2970 views)
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
04/13/2016, 20:42
#3
elite*gold: 0
Join Date: Feb 2016
Posts: 3
Received Thanks: 1
Can you do a Tuto pls
04/13/2016, 20:43
#4
elite*gold: 0
Join Date: Nov 2014
Posts: 741
Received Thanks: 2,648
Quote:
Originally Posted by
lastpushed
Can you do a Tuto pls
no.
04/13/2016, 22:14
#5
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
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 :/
04/14/2016, 07:16
#7
elite*gold: 0
Join Date: Jan 2008
Posts: 331
Received Thanks: 123
lol item creator ?
04/14/2016, 10:18
#8
elite*gold: 0
Join Date: Jun 2015
Posts: 80
Received Thanks: 8
perm?
04/14/2016, 14:14
#9
elite*gold: 0
Join Date: Mar 2016
Posts: 4
Received Thanks: 0
Work? Plz,tutorial
04/14/2016, 14:39
#10
elite*gold: 0
Join Date: Jul 2011
Posts: 1,014
Received Thanks: 834
Quote:
Originally Posted by
ChrisPozer
Work? Plz,tutorial
It's just the source, not the programm
Btw thanks for this release
04/14/2016, 15:27
#11
elite*gold: 0
Join Date: Feb 2012
Posts: 67
Received Thanks: 12
Quote:
Originally Posted by
Sycode'
no.
Then you can keep your stupid source ****.
04/14/2016, 15:30
#12
elite*gold: 20
Join Date: Apr 2010
Posts: 1,221
Received Thanks: 307
For the people who still don't get it
04/14/2016, 15:48
#13
elite*gold: 0
Join Date: Jun 2014
Posts: 178
Received Thanks: 77
Quote:
Originally Posted by
devid995
Then you can keep your stupid source ****.
The ammount of pure stupidity of your comment is humongous.
04/14/2016, 16:11
#14
elite*gold: 0
Join Date: Nov 2014
Posts: 741
Received Thanks: 2,648
Quote:
Originally Posted by
devid995
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
04/14/2016, 16:39
#15
elite*gold: 0
Join Date: Oct 2015
Posts: 6
Received Thanks: 0
Tutoriel pls
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 .