OnPlayerEditObjet
#1

Hi, i have create one system if use OnPlayerEditObject, and unfortunately, all it's okey except the callback if use for save object. She is in my Gamemoge, i don't see the problem.
Код:
 	        Objet[playerid] = CreateObject(Etape[playerid][0],X,Y,Z,0.0,0.0,0.0,1.5);
	        SaveEtape[playerid] = 0;
	        EditObject(playerid,Objet[playerid]);

public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
	printf("Sa marche le dit objet");
	new Float:oldX, Float:oldY, Float:oldZ,
		Float:oldRotX, Float:oldRotY, Float:oldRotZ;
	GetObjectPos(objectid, oldX, oldY, oldZ);
	GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
	if(!playerobject)
	{
	    if(!IsValidObject(objectid)) return;
	    MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
	}
	if(response == EDIT_RESPONSE_FINAL)
	{
        if(SaveEtape[playerid] == 0)
        {
		   SendPlayerMessage(playerid, "{9DEB00}Move-Object", "Veuillez mettre зa position quand il sera ouvert");
		   SaveEtape[playerid] = 1;
		   ObjetPos[playerid][0] = fX;
		   ObjetPos[playerid][1] = fY;
		   ObjetPos[playerid][2] = fZ;
		   ObjetPos[playerid][3] = fRotX;
		   ObjetPos[playerid][4] = fRotY;
		   ObjetPos[playerid][5] = fRotZ;
		   EditObject(playerid,Objet[playerid]);
		}
		if(SaveEtape[playerid] == 1)
        {
		   new fichier[250];
           Ouverture[ObjectCreer][ObjetID] = objectid;
           Ouverture[ObjectCreer][PosXO] 	= fX;
	   	   Ouverture[ObjectCreer][PosYO] 	= fY;
	 	   Ouverture[ObjectCreer][PosZO] 	= fZ;
		   Ouverture[ObjectCreer][PosRXF] 	= fRotX;
		   Ouverture[ObjectCreer][PosRYF] 	= fRotY;
		   Ouverture[ObjectCreer][PosRZF] 	= fRotZ;
		   Ouverture[ObjectCreer][PosXF] = ObjetPos[playerid][0];
		   Ouverture[ObjectCreer][PosYF] = ObjetPos[playerid][1];
		   Ouverture[ObjectCreer][PosZF] = ObjetPos[playerid][2];
		   Ouverture[ObjectCreer][PosRXF] = ObjetPos[playerid][3];
		   Ouverture[ObjectCreer][PosRYF] = ObjetPos[playerid][4];
		   Ouverture[ObjectCreer][PosRZF] = ObjetPos[playerid][5];
		   Ouverture[ObjectCreer][Faction] = Etape[playerid][1];
		   format(fichier, 250, "_object/%d.ini", ObjectCreer);
	       if(!fexist(fichier))
	       {
		       dini_Create(fichier);
		       dini_IntSet(fichier, "ObjetID", objectid);
			   dini_FloatSet(fichier, "PosXO", Ouverture[ObjectCreer][PosXO]);
			   dini_FloatSet(fichier, "PosYO", Ouverture[ObjectCreer][PosYO]);
			   dini_FloatSet(fichier, "PosZO", Ouverture[ObjectCreer][PosZO]);
			   dini_FloatSet(fichier, "PosRXO", Ouverture[ObjectCreer][PosRXO]);
			   dini_FloatSet(fichier, "PosRYO", Ouverture[ObjectCreer][PosRYO]);
			   dini_FloatSet(fichier, "PosRZO", Ouverture[ObjectCreer][PosRZO]);
		   	   dini_FloatSet(fichier, "PosXF", Ouverture[ObjectCreer][PosXF]);
			   dini_FloatSet(fichier, "PosYF", Ouverture[ObjectCreer][PosYF]);
			   dini_FloatSet(fichier, "PosZF", Ouverture[ObjectCreer][PosZF]);
			   dini_FloatSet(fichier, "PosRXF", Ouverture[ObjectCreer][PosRXF]);
			   dini_FloatSet(fichier, "PosRYF", Ouverture[ObjectCreer][PosRYF]);
			   dini_FloatSet(fichier, "PosRZF", Ouverture[ObjectCreer][PosRZF]);
			   dini_IntSet(fichier, "Faction", Ouverture[ObjectCreer][Faction]);
		   }
		   ObjectCreer++;
           SaveEtape[playerid] = -1;
           Etape[playerid][0] = -1;
           Etape[playerid][1] = -1;
		}

	}
	if(response == EDIT_RESPONSE_CANCEL)
	{
        DestroyObject(Objet[playerid]);
        SaveEtape[playerid] = -1;
	}
}
my english bad :P.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)