OtaconEvil

[FS] Sistema de Lapida + Ataud - By OTACON

Sep 18th, 2013
372
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.     * ## LEASE ATENTAMENTE PARA NO CONVERTIRSE EN LAMMER!!.: :D ##
  3.     *
  4.     * Estè Simple FILTERSCRIPT esta hecho especialmente para www.forum.sa-mp.com
  5.     * NO Publicar estè FILTERSCRIPT en Otros foros de SA-MP y hacerse pasar por el creador del CODE.
  6.     *
  7.     * Codigo Creado Por OTACON
  8.     *
  9.     * CREDITOS:
  10.     *     OTACON: Realizacion y Idea de creacion del code.
  11.     *     TÙ: Modificacion libremente respetando lo mencionado ;).
  12.     *
  13.     *    NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! :D xD ;)
  14.     *
  15.     *            Prohibido TOTALMENTE el Robo de Créditos o la
  16.     *              Publicación de este FILTERSCRIPT sin Mi Permiso.
  17. */
  18. #include <a_samp>
  19. #include <sscanf2>
  20. #include <zcmd>
  21. #include <streamer>
  22. #define FUNCTION:%0(%1) forward%0(%1); public%0(%1)
  23.  
  24. #define VELOCIDAD_MUERTITO 1.0
  25. #define DISTANCIA_MUERTITO 10.0
  26. #define MENU_MUERTITO (8)
  27. #define R "{FF0000}" //rojo
  28. #define G "{B5B5BC}" //gris
  29. #define B "{FFFFFF}" //blanco
  30. #define M "{A88022}" //marron
  31. static ObjetosMuertito[30],
  32. Text3D:TextoMuertito,
  33. GuardarTextoMuertito[4][100],
  34. bool:MuertitoSepultado;
  35.  
  36. FUNCTION: OnFilterScriptInit() {
  37.     // ###### TESTING ######
  38.     AddPlayerClass(186,901.7302,-1072.1143,24.3440,201.7583,0,0,0,0,0,0); //
  39.     // ###### TESTING ######
  40.    
  41.     new data[400];
  42.     TextoMuertito=CreateDynamic3DTextLabel("",-1,883.4880,-1077.4363,24.2969,DISTANCIA_MUERTITO);
  43.     format(GuardarTextoMuertito[0],24, "N/A", GuardarTextoMuertito[0]);
  44.     format(GuardarTextoMuertito[1],24, "N/A", GuardarTextoMuertito[1]);
  45.     format(GuardarTextoMuertito[2],24, "N/A", GuardarTextoMuertito[2]);
  46.     format(GuardarTextoMuertito[3],24, "N/A", GuardarTextoMuertito[3]);
  47.     format(data,sizeof(data),"\
  48.     "G"["M"LAPIDA DEL FALLECIDO:"G"] \n\
  49.     "G"Nombre: "B"%s \n\
  50.     "G"Fecha del Fallecimiento: "B"%s \n\
  51.     "G"Epitafio: "B"%s \n\
  52.     "G"Autopsia: "B"%s \
  53.     ",GuardarTextoMuertito[0],GuardarTextoMuertito[1],GuardarTextoMuertito[2],GuardarTextoMuertito[3]);
  54.     UpdateDynamic3DTextLabelText(TextoMuertito, -1, data);
  55.    
  56.     ObjetosMuertito[0]=CreateDynamicObject(19339, 885.84589, -1077.37817, 23.71510,   0.00000, 0.00000, 0.00000);
  57.     ObjetosMuertito[1]=CreateDynamicObject(325, 887.33032, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  58.     ObjetosMuertito[2]=CreateDynamicObject(325, 887.07019, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  59.     ObjetosMuertito[3]=CreateDynamicObject(325, 886.77032, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  60.     ObjetosMuertito[4]=CreateDynamicObject(325, 886.49017, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  61.     ObjetosMuertito[5]=CreateDynamicObject(325, 886.20996, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  62.     ObjetosMuertito[6]=CreateDynamicObject(325, 885.90973, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  63.     ObjetosMuertito[7]=CreateDynamicObject(325, 885.62964, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  64.     ObjetosMuertito[8]=CreateDynamicObject(325, 885.34949, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  65.     ObjetosMuertito[9]=CreateDynamicObject(325, 885.06940, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  66.     ObjetosMuertito[10]=CreateDynamicObject(325, 884.82861, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  67.     ObjetosMuertito[11]=CreateDynamicObject(325, 884.56714, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  68.     ObjetosMuertito[12]=CreateDynamicObject(325, 884.28760, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  69.     ObjetosMuertito[13]=CreateDynamicObject(325, 884.02759, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  70.     ObjetosMuertito[14]=CreateDynamicObject(325, 887.60980, -1078.64441, 23.46310,   0.00000, 90.00000, 90.00000);
  71.     ObjetosMuertito[15]=CreateDynamicObject(325, 887.33032, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  72.     ObjetosMuertito[16]=CreateDynamicObject(325, 887.07019, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  73.     ObjetosMuertito[17]=CreateDynamicObject(325, 886.77032, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  74.     ObjetosMuertito[18]=CreateDynamicObject(325, 886.49017, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  75.     ObjetosMuertito[19]=CreateDynamicObject(325, 886.20996, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  76.     ObjetosMuertito[20]=CreateDynamicObject(325, 885.90973, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  77.     ObjetosMuertito[21]=CreateDynamicObject(325, 885.62964, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  78.     ObjetosMuertito[22]=CreateDynamicObject(325, 885.34949, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  79.     ObjetosMuertito[23]=CreateDynamicObject(325, 885.06940, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  80.     ObjetosMuertito[24]=CreateDynamicObject(325, 884.82861, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  81.     ObjetosMuertito[25]=CreateDynamicObject(325, 884.56714, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  82.     ObjetosMuertito[26]=CreateDynamicObject(325, 884.28760, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  83.     ObjetosMuertito[27]=CreateDynamicObject(325, 884.02759, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  84.     ObjetosMuertito[28]=CreateDynamicObject(325, 887.60980, -1076.21228, 23.46310,   0.00000, 90.00000, -90.00000);
  85.     return true;
  86. }
  87. FUNCTION: OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  88.     new data[400];
  89.     switch(dialogid) {
  90.         case MENU_MUERTITO+0: { //Nombre
  91.             if(response) {
  92.                 if(sscanf(inputtext, "s[20]", inputtext[0])) return ShowPlayerDialog(playerid, MENU_MUERTITO+0, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba el nombre del Fallecido: \n"R" No haz escrito nada aun!.", "Escribir", "Cancelar");
  93.                 if(strlen(inputtext[0])<6 || strlen(inputtext[0])>20) return ShowPlayerDialog(playerid, MENU_MUERTITO+0, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba la fecha del fallecimiento del Fallecido: \n"R" No ir por debajo de 6 o encima de 20 caracteres!.", "Escribir", "Cancelar");
  94.                 format(GuardarTextoMuertito[0],24, "%s", inputtext[0]);
  95.                 ShowPlayerDialog(playerid, MENU_MUERTITO+1, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba la fecha del fallecimiento del Fallecido:", "Escribir", "Cancelar");
  96.                 format(data,sizeof(data),""B"  [ ! ] "M"Haz colocado el siguiente nombre en la lapida del Fallecido: "B"%s"B"!.",GuardarTextoMuertito[0]);
  97.                 SendClientMessage(playerid,-1,data);
  98.             }
  99.         }
  100.         case MENU_MUERTITO+1: { //Fecha
  101.             if(response) {
  102.                 if(sscanf(inputtext, "s[70]", inputtext[0])) return ShowPlayerDialog(playerid, MENU_MUERTITO+1, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba la fecha del fallecimiento del Fallecido: \n"R" No haz escrito nada aun!.", "Escribir", "Cancelar");
  103.                 if(strlen(inputtext[0])<6 || strlen(inputtext[0])>70) return ShowPlayerDialog(playerid, MENU_MUERTITO+1, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba la fecha del fallecimiento del Fallecido: \n"R" No ir por debajo de 6 o encima de 70 caracteres!.", "Escribir", "Cancelar");
  104.                 format(GuardarTextoMuertito[1],70, "%s", inputtext[0]);
  105.                 ShowPlayerDialog(playerid, MENU_MUERTITO+2, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba un epitafio para el Fallecido:", "Escribir", "Cancelar");
  106.                 format(data,sizeof(data),""B"  [ ! ] "M"Haz colocado la siguiente fecha del fallecimiento en la lapida del Fallecido: "B"%s"B"!.",GuardarTextoMuertito[1]);
  107.                 SendClientMessage(playerid,-1,data);
  108.             }
  109.         }
  110.         case MENU_MUERTITO+2: { //Epitafio
  111.             if(response) {
  112.                 if(sscanf(inputtext, "s[70]", inputtext[0])) return ShowPlayerDialog(playerid, MENU_MUERTITO+2, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba un epitafio para el Fallecido: \n"R" No haz escrito nada aun!.", "Escribir", "Cancelar");
  113.                 if(strlen(inputtext[0])<6 || strlen(inputtext[0])>70) return ShowPlayerDialog(playerid, MENU_MUERTITO+2, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba un epitafio para el Fallecido: \n"R" No ir por debajo de 6 o encima de 70 caracteres!.", "Escribir", "Cancelar");
  114.                 format(GuardarTextoMuertito[2],70, "%s", inputtext[0]);
  115.                 ShowPlayerDialog(playerid, MENU_MUERTITO+3, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba una Autopsia para el Fallecido:", "Escribir", "Cancelar");
  116.                 format(data,sizeof(data),""B"  [ ! ] "M"Haz colocado el siguiente epitafio en la lapida del Fallecido: "B"%s"B"!.",GuardarTextoMuertito[2]);
  117.                 SendClientMessage(playerid,-1,data);
  118.             }
  119.         }
  120.         case MENU_MUERTITO+3: { //Autopsia
  121.             if(response) {
  122.                 if(sscanf(inputtext,"s[70]",inputtext[0])) return ShowPlayerDialog(playerid, MENU_MUERTITO+3, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba una Autopsia para el Fallecido: \n"R" No haz escrito nada aun", "Escribir", "Cancelar");
  123.                 if(strlen(inputtext[0])<6 || strlen(inputtext[0])>70) return ShowPlayerDialog(playerid, MENU_MUERTITO+3, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba una Autopsia para el Fallecido: \n"R" No ir por debajo de 6 o encima de 70 caracteres!.", "Escribir", "Cancelar");
  124.                 format(GuardarTextoMuertito[3],70, "%s", inputtext[0]);
  125.                 format(data,sizeof(data),""B"  [ ! ] "M"Haz colocado la siguiente Autopsia en la lapida del Fallecido: "B"%s"B"!.",GuardarTextoMuertito[3]);
  126.                 SendClientMessage(playerid,-1,data);
  127.                 format(data,sizeof(data),"\
  128.                 "G"["M"LAPIDA DEL FALLECIDO:"G"] \n\
  129.                 "G"Nombre: "B"%s \n\
  130.                 "G"Fecha del Fallecimiento: "B"%s \n\
  131.                 "G"Epitafio: "B"%s \n\
  132.                 "G"Autopsia: "B"%s \
  133.                 ",GuardarTextoMuertito[0],GuardarTextoMuertito[1],GuardarTextoMuertito[2],GuardarTextoMuertito[3]);
  134.                 UpdateDynamic3DTextLabelText(TextoMuertito, -1, data);
  135.             }
  136.         }
  137.     } return true;
  138. }
  139. FUNCTION: OnDynamicObjectMoved(objectid) {
  140.     if(objectid==ObjetosMuertito[0] && MuertitoSepultado==true) {
  141.         DestroyDynamicObject(ObjetosMuertito[29]);
  142.         ObjetosMuertito[29]=CreateDynamicObject(19380, 885.71631, -1077.49146, 23.05920,   0.00000, 90.00000, 0.00000);
  143.         SetDynamicObjectMaterial(ObjetosMuertito[29], 0, 5871, "cemetery_law", "desmud", 0);
  144.     } return true;
  145. }
  146. COMMAND:muerto(playerid, params[]) {
  147.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,""B"  [ ! ] "M"Usted No esta Autorizado a Utilizar este Comando"B"!.");
  148.     if(MuertitoSepultado!=false) return SendClientMessage(playerid,-1,""B"  [ ! ] "M"El Ataud se encuentra sepultado"B"!.");
  149.     ShowPlayerDialog(playerid, MENU_MUERTITO+0, DIALOG_STYLE_INPUT, ""M"INFO: "B"lapida del Fallecido:", ""B"Escriba el nombre del Fallecido:", "Escribir", "Cancelar");
  150.     return true;
  151. }
  152. COMMAND:sepultar(playerid, params[]) {
  153.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,""B"  [ ! ] "M"Usted No esta Autorizado a Utilizar este Comando"B"!.");
  154.     if(!MuertitoSepultado) {
  155.         MuertitoSepultado=true;
  156.         MoveDynamicObject(ObjetosMuertito[0], 885.84595, -1077.37817, 22.35510, VELOCIDAD_MUERTITO);
  157.     } else {
  158.         MuertitoSepultado=false;
  159.         DestroyDynamicObject(ObjetosMuertito[29]);
  160.         MoveDynamicObject(ObjetosMuertito[0], 885.84589, -1077.37817, 23.71510, VELOCIDAD_MUERTITO);
  161.     } return true;
  162. }
  163. /*
  164.     * ## LEASE ATENTAMENTE PARA NO CONVERTIRSE EN LAMMER!!.: :D ##
  165.     *
  166.     * Estè Simple FILTERSCRIPT esta hecho especialmente para www.forum.sa-mp.com
  167.     * NO Publicar estè FILTERSCRIPT en Otros foros de SA-MP y hacerse pasar por el creador del CODE.
  168.     *
  169.     * Codigo Creado Por OTACON
  170.     *
  171.     * CREDITOS:
  172.     *     OTACON: Realizacion y Idea de creacion del code.
  173.     *     TÙ: Modificacion libremente respetando lo mencionado ;).
  174.     *
  175.     *    NOTA: Menos Creditos para los que me los critican.. JO'PUTAS! :D xD ;)
  176.     *
  177.     *            Prohibido TOTALMENTE el Robo de Créditos o la
  178.     *              Publicación de este FILTERSCRIPT sin Mi Permiso.
  179. */
RAW Paste Data