Emmanuel U
ЖMC - Mx3
Hey everybody, I realized I've been sorta lazy recently so I decided to release some sources from my personal v4.5, after this I'm going to begin working on mods again. If you saw a mod in my V4/4.5 that you wanted the source of just pm me or post here and I'll be happy to post. Here ya go ya'll
Here is the latest CMD compiler from XMC 5.0+
Requests:
Here is the latest CMD compiler from XMC 5.0+
Code:
//XMC V4.5 Source Pack - A few sources of mods in my 4.5
//some sources may require declares
//Super Punch/Kick
if(superfight){
if(IS_BUTTON_PRESSED(0,BUTTON_L) && IS_BUTTON_JUST_PRESSED(0,BUTTON_X) && !IS_CHAR_IN_ANY_CAR(pPlayer)){
WAIT(400);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(pPlayer, 0, 1, 0, &x, &y, &z);
ADD_EXPLOSION(x,y,z,EXPLOSION_GRENADE,35.0,false,true,0.0);
}
else if(IS_BUTTON_PRESSED(0,BUTTON_L) && IS_BUTTON_JUST_PRESSED(0,BUTTON_B) && !IS_CHAR_IN_ANY_CAR(pPlayer)){
WAIT(400);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(pPlayer, 0, 1, 1.5, &x, &y, &z);
ADD_EXPLOSION(x,y,z,EXPLOSION_GRENADE,35.0,false,true,0.0);
}
}
//Inferno Man
void inferno_shoot(void){
speed = 0;
REQUEST_ANIMS("mini_bowling");
while(!HAVE_ANIMS_LOADED("mini_bowling")) WAIT(0);
TASK_PLAY_ANIM_WITH_FLAGS(pPlayer,"shot","mini_bowling",8.0,0,0);
WAIT(700);
for(i = 0;i <= 10;i++){
speed += 2.0;
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(pPlayer, 0, speed, 0, &x, &y, &z);
ADD_EXPLOSION(x,y,z,EXPLOSION_MOLOTOV,35.0,false,false,0.0);
}
print("Fire field! (Fire textures may not load sometimes)");
return;
}
//Dragons Breathe Shotgun
void dragon_gun(void){
for(i = 0; i<16; i++){
if(!IS_NETWORK_PLAYER_ACTIVE(i)) continue;
if (i == GetPlayerIndex()) continue;
if(is_whitelisted(i)) continue;
GET_PLAYER_CHAR(i, &online_char);
if(!DOES_CHAR_EXIST(online_char)) continue;
GET_CURRENT_CHAR_WEAPON(pPlayer, &wep);
if(wep == WEAPON_BARETTA){
if(HAS_CHAR_BEEN_DAMAGED_BY_CHAR(online_char, pPlayer, false)){
if(HAS_CHAR_BEEN_DAMAGED_BY_WEAPON(online_char, WEAPON_BARETTA)) START_CHAR_FIRE(online_char);
CLEAR_CHAR_LAST_DAMAGE_ENTITY(online_char);
CLEAR_CHAR_LAST_WEAPON_DAMAGE(pPlayer);
}
}
}
}
//Heli Bomb (my edit of skorpos)
void helibomb(void){
float zground, repeat;
Object ObjectProjectile;
REQUEST_MODEL(0x7E339194);
while (!HAS_MODEL_LOADED(0x7E339194)) WAIT(0);
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(GetPlayerPed(), 0.5, -2.1, -2.1, &x, &y, &z);
GET_CAR_CHAR_IS_USING(pPlayer, &pveh);
CREATE_OBJECT(0x7E339194, x, y, z, &ObjectProjectile, 1);
PLAY_SOUND_FROM_VEHICLE(-1, "F5_TRUCK_ARSON_BOMB_BLEEP", pveh);
PLAY_SOUND_FROM_VEHICLE(-1, "F5_TRUCK_ARSON_BOMB_BLEEP", pveh);
SET_OBJECT_HEALTH(ObjectProjectile, 100.0);
SET_OBJECT_ROTATION(ObjectProjectile, 90.0, 0.0, 0.0);
GET_GROUND_Z_FOR_3D_COORD(x, y, z, &zground);
repeat = z - zground;
//repeat
for (i = 1; i <= repeat; i++) {
WAIT(27);
SLIDE_OBJECT(ObjectProjectile, x, y, zground, 0.0, 0.0, 1.3, 0);
}
PLAY_SOUND_FROM_VEHICLE(-1, "F5_TRUCK_ARSON_BOMB_BLEEP", pveh);
PLAY_SOUND_FROM_VEHICLE(-1, "F5_TRUCK_ARSON_BOMB_BLEEP", pveh);
PLAY_SOUND_FROM_VEHICLE(-1, "F5_TRUCK_ARSON_BOMB_BLEEP", pveh);
// repeat end!
WAIT(100);
//---------------- In Heli
//BombType(X, Y, Z, width, highness, spacing)
//BombType(x, y, zground, 7, 2, 2);
create_big_explosion(x,y,zground);
create_big_explosion(x,y,zground + 2);
create_big_explosion(x + 7,y,zground);
create_big_explosion(x + 7,y,zground);
create_big_explosion(x - 7,y,zground);
create_big_explosion(x,y + 7,zground);
create_big_explosion(x,y - 7,zground);
DELETE_OBJECT(&ObjectProjectile);
MARK_MODEL_AS_NO_LONGER_NEEDED(0x7E339194);
}
//Kick Players out of Car/Refresh Car
if(IS_CHAR_IN_ANY_CAR(pPlayer)){
GET_CAR_CHAR_IS_USING(pPlayer,&pveh);
GET_CAR_MODEL(pveh, &model);
GET_CAR_COLOURS(pveh, &color1, &color2);
GET_EXTRA_CAR_COLOURS(pveh, &color3, &color4);
REQUEST_MODEL(model);
while(!HAS_MODEL_LOADED(model)) WAIT(0);
GET_CHAR_COORDINATES(pPlayer,&x,&y,&z);
GET_CHAR_HEADING(pPlayer,&heading);
GET_CAR_SPEED(pveh,&speed);
speed = true;
GET_DRIVER_OF_CAR(pveh,&driver);
WARP_CHAR_FROM_CAR_TO_COORD(pPlayer,x,y,z);
if(!DOES_CHAR_EXIST(driver) || pPlayer == driver || !IS_NETWORK_SESSION()){
DELETE_CAR(&pveh);
MARK_CAR_AS_NO_LONGER_NEEDED(&pveh);
}
CREATE_CAR(model,x,y,z,&pveh,true);
MARK_MODEL_AS_NO_LONGER_NEEDED(model);
CHANGE_CAR_COLOUR(pveh, color1, color2);
SET_EXTRA_CAR_COLOURS(pveh, color3, color4);
SET_VEHICLE_DIRT_LEVEL(pveh, 0);
WASH_VEHICLE_TEXTURES(pveh, 255);
SET_CAR_ENGINE_ON(pveh,true,true);
WARP_CHAR_INTO_CAR(pPlayer,pveh);
SET_CAR_PROOFS(pveh, true, true, true, true, true);
SET_CAR_HEADING(pveh,heading);
SET_CAR_FORWARD_SPEED(pveh,speed);
return;
}
//SuperLock Car
if(DOES_VEHICLE_EXIST(superlock_veh)){
GET_NETWORK_ID_FROM_VEHICLE(superlock_veh,&nvid);
if(HAS_CONTROL_OF_NETWORK_ID(nvid)){
SET_NETWORK_ID_CAN_MIGRATE(nvid,true);
LOCK_CAR_DOORS(superlock_veh,1);
superlock_veh = INVALID_HANDLE;
print("Super Lock ~r~OFF");
return;
}
}
else{
if(IS_CHAR_IN_ANY_CAR(pPlayer)){
GET_CAR_CHAR_IS_USING(pPlayer,&pveh);
GET_NETWORK_ID_FROM_VEHICLE(pveh,&nvid);
if(HAS_CONTROL_OF_NETWORK_ID(nvid)){
superlock_veh = pveh;
SET_NETWORK_ID_CAN_MIGRATE(nvid,false);
LOCK_CAR_DOORS(superlock_veh,4);
GET_CHAR_COORDINATES(pPlayer, &x, &y, &z);
z += 1;
WARP_CHAR_FROM_CAR_TO_COORD(pPlayer, x, y, z);
print("Super Lock ~g~ON");
return;
}
}
else print("You must be in a car to lock it");
return;
}
//Tele In nearest car
GET_CHAR_COORDINATES(pPlayer,&x, &y, &z);
ClosestCar = GET_CLOSEST_CAR(x,y,z, 50, false, 70);
if(!DOES_VEHICLE_EXIST(ClosestCar))
ClosestCar = GET_CLOSEST_CAR(x,y,z, 50, false, 71);
if(!DOES_VEHICLE_EXIST(ClosestCar))
ClosestCar = GET_CLOSEST_CAR(x,y,z, 50, false, 69);
if(!DOES_VEHICLE_EXIST(ClosestCar)) return;
GET_DRIVER_OF_CAR(ClosestCar,&driver);
if(!DOES_CHAR_EXIST(driver)){
WARP_CHAR_INTO_CAR(pPlayer,ClosestCar);
print("Teleported into Nearest Car as Driver");
}
else{
for(i = 0;i <= 2;i++){
if(IS_CAR_PASSENGER_SEAT_FREE(ClosestCar,i)){
WARP_CHAR_INTO_CAR_AS_PASSENGER(pPlayer,ClosestCar,i);
print("Teleported into Nearest Car as Passenger");
}
}
}
//Ram Bus
if(DOES_CHAR_EXIST(players[index].ped)){
#ifndef EMMAN
if(is_whitelisted(index)){
print("Player is whitelisted");
return;
}
#endif
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(players[index].ped, 0, 45, 0, &x, &y, &z);
GET_CHAR_HEADING(players[index].ped, &heading);
REQUEST_MODEL(MODEL_BUS);
while(!HAS_MODEL_LOADED(MODEL_BUS)) WAIT(0);
CREATE_CAR(MODEL_BUS,x,y,z,&pveh,true);
MARK_MODEL_AS_NO_LONGER_NEEDED(MODEL_BUS);
WAIT(10);
SET_CAR_VISIBLE(pveh,false);
SET_CAR_ON_GROUND_PROPERLY(pveh);
if(heading > 180.0) heading -= 180.0;
else heading += 180.0;
SET_CAR_HEADING(pveh, heading);
CHANGE_CAR_COLOUR(pveh, 0, 0);
SET_EXTRA_CAR_COLOURS(pveh, 0, 0);
SET_VEHICLE_DIRT_LEVEL(pveh, 0);
WASH_VEHICLE_TEXTURES(pveh, 255);
SET_CAR_PROOFS(pveh, true, true, true, true, true);
FREEZE_CAR_POSITION(pveh,false);
SET_CAR_COLLISION(pveh, true);
SET_CAR_ENGINE_ON(pveh,true,true);
SET_CAR_VISIBLE(pveh,true);
WAIT(10);
SET_CAR_FORWARD_SPEED(pveh,150);
//APPLY_FORCE_TO_CAR(pveh,true,0.0,10000.0,-100.0,0.0,0.0,0.0,true,true,true,true);
print("Sent a Ram Bus");
return;
}
Requests:
martinh;psx said:Hey, this is fantastic.
Please may I have the following sources in a PM
Clear Nearby Cars
Clear Nearby Peds
Smart Protection
Shuffle seats
Thanks
Martin
Code:
//Clear Nearby Cars
GET_CHAR_COORDINATES(pPlayer,&x, &y, &z);
CLEAR_AREA_OF_CARS(x,y,z,500);
for(i = 0; i <= 30; i++){
ClosestCar = GET_CLOSEST_CAR(x,y,z, 500, false, 70);
if(!DOES_VEHICLE_EXIST(ClosestCar)) ClosestCar = GET_CLOSEST_CAR(x,y,z, 500, false, 71);
if(!DOES_VEHICLE_EXIST(ClosestCar)) ClosestCar = GET_CLOSEST_CAR(x,y,z, 500, false, 69);
if(!DOES_VEHICLE_EXIST(ClosestCar)) return;
GET_NETWORK_ID_FROM_VEHICLE(ClosestCar, &nvid);
REQUEST_CONTROL_OF_NETWORK_ID(nvid);
tick = 0;
while(!HAS_CONTROL_OF_NETWORK_ID(nvid)){
tick++;
REQUEST_CONTROL_OF_NETWORK_ID(nvid);
if(tick >= 200){
print("Deleted all available cars");
return;
}
WAIT(0);
}
DELETE_CAR(&ClosestCar);
MARK_CAR_AS_NO_LONGER_NEEDED(&ClosestCar);
}
//Clear Nearby Peds
GET_CHAR_COORDINATES(pPlayer,&x, &y, &z);
CLEAR_AREA_OF_CHARS(x,y,z,500);
for(i = 0; i <= 30; i++){
GET_CLOSEST_CHAR(x,y,z, 500, false, 70, &ClosestChar);
if(!DOES_CHAR_EXIST(ClosestChar)) GET_CLOSEST_CHAR(x,y,z, 500, false, 71, &ClosestChar);
if(!DOES_CHAR_EXIST(ClosestChar)) GET_CLOSEST_CHAR(x,y,z, 500, false, 69, &ClosestChar);
if(!DOES_CHAR_EXIST(ClosestChar)) return;
GET_NETWORK_ID_FROM_PED(ClosestChar, &nvid);
REQUEST_CONTROL_OF_NETWORK_ID(nvid);
tick = 0;
while(!HAS_CONTROL_OF_NETWORK_ID(nvid)){
tick++;
REQUEST_CONTROL_OF_NETWORK_ID(nvid);
if(tick >= 200){
print("Deleted all available peds");
return;
}
WAIT(0);
}
DELETE_CHAR(&ClosestChar);
}
//Shuffle Car seats
if(IS_CHAR_IN_ANY_CAR(pPlayer)){
GET_CAR_CHAR_IS_USING(pPlayer,&pveh);
TASK_SHUFFLE_TO_NEXT_CAR_SEAT(pPlayer, pveh);
}
//smart protection
if(pprotection){
uint pos[4];
GET_POSITION_OF_ANALOGUE_STICKS(0,&pos[0],&pos[1],&pos[2],&pos[3]);
if(pos[0] == 0 && pos[1] == 0)
FREEZE_CHAR_POSITION(pPlayer,true);
else
FREEZE_CHAR_POSITION(pPlayer,false);
}
keyFlamer;psx said:Hey Emmanuel U, could you please share the part of your engine code for the compact menu style. I love how your compact menu looks and i want to use that style. Also if you wouldn't mind shareing your ninja mod, could you please share the source for that aswell? thanks
Code:
//Ninja
if(ninja){
if(!IS_CHAR_IN_ANY_CAR(pPlayer)){
uint pos[4];
GET_POSITION_OF_ANALOGUE_STICKS(0,&pos[0],&pos[1],&pos[2],&pos[3]);
if(pos[0] == 0 && pos[1] == 0){
SET_CHAR_VISIBLE(pPlayer, false);
SET_PLAYER_CONTROL(GetPlayerIndex(), false);
}
else{
SET_CHAR_VISIBLE(pPlayer, true);
SET_PLAYER_CONTROL(GetPlayerIndex(), true);
}
}
else SET_PLAYER_CONTROL(GetPlayerIndex(), true);
}
//Compact Mode (replace in your engine.c or core.cpp)
#define pos_x 0.60
#define start_y 0.25
#define spacing 0.025
float pos_y = start_y;
drawWindow();
s_a = 255;
set_up_draw(4,0.35,0.35,s_r,s_g,s_b,255);
//if(!display) draw_text("STRING",pos_x,start_y-.02,footer);
draw_text("STRING",pos_x,start_y-.02,footer);
uint i = 1;
for(i;i <= item_count;i++){
r = 255;g = 255;b = 255;a = 255;
pos_y = pos_y + spacing;
/**
if(item_select == i){
r = s_r; g = s_g; b = s_b; a = s_a;
//DRAW_RECT(pos_x+0.11, pos_y+0.013, 0.25 ,0.019,s_r,s_g,s_b, 100);
DRAW_RECT(pos_x+0.05, pos_y+0.013, 0.25 ,0.019,s_r,s_g,s_b, 100);
}
**/
if(item_select == i){
r = s_r;
g = s_g;
b = s_b;
}
if(menu[i].type == 1){
if(menu[i].value){
set_up_draw(3,0.35,0.35,s_r,s_g,s_b,a);
//draw_text("STRING",(pos_x + 0.2),pos_y,"On");
draw_text("STRING",(pos_x + 0.26),pos_y,"On");
}
}
if(menu[i].type == 2){
set_up_draw(3,0.35,0.35,s_r,s_g,s_b,a);
draw_text("STRING",(pos_x + 0.19),pos_y,"(");
set_up_draw(3,0.35,0.35,255,255,255,a);
draw_number("NUMBR",(pos_x + 0.205),pos_y,menu[i].value);
set_up_draw(3,0.35,0.35,s_r,s_g,s_b,a);
if(menu[i].value > 99) draw_text("STRING",(pos_x + 0.245),pos_y,")");
else if(menu[i].value > 9) draw_text("STRING",(pos_x + 0.23),pos_y,")");
else draw_text("STRING",(pos_x + 0.215),pos_y,")");
}
if(menu[i].type == 3){
set_up_draw(3,0.35,0.35,r,g,b,a);
//draw_text("STRING",pos_x,pos_y,GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(menu[i].value)));
draw_text("STRING",pos_x,pos_y,GET_STRING_FROM_TEXT_FILE(GET_DISPLAY_NAME_FROM_VEHICLE_MODEL(menu[i].value)));
}
if(menu[i].type == 4){
if(item_select == i){
r = s_r;
g = s_g;
b = s_b;
}
else GET_PLAYER_RGB_COLOUR(menu[i].value,&r,&g,&b);
set_up_draw(3,0.35,0.35,r,g,b,a);
draw_text("STRING", pos_x, pos_y, menu[i].item_name);
}
else{
set_up_draw(3,0.35,0.35,r,g,b,a);
//draw_text("STRING",pos_x,pos_y,menu[i].item_name);
draw_text("STRING",pos_x,pos_y,menu[i].item_name);
}
}
///Buttons
if(IS_BUTTON_JUST_PRESSED(0,DPAD_UP)){
if(item_select == 1){
item_select = item_count;
}
else item_select--;
}
else if(IS_BUTTON_JUST_PRESSED(0,DPAD_DOWN)){
if(item_select == item_count){
item_select = 1;
}
else item_select++;
}
else if(IS_BUTTON_JUST_PRESSED(0,DPAD_RIGHT) && menu[item_select].type == 2){
if(menu[item_select].value == menu[item_select].maxval)
menu[item_select].value = 1;
else
menu[item_select].value += 1;
}
else if(IS_BUTTON_JUST_PRESSED(0,DPAD_LEFT) && menu[item_select].type == 2){
if(menu[item_select].value == 1)
menu[item_select].value = menu[item_select].maxval;
else
menu[item_select].value -= 1;
}
else if(IS_BUTTON_JUST_PRESSED(0,BUTTON_A)){
if(menu[item_select].action){
menu_functions();
}
else{
uint i = 1;
for(i;i <= item_count;i++){
menu[i].action = false;
menu[i].type = 0;
}
last_selected[menu_level] = item_select;
menu_level++;
menu_setup();
item_select = 1;
}
}
else if(IS_BUTTON_JUST_PRESSED(0,BUTTON_B)){
if(menu_level > 0){
uint i = 1;
for(i;i <= item_count;i++){
menu[i].action = false;
menu[i].type = 0;
}
menu_level--;
item_select = last_selected[menu_level];
menu_setup();
}
else menu_shutdown();
}
Annihilator;psx said:Would you mind posting your shortcut player code?
Code:
//Shortcut Players
Ped shortcut_players[5];
if(DOES_CHAR_EXIST(players[index].ped)){
for(i = 0;i <= 4;i++){
if(!DOES_CHAR_EXIST(shortcut_players[i])){
shortcut_players[i] = players[index].ped;
print("Added player to shortcut");
return;
}
}
print("Shortcut list full (5 Max)");
return;
}
//Example mod using shortcut players
for(i = 0;i <= 4;i++){
if(DOES_CHAR_EXIST(shortcut_players[i])) REMOVE_ALL_CHAR_WEAPONS(shortcut_players[i]);
}
print("All Shortcut Players are now unarmed!");
return;
//Deleting all shortcut players from shortcut list
for(i = 0;i <= 4;i++){
shortcut_players[i] = INVALID_HANDLE;
}
print("Removed all shortcut players from list");
return;
Last edited: