#include a_samp // Configurações #define SHOW_DEBUG true // Esta definição serve para exibir debugging, caso queira destaivar, coloque "false". #define SEMSIBILITY Float:5.0 // Default semsibilty new ObjectToDestroy = -1, PlayerObjectTime = -1, TemObject = -1 ; forward iOnPlayerUpdate(playerid); public iOnPlayerUpdate(playerid) { new string[128], Float: pX, Float: pY, Float: pZ ; for(new i; i != 2000; ++i) // 2000 == MAX_OBJECTS { GetObjectPos(i, pX, pY, pZ); if(IsPlayerInRangeOfPoint(playerid, SEMSIBILITY, pX, pY, pZ)) { ObjectToDestroy = i; format(string, sizeof(string),"Você está perto do Objeto ID:%i Pos: %f, %f, %f | Digite /delobject para deleta-lo.", i, pX, pY, pZ); SendClientMessage(playerid, -1, string); DestroyPickup(TemObject); TemObject = CreatePickup(1318, 23, pX, pY, pZ + 1.10, GetPlayerVirtualWorld(playerid)); #if SHOW_DEBUG == true printf(string); #endif break; } } PlayerObjectTime = SetTimerEx("iOnPlayerUpdate", 1000 * 2, false, "i", playerid); return true; } public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext,"/delobject", true)) { if(ObjectToDestroy != -1) { static Float: pX, Float: pY, Float: pZ ; GetObjectPos(ObjectToDestroy, pX, pY, pZ); if(!IsPlayerInRangeOfPoint(playerid, 20.0, pX, pY, pZ)) return SendClientMessage(playerid, -1,#Você tem que estar perto do objeto!); KillTimer(PlayerObjectTime); DestroyPickup(TemObject); DestroyObject(ObjectToDestroy); SendClientMessage(playerid, -1, #Deletado!); #if SHOW_DEBUG == true { printf("OBJETO DELETADO: [ ID: %i | POSX: %f | POSY: %f | POSZ: %f ]", ObjectToDestroy, pX, pY, pZ); } #endif } else { SendClientMessage(playerid, -1, #Você nao está perto de nenhum objeto); } return true; } if(!strcmp(cmdtext,"/ver", true)) { iOnPlayerUpdate(playerid); return 1; } return false; }