Advertisement
Guest User

rObjetos V2

a guest
Nov 17th, 2014
918
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.26 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4.  
  5. #define DIALOG_TEXTURAS (1420)
  6. #define DIALOG_TEXTOS   (1421)
  7. new Object[MAX_PLAYERS];
  8. new ObjectID[MAX_PLAYERS];
  9. new Text3D:ObjectText[MAX_OBJECTS];
  10. new bool: InUpdate[MAX_OBJECTS];
  11.  
  12. public OnFilterScriptInit()
  13. {
  14.     print("\nEste servidor contém a filterscript rObjetos v2!\nCriada por Rodrigues2015.\n");
  15.     return true;
  16. }
  17.  
  18. public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
  19. {
  20.     new string[128];
  21.     if(response == 1)
  22.     {
  23.         Delete3DTextLabel(ObjectText[objectid]);
  24.         new File: robj = fopen("rObjetos.txt", io_write);
  25.         format(string, sizeof string, "[%d]%sCreateObject(%d, %f, %f, %f, %f, %f, %f);\r\n", objectid, InUpdate[objectid] ? ("[RELEASE]") : (#), ObjectID[playerid], fX, fY, fZ, fRotX, fRotY, fRotZ);
  26.         fwrite(robj, string);
  27.         fclose(robj);
  28.         format(string, sizeof string, "Object ID: [%d]", objectid);
  29.         ObjectText[objectid] = Create3DTextLabel(string, 0xCCCCFFFF, fX, fY, fZ, 10.0, 0);
  30.         InUpdate[playerid] = false;
  31.     }
  32.     return true;
  33. }
  34.  
  35. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  36. {
  37.     new string[128];
  38.     if(dialogid == DIALOG_TEXTURAS)
  39.     {
  40.         if(response)
  41.         {
  42.             new str[128];
  43.             format(str, sizeof str, "easter_egg0%d", listitem+1);
  44.             SetObjectMaterial(ObjectID[playerid], 0, 19341, "egg_texts", str, 0xFFFFFFFF);
  45.             format(string, sizeof string, "SetObjectMaterial(ObjectID[playerid], 0, 19341, egg_texts, str, 0xFFFFFFFF);", inputtext);
  46.             new File: robj = fopen("rTexturas.txt", io_write);
  47.             fwrite(robj, string);
  48.             fclose(robj);
  49.         }
  50.     }
  51.     if(dialogid == DIALOG_TEXTOS)
  52.     {
  53.         if(response)
  54.         {
  55.             SetObjectMaterialText(ObjectID[playerid], inputtext, 0, OBJECT_MATERIAL_SIZE_256x128,
  56.             "Tahoma", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
  57.             format(string, sizeof string, "SetObjectMaterialText(ObjectID[playerid], %s, 0, OBJECT_MATERIAL_SIZE_256x128, \
  58.             Tahoma, 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);", inputtext);
  59.             new File: robj = fopen("rTextos.txt", io_write);
  60.             fwrite(robj, string);
  61.             fclose(robj);
  62.         }
  63.     }
  64.     return true;
  65. }
  66.  
  67. CMD:criarobjeto(playerid, params[])
  68. {
  69.     new Float:p[3];
  70.     new model;
  71.     if(sscanf(params, "i", model))
  72.         return SendClientMessage(playerid, 0xC0C0C0AA, "[CMD]: /criarobjeto [model]");
  73.     GetPlayerPos(playerid, p[0], p[1], p[2]);
  74.     Object[playerid] = CreateObject(model, p[0]+1, p[1]+1, p[2], 0.0, 0.0, 0.0);
  75.     EditObject(playerid, Object[playerid]);
  76.     ObjectID[playerid] = model;
  77.     InUpdate[Object[playerid]] = false;
  78.     SendClientMessage(playerid, -1, "Precione {C0C0C0}SHIFT{FFFFFF} para movimentar a câmera.");
  79.     return true;
  80. }
  81.  
  82. CMD:editarobjeto(playerid, params[])
  83. {
  84.     new id;
  85.     new type;
  86.     new Float:p[3];
  87.     if(sscanf(params, "ii", type, id))
  88.     {
  89.         SendClientMessage(playerid, 0xC0C0C0AA, "[CMD]: /editarobjeto [type edit] [objectid]");
  90.         SendClientMessage(playerid, 0xC0C0C0AA, "[TYPE EDIT]: (1)coordenadas - (2)textura - (3)escrever");
  91.         return true;
  92.     }
  93.     switch(type)
  94.     {
  95.         case 1:
  96.         {
  97.             GetObjectPos(id, p[0], p[1], p[2]);
  98.             SetPlayerPos(playerid, p[0]+1, p[1]+1, p[2]+1);
  99.             EditObject(playerid, id);
  100.             InUpdate[id] = true;
  101.             SendClientMessage(playerid, -1, "Precione {C0C0C0}SHIFT{FFFFFF} para movimentar a câmera.");
  102.         }
  103.         case 2:
  104.         {
  105.             ObjectID[playerid] = id;
  106.             ShowPlayerDialog(playerid, DIALOG_TEXTURAS, DIALOG_STYLE_LIST, "Editar Textura", "Textura 1.\nTextura 2.\nTextura 3.\nTextura 4.\nTextura 5.", "Selecionar", "Cancelar");
  107.         }
  108.         case 3:
  109.         {
  110.             ObjectID[playerid] = id;
  111.             ShowPlayerDialog(playerid, DIALOG_TEXTOS, DIALOG_STYLE_INPUT, "Adicionar/Editar Texto:", "Digite abaixo o texto que quer colocar no objeto:", "Adicionar", "Cancelar");
  112.         }
  113.     }
  114.     return true;
  115. }
  116.  
  117. CMD:fsobjetos(playerid)
  118. {
  119.     SendClientMessage(playerid, -1, "----------------------------");
  120.     SendClientMessage(playerid, -1, "/criarobjeto [model]");
  121.     SendClientMessage(playerid, -1, "/editarobjeto [type edit] [objectid]");
  122.     SendClientMessage(playerid, 0xC0C0C0AA, "Criador: Rodrigues2015");
  123.     SendClientMessage(playerid, -1, "----------------------------");
  124.     return true;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement