Grat, egy kis apróság:
Látom hogy létrehoztál kettõ változót bool típust de én helyettük egy simát ajánlanék, mivel egyszerre úgysem lehet szerkeszteni vagy törölni vagy éppen másolni egy objectet, mert most vagy szerkeszted vagy másolod vagy éppen törlöd az objectet.
Ezért lenne egy változó és maximum enum vagy definíció segítségével létrehozol lefoglalt neveket és azt használod az egyes esetekben.
Talán egy apró kód jobban segít megérteni mire gondoltam:
enum
{
OBJECT_NONE,
OBJECT_EDIT,
OBJECT_COPY,
OBJECT_DELETE
};
// Vagy
/*
#define OBJECT_NONE 0
#define OBJECT_EDIT 1
#define OBJECT_COPY 2
#define OBJECT_DELETE 3
*/
new
objecttype[MAX_PLAYERS];
public
OnPlayerConnect(playerid)
{
objecttype[playerid] = OBJECT_NONE;
return 1;
}
CMD:om(playerid)
{
objecttype[playerid] = OBJECT_COPY;
return 1;
}
public
OnPlayerSelectDynamicObject(playerid, objectid, modelid, Float:x, Float:y, Float:z)
{
if(objecttype[playerid] == OBJECT_COPY)
{
// code
return 1;
}
return 0;
}
De még elég sokféleképp meg lehet oldani és akár még egyszerûbbé tenni az objectelést, pl.: kattintható textdraw akár delete copy funkcióval vagy ugyanez gomb nyomásra történne, használati utasításként lehet elég a SendClientMessage, ne csak rcon admin tudja használni, stb..
De ha idõvel lesz kedved még vele foglalkozni biztosan változtatni fogsz még a kódon.