HELP ME PLEASEE (Toys)
#1

This toy system. I need a help.. How do i change it to Dynamically that i can easilly edit my toys posz, poy ,posx and also their rotations

As you can see at this picture really hard to know their pos x, pos y, pos z really hard.


So i want it to change it like this


Here are some of my Toy Variables.
Код:
new PlayerToyInfo[MAX_PLAYERS+1][MAX_PLAYERTOYS][ptInfo];
Код:
stock player_remove_vip_toys(iTargetID)
{
	if(PlayerInfo[iTargetID][pDonator] >= 3) return 1;
	else for(new iToyIter; iToyIter < MAX_PLAYER_ATTOBJECTS; ++iToyIter) {
		for(new LoopRapist; LoopRapist < sizeof(HoldingObjectsCop); ++LoopRapist) {
			if(HoldingObjectsCop[LoopRapist][holdingmodelid] == PlayerToyInfo[iTargetID][iToyIter][ptModelID]) {
				PlayerToyInfo[iTargetID][iToyIter][ptModelID] = 0;
				PlayerToyInfo[iTargetID][iToyIter][ptBone] = 0;
				PlayerToyInfo[iTargetID][iToyIter][ptPosX] = 0.0;
				PlayerToyInfo[iTargetID][iToyIter][ptPosY] = 0.0;
				PlayerToyInfo[iTargetID][iToyIter][ptPosZ] = 0.0;
				PlayerToyInfo[iTargetID][iToyIter][ptPosX] = 0.0;
				PlayerToyInfo[iTargetID][iToyIter][ptPosY] = 0.0;
				PlayerToyInfo[iTargetID][iToyIter][ptPosZ] = 0.0;
				if(IsPlayerAttachedObjectSlotUsed(iTargetID, iToyIter)) RemovePlayerAttachedObject(iTargetID, iToyIter);
			}
		}
	}
	SendClientMessage(iTargetID, COLOR_WHITE, "All accessories/toys that were property of your former employer have been removed.");
	return 1;
}
Код:
CMD:buytoys(playerid, params[])
{
	if(CheckGMX(playerid)) return 1;
	// (TEMPORARY - ZHAO NOTE) NO VIP added yet
	/*if(IsPlayerInRangeOfPoint(playerid, 4, 2787.095947, 2390.353027, 1240.531127))
	{
		if(PlayerInfo[playerid][pDonator] < 3)
		{
			SendClientMessage(playerid, COLOR_WHITE, "* you're not a Gold or Undefined Donator!");
		}
		else
		{
			ShowPlayerDialogEx(playerid, BUYTOYSGOLD, DIALOG_STYLE_MSGBOX, "Toy Store", "Welcome to the VIP toy store! Here you can buy accessories to attach to your player.\n\nFirst, we will choose a slot to store the toy in.","Continue", "Cancel");
		}
	}*/

	if(IsAtClothShop(playerid))
	{
		ShowPlayerDialogEx(playerid, BUYTOYS, DIALOG_STYLE_MSGBOX, "Toy Store", "Welcome to the toy store! Here you can buy accessories to attach to your player.\n\nFirst, we will choose a slot to store the toy in.\n(Note: Non-Donators can only hold 5 toys, Ruby-Diamond Donator can hold 6-8)","Continue", "Cancel");
		//ShowPlayerDialogEx(playerid, BUYTOYS, DIALOG_STYLE_MSGBOX, "Toy Store", "Welcome to the toy store! Here you can buy accessories to attach to your player.\n\nFirst, we will choose a slot to store the toy in.\n(Note: You can only hold 5 toys)","Continue", "Cancel");
	}
	else
	{
		SendClientMessage(playerid, COLOR_WHITE, "   You're not in a Clothing Shop!");
	}
	return 1;
}
Код:
CMD:listtoys(playerid, params[]) {
	if(CheckGMX(playerid)) return 1;
	if(PlayerInfo[playerid][pAdmin] >= 4)
	{
 		if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
	    {
	        SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
			return 1;
	    }

		new
			iTargetID;

		if(sscanf(params, "u", iTargetID)) {
			SendClientMessage(playerid, COLOR_GREY, "USAGE: /listtoys [playerid/partofname]");
		}
		else if(IsPlayerConnected(iTargetID)) for(new iToyIter, szMessage[128]; iToyIter < MAX_PLAYER_ATTOBJECTS; ++iToyIter) {
			for(new LoopRapist; LoopRapist < sizeof(HoldingObjectsAll); ++LoopRapist) {
				if(HoldingObjectsAll[LoopRapist][holdingmodelid] == PlayerToyInfo[iTargetID][iToyIter][ptModelID]) {
					format(szMessage, sizeof(szMessage), "%s (slot %i, bone: %s)", HoldingObjectsAll[LoopRapist][holdingmodelname], iToyIter, HoldingBones[PlayerToyInfo[iTargetID][iToyIter][ptBone]]);
					SendClientMessage(playerid, COLOR_WHITE, szMessage);
					break;
				}
			}
		}
		else SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
	}
	return 1;
}
Код:
CMD:toys(playerid, params[])
{
	if(CheckGMX(playerid)) return 1;
	ShowPlayerDialogEx(playerid, TOYS, DIALOG_STYLE_LIST, "Toy Menu", "Attach/Dettach a Toy\nEdit a Toy\nDelete a Toy","Select", "Cancel");
	return 1;
}
Код:
CMD:dat(playerid, params[])
{
	if(CheckGMX(playerid)) return 1;
	SendClientMessage(playerid, COLOR_WHITE, "* Deattached all toys.");
	for(new x;x<MAX_PLAYERTOYS;x++)
	{
		RemovePlayerAttachedObject(playerid, x);
    }
    return 1;
}
Код:
stock ShowEditMenu(playerid)
{
    if(IsPlayerAttachedObjectSlotUsed(playerid, slotselection[playerid]))
	{
 		RemovePlayerAttachedObject(playerid, slotselection[playerid]);
	}
	if(PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] == 0) {
		PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
		PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
		PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
	}

	SetPlayerAttachedObject(playerid, slotselection[playerid], PlayerToyInfo[playerid][slotselection[playerid]][ptModelID],
	PlayerToyInfo[playerid][slotselection[playerid]][ptBone], PlayerToyInfo[playerid][slotselection[playerid]][ptPosX],
	PlayerToyInfo[playerid][slotselection[playerid]][ptPosY], PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ],
	PlayerToyInfo[playerid][slotselection[playerid]][ptRotX], PlayerToyInfo[playerid][slotselection[playerid]][ptRotY],
	PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ], PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX],
	PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY], PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ]);

    new stringg[512];
    format(stringg, sizeof(stringg), "Bone (%s)\nOffset X (%f)\nOffset Y (%f)\nOffset Z (%f)\nRotation X (%f)\nRotation Y (%f)\nRotation Z (%f)\nScale X (%f)\nScale Y (%f)\nScale Z (%f)",
	HoldingBones[PlayerToyInfo[playerid][slotselection[playerid]][ptBone]],
	(PlayerToyInfo[playerid][slotselection[playerid]][ptPosX]*100),
	(PlayerToyInfo[playerid][slotselection[playerid]][ptPosY]*100),
	(PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ]*100),
	PlayerToyInfo[playerid][slotselection[playerid]][ptRotX],
	PlayerToyInfo[playerid][slotselection[playerid]][ptRotY],
	PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ],
	PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX],
	PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY],
	PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ]);
 	ShowPlayerDialogEx(playerid, EDITTOYS2, DIALOG_STYLE_LIST, "Toy Menu: Edit", stringg, "Select", "Cancel");
}
I hopefully you get some informations there to help me.

Please if you need some variables you need to know.Please feel free to ask
Reply
#2

EditObject
OnPlayerEditObject
Reply
#3

Quote:
Originally Posted by Kiyozi_Mu
Посмотреть сообщение
Thank you for this

But can you do it for me?

Just tell me if you need some variables
Reply
#4

@MP2
Reply
#5

https://sampforum.blast.hk/showthread.php?tid=478531& has exactly what you want.
Reply
#6

Quote:
Originally Posted by Mionee
Посмотреть сообщение
Not MYSQL version
I need the ZCMD version
Reply
#7

The above script uses ZCMD.
Reply
#8

Quote:
Originally Posted by Mionee
Посмотреть сообщение
The above script uses ZCMD.
Are you kidding me?

Its scripted as "MYSQL"

and my script is not MySQL.

My script is ZCMD
Reply
#9

REMOVED.
Reply
#10

For those anyone who can help me.. i will give an rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)