Advertisement
Chip7

[FS] Easy Object Finder

May 17th, 2012
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.37 KB | None | 0 0
  1. /*VISITE NOSSO SITE: http://www.sampknd.com/
  2.   SAMP KND MELHOR BLOG DE SAMP DO BRASIL
  3. */
  4.  
  5. #include a_samp
  6.  
  7.  
  8. // Configurações
  9. #define SHOW_DEBUG                  true                                        // Esta definição serve para exibir debugging, caso queira destaivar, coloque "false".
  10. #define SEMSIBILITY                 Float:5.0                                   // Default semsibilty
  11.  
  12.  
  13. new
  14.     ObjectToDestroy             =   -1,
  15.     PlayerObjectTime            =   -1,
  16.     TemObject                   =   -1
  17. ;
  18.  
  19.  
  20. forward iOnPlayerUpdate(playerid); public iOnPlayerUpdate(playerid)
  21. {
  22.  
  23.     new
  24.         string[128],
  25.         Float: pX,
  26.         Float: pY,
  27.         Float: pZ
  28.     ;
  29.    
  30.     for(new i; i != 2000; ++i) // 2000  == MAX_OBJECTS
  31.     {
  32.         GetObjectPos(i, pX, pY, pZ);
  33.  
  34.         if(IsPlayerInRangeOfPoint(playerid, SEMSIBILITY, pX, pY, pZ))
  35.         {
  36.             ObjectToDestroy = i;
  37.             format(string, sizeof(string),"Você está perto do Objeto ID:%i Pos: %f, %f, %f | Digite /delobject para deleta-lo.", i, pX, pY, pZ);
  38.             SendClientMessage(playerid, -1, string);
  39.            
  40.             DestroyPickup(TemObject);
  41.             TemObject = CreatePickup(1318, 23, pX, pY, pZ + 1.10, GetPlayerVirtualWorld(playerid));
  42.            
  43.  
  44.             #if SHOW_DEBUG == true
  45.             printf(string);
  46.             #endif
  47.            
  48.             break;
  49.         }
  50.     }
  51.    
  52.     PlayerObjectTime = SetTimerEx("iOnPlayerUpdate", 1000 * 2, false, "i", playerid);
  53.     return true;
  54. }
  55.  
  56.  
  57.        
  58. public OnPlayerCommandText(playerid, cmdtext[])
  59. {
  60.     if(!strcmp(cmdtext,"/delobject", true))
  61.     {
  62.         if(ObjectToDestroy != -1)
  63.         {
  64.             static
  65.                 Float: pX,
  66.                 Float: pY,
  67.                 Float: pZ
  68.             ;
  69.            
  70.            
  71.             GetObjectPos(ObjectToDestroy,  pX, pY, pZ);
  72.            
  73.             if(!IsPlayerInRangeOfPoint(playerid, 20.0, pX, pY, pZ))
  74.                 return SendClientMessage(playerid, -1,#Você tem que estar perto do objeto!);
  75.  
  76.             KillTimer(PlayerObjectTime);
  77.            
  78.            
  79.             DestroyPickup(TemObject);
  80.             DestroyObject(ObjectToDestroy);
  81.                
  82.            
  83.            
  84.             SendClientMessage(playerid, -1, #Deletado!);
  85.            
  86.             #if SHOW_DEBUG == true
  87.             {
  88.                 printf("OBJETO DELETADO: [ ID: %i | POSX: %f | POSY: %f | POSZ: %f ]", ObjectToDestroy, pX, pY, pZ);
  89.             }
  90.             #endif
  91.         }
  92.         else
  93.         {
  94.             SendClientMessage(playerid, -1, #Você nao está perto de nenhum objeto);
  95.         }
  96.         return true;
  97.     }
  98.  
  99.     if(!strcmp(cmdtext,"/ver", true))
  100.     {
  101.         iOnPlayerUpdate(playerid);
  102.         return 1;
  103.     }
  104.    
  105.     return false;
  106.    
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement