Problem with OnplayerSelectObject
#1

After choosing an object it doesn't let me edit it.

Код:
public OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ)
{
    printf("Player %d selected object %d", playerid, objectid);
    if(omode[playerid] == 1)
    {
        print("223");
   		EditObject(playerid, objectid);
	}
    SendClientMessage(playerid, 0xFFFFFFFF, "You now are able to edit your object!");
    return 1;
}
Код:
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
	new Float:oldX, Float:oldY, Float:oldZ,
		Float:oldRotX, Float:oldRotY, Float:oldRotZ;
	GetObjectPos(objectid, oldX, oldY, oldZ);
	GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
	if(response == EDIT_RESPONSE_FINAL)
	{
	    print("223a");
	    if(omode[playerid] == 1)
	    {
   			for(new b = 1;b<MAX_HOBJECTSx;b++)
			{
			    print("223b");
       		    if(b <= MHO)
				{
				    print("223c");
					if(oldX == mysql_Float(HobjectsT,b,"fX") && oldY == mysql_Float(HobjectsT,b,"fY") && oldZ == mysql_Float(HobjectsT,b,"fZ") && GetPlayerVirtualWorld(playerid) == mysql_Int(HobjectsT,b,"VW"))
					{
					    print("22d");
   						Query("UPDATE `%s` SET `Model`='%d',`fX`='%f',`fY`='%f',`fZ`='%f',`fRotX`='%f',`fRotY`='%f',`fRotZ`='%f' WHERE `ID`='%d'",	HobjectsT,	Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ, MHO);
	       	 			MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
						return 1;
					}
				}
			}
	    }
	    else if(omode[playerid] != 1)
	    {
			for(new b = 1;b<MAX_HOBJECTSx;b++)
			{
		    	if(b > MHO)
				{
					MHO = b;
					Query("INSERT INTO `%s` (`ID`) VALUES ('%d')",HobjectsT,MHO);
        			Query("UPDATE `%s` SET `Model`='%d',`fX`='%f',`fY`='%f',`fZ`='%f',`fRotX`='%f',`fRotY`='%f',`fRotZ`='%f',`VW`='%d',`Interior`='%d',`HouseID`='%d' WHERE `ID`='%d'",	HobjectsT,	ObjectEdit[playerid], Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid),InHouse[playerid],MHO);
        			MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
        			return 1;
			   }
			}
		}
	}
	if(response == EDIT_RESPONSE_CANCEL)
	{
	    DestroyObject(objectid);
	}
	return 1;
}
and the public of the edit:
Reply
#2

maybe it should be OnPlayerEditObject it that place i don't actually know cause i don't script MySQL much.
Reply
#3

I tried to revmove and then to check if it's working but it's not, what could be the problem ?

and by the prints I saw that even not contact to the onplayereditobject. it stacks in EditObject
Reply
#4

I think the
Код:
EditObject(playerid, objectid);
you gave is wrong stock address that could also cause

the problem try checking the stock again .
Reply


Forum Jump:


Users browsing this thread: