Toys arent saving its position
#1

why my toy doesnt save position when you edit it? when you edit the toys then save it then when you /wat the position arent save. WHY??

Код:
stock ShowEditMenu(playerid)
{
    if(IsPlayerAttachedObjectSlotUsed(playerid, slotselection[playerid]))
	{
 		RemovePlayerAttachedObject(playerid, slotselection[playerid]);
	}
	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), "%sBone (%s)\n", stringg, HoldingBones[PlayerToyInfo[playerid][slotselection[playerid]][ptBone]]);
	format(stringg, sizeof(stringg), "%sOffsets\n", stringg,(PlayerToyInfo[playerid][slotselection[playerid]][ptPosX]));
 	ShowPlayerDialogEx(playerid, EDITTOYS2, DIALOG_STYLE_LIST, "Toy Menu: Edit", stringg, "Select", "Cancel");
}
Код:
if((dialogid == EDITTOYS2))
	{
	    if(response)
	    {
		    if(listitem == 0)
		    {
		        ShowPlayerDialogEx(playerid, EDITTOYSBONE, DIALOG_STYLE_LIST, "Select a Bone", "Spine\nHead\nLeft upper arm\nRight upper arm\nLeft hand\nRight hand\nLeft thigh\nRight thigh\nLeft foot\nRight foot\nRight calf\nLeft calf\nLeft forearm\nRight forearm\nLeft clavicle\nRight clavicle\nNeck\nJaw", "Select", "Cancel");
		    }
		    else if(listitem == 1)
		    {
		        SendClientMessage(playerid, COLOR_WHITE, "{AA3333}HINT:{FFFF00} Hold your Space Bar to move the camera,Press ESC to cancel the editor");
		        EditAttachedObject(playerid, slotselection[playerid]);
			}
		}
		else
		{
		    new stringg[512];
			for(new x;x<MAX_PLAYERTOYS;x++)
			{
			    new name[24];
			    format(name, sizeof(name), "None");

			    for(new i;i<sizeof(HoldingObjectsAll);i++)
			    {
       				if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
			        {
           				format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
					}
				}

				format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
			}
   			ShowPlayerDialogEx(playerid, EDITTOYS, DIALOG_STYLE_LIST, "Select a Toy", stringg, "Select", "Cancel");
		}
	}
Reply
#2

PLEASE HELP ME

sORRY FOR THE BIG TEXT BUT I REALLY REALLY NEED IT
Reply
#3

You even using anything to save it ?
And what ca we do with this code ? nothing
Reply
#4

Quote:
Originally Posted by iAnonymous
Посмотреть сообщение
You even using anything to save it ?
And what ca we do with this code ? nothing
After i add the 0.3e toy editor i have this problem

Код:
CMD:wat(playerid, params[])
{
	SendClientMessage(playerid, COLOR_WHITE, "* Attached all toys.");

	if(PlayerInfo[playerid][pDonator] <= 0)
	{
		for(new x;x<5;x++)
		{
			if(PlayerToyInfo[playerid][x][ptScaleX] == 0) {
				PlayerToyInfo[playerid][x][ptScaleX] = 1.0;
				PlayerToyInfo[playerid][x][ptScaleY] = 1.0;
				PlayerToyInfo[playerid][x][ptScaleZ] = 1.0;
			}
			if(PlayerToyInfo[playerid][x][ptModelID] != 0) SetPlayerAttachedObject(playerid, x, PlayerToyInfo[playerid][x][ptModelID], PlayerToyInfo[playerid][x][ptBone], PlayerToyInfo[playerid][x][ptPosX], PlayerToyInfo[playerid][x][ptPosY], PlayerToyInfo[playerid][x][ptPosZ], PlayerToyInfo[playerid][x][ptRotX], PlayerToyInfo[playerid][x][ptRotY], PlayerToyInfo[playerid][x][ptRotZ], PlayerToyInfo[playerid][x][ptScaleX], PlayerToyInfo[playerid][x][ptScaleY], PlayerToyInfo[playerid][x][ptScaleZ]);
		}
	}
	else if(PlayerInfo[playerid][pDonator] == 1)
	{
		for(new x;x<6;x++)
		{
			if(PlayerToyInfo[playerid][x][ptScaleX] == 0) {
				PlayerToyInfo[playerid][x][ptScaleX] = 1.0;
				PlayerToyInfo[playerid][x][ptScaleY] = 1.0;
				PlayerToyInfo[playerid][x][ptScaleZ] = 1.0;
			}
			if(PlayerToyInfo[playerid][x][ptModelID] != 0) SetPlayerAttachedObject(playerid, x, PlayerToyInfo[playerid][x][ptModelID], PlayerToyInfo[playerid][x][ptBone], PlayerToyInfo[playerid][x][ptPosX], PlayerToyInfo[playerid][x][ptPosY], PlayerToyInfo[playerid][x][ptPosZ], PlayerToyInfo[playerid][x][ptRotX], PlayerToyInfo[playerid][x][ptRotY], PlayerToyInfo[playerid][x][ptRotZ], PlayerToyInfo[playerid][x][ptScaleX], PlayerToyInfo[playerid][x][ptScaleY], PlayerToyInfo[playerid][x][ptScaleZ]);
		}
	}
	else if(PlayerInfo[playerid][pDonator] == 2)
	{
		for(new x;x<7;x++)
		{
			if(PlayerToyInfo[playerid][x][ptScaleX] == 0) {
				PlayerToyInfo[playerid][x][ptScaleX] = 1.0;
				PlayerToyInfo[playerid][x][ptScaleY] = 1.0;
				PlayerToyInfo[playerid][x][ptScaleZ] = 1.0;
			}
			if(PlayerToyInfo[playerid][x][ptModelID] != 0) SetPlayerAttachedObject(playerid, x, PlayerToyInfo[playerid][x][ptModelID], PlayerToyInfo[playerid][x][ptBone], PlayerToyInfo[playerid][x][ptPosX], PlayerToyInfo[playerid][x][ptPosY], PlayerToyInfo[playerid][x][ptPosZ], PlayerToyInfo[playerid][x][ptRotX], PlayerToyInfo[playerid][x][ptRotY], PlayerToyInfo[playerid][x][ptRotZ], PlayerToyInfo[playerid][x][ptScaleX], PlayerToyInfo[playerid][x][ptScaleY], PlayerToyInfo[playerid][x][ptScaleZ]);
		}
	}
	else if(PlayerInfo[playerid][pDonator] >= 3)
	{
		for(new x;x<8;x++)
		{
			if(PlayerToyInfo[playerid][x][ptScaleX] == 0) {
				PlayerToyInfo[playerid][x][ptScaleX] = 1.0;
				PlayerToyInfo[playerid][x][ptScaleY] = 1.0;
				PlayerToyInfo[playerid][x][ptScaleZ] = 1.0;
			}
			if(PlayerToyInfo[playerid][x][ptModelID] != 0) SetPlayerAttachedObject(playerid, x, PlayerToyInfo[playerid][x][ptModelID], PlayerToyInfo[playerid][x][ptBone], PlayerToyInfo[playerid][x][ptPosX], PlayerToyInfo[playerid][x][ptPosY], PlayerToyInfo[playerid][x][ptPosZ], PlayerToyInfo[playerid][x][ptRotX], PlayerToyInfo[playerid][x][ptRotY], PlayerToyInfo[playerid][x][ptRotZ], PlayerToyInfo[playerid][x][ptScaleX], PlayerToyInfo[playerid][x][ptScaleY], PlayerToyInfo[playerid][x][ptScaleZ]);
		}
	}
	return 1;
}

CMD:dat(playerid, params[])
{
	SendClientMessage(playerid, COLOR_WHITE, "* Deattached all toys.");
	for(new x;x<MAX_PLAYERTOYS;x++)
	{
		RemovePlayerAttachedObject(playerid, x);
    }
    return 1;
}
BEFORE:
http://pastebin.com/F6S7TaDk
http://pastebin.com/kRwdUQK9


AFTER I ADD:

http://pastebin.com/Qw3Aau2F

Код:
stock ShowEditMenu(playerid)
{
    if(IsPlayerAttachedObjectSlotUsed(playerid, slotselection[playerid]))
	{
 		RemovePlayerAttachedObject(playerid, slotselection[playerid]);
	}
	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), "%sBone (%s)\n", stringg, HoldingBones[PlayerToyInfo[playerid][slotselection[playerid]][ptBone]]);
	format(stringg, sizeof(stringg), "%sOffsets\n", stringg,(PlayerToyInfo[playerid][slotselection[playerid]][ptPosX]));
 	ShowPlayerDialogEx(playerid, EDITTOYS2, DIALOG_STYLE_LIST, "Toy Menu: Edit", stringg, "Select", "Cancel");
}
Reply
#5

anyone?
Reply
#6

https://sampwiki.blast.hk/wiki/OnPlayerEditAttachedObject
Reply
#7

What do i do with this?

Where do i put it?!?
Reply
#8

To edit objects you use EditAttachedObject(playerid, slotid); right? If so all the information you need is on that link.
Reply
#9

Quote:
Originally Posted by TonyII
Посмотреть сообщение
To edit objects you use EditAttachedObject(playerid, slotid); right? If so all the information you need is on that link.
Like this??

Can you please just do it for me? I cant understand what do you mean

Код:
if((dialogid == EDITTOYS2))
	{
	    if(response)
	    {
		    if(listitem == 0)
		    {
		        ShowPlayerDialogEx(playerid, EDITTOYSBONE, DIALOG_STYLE_LIST, "Select a Bone", "Spine\nHead\nLeft upper arm\nRight upper arm\nLeft hand\nRight hand\nLeft thigh\nRight thigh\nLeft foot\nRight foot\nRight calf\nLeft calf\nLeft forearm\nRight forearm\nLeft clavicle\nRight clavicle\nNeck\nJaw", "Select", "Cancel");
		    }
		    else if(listitem == 1)
		    {
		        SendClientMessage(playerid, COLOR_WHITE, "{AA3333}HINT:{FFFF00} Hold your Space Bar to move the camera,Press ESC to cancel the editor");
		        EditAttachedObject(playerid, slotselection[playerid]);
			}
		}
		else
		{
		    new stringg[512];
			for(new x;x<MAX_PLAYERTOYS;x++)
			{
			    new name[24];
			    format(name, sizeof(name), "None");

			    for(new i;i<sizeof(HoldingObjectsAll);i++)
			    {
       				if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
			        {
           				format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
					}
				}

				format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
			}
   			ShowPlayerDialogEx(playerid, EDITTOYS, DIALOG_STYLE_LIST, "Select a Toy", stringg, "Select", "Cancel");
		}
	}
Reply
#10

Add this somewhere into your script
pawn Код:
public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
{
    if(response)
    {
        SendClientMessage(playerid, COLOR_GREEN, "Attached object edition saved.");
 
        PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = fOffsetX;
        PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = fOffsetY;
        PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = fOffsetZ;
        PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = fRotX;
        PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = fRotY;
        PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = fRotZ;
        PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = fScaleX;
        PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = fScaleY;
        PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = fScaleZ;
        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]);
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)