Jump to content
  • 0
Sign in to follow this  
granrover

compatibilizar invacion de Ivion

Question

Bueno resulta que tengo hace muchos años un antiguo script de eathena el que hacia una invasión automática en distintas ciudades y distintos mobs por razas.

 

resulta que con hercules me es imposible echarlo a correr a ver si alguien lo hace compatible o me ayuda a hacerlo compatibilizar.

 

saludos

Edited by granrover

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

¡Hola!

 

Desgraciadamente no tengo tal script de Ivion disponible para ver su problema con Hercules. ¿Podrías publicarlo por aquí o decirme exactamente cuál es su problema, a ver qué puedo hacer?

 

Un saludo.

Share this post


Link to post
Share on other sites
  • 0
//// [========================================================]// [===========           The Invasor            ===========]// [========================================================]// [ Version 8                                              ]// [========================================================]// [ Original script by: Ivion                              ]// [========================================================]// [ Description:                                           ]// [--------------------------------------------------------]// [                                                        ]// [ - Automatic invasion events.                           ]// [ - 24 randomly selected cities.                         ]// [ - 15 different types of invasion.                      ]// [ - Invasion events are divided into 3 difficulty stages.]// [ - GM Control Panel whispering to NPC:invasor.          ]// [========================================================]// [ Changelog: (5 last updates)                            ]// [--------------------------------------------------------]// [                                                        ]// [ v4: [Ivion]                                            ]// [ - Nuevos mobs balanceados, añadidos a la db.           ]// [ - 2 nuevos tipos de invasiones.                        ]// [ - Ahora los mobs dropean items.                        ]// [ - Recompensas y penalizaciones globales.               ]// [ - Acceso ingame mediante OnWhisperGlobal.              ]// [ - Nuevas opciones de configuración.                    ]// [ - Reescrito casi todo el código.                       ]// [                                                        ]// [ v5: [Ivion]                                            ]// [ - Varios bugfixes.                                     ]// [ - Optimización del script.                             ]// [ - Añadido mid_camp.                                    ]// [ - Nuevos mobs sin tanta db.                            ]// [ - Nuevos bosses.                                       ]// [ - Nuevas invasiones: Ice, Nature, Dragon, Kaos y       ]// [   Takeshi.                                             ]// [ - Incremento de rates del servidor a +20%.             ]// [ - Retirado el sistema de penalizaciones.               ]// [ - Los spawns no disminuirán al matar los bosses.       ]// [ - Sistema para Save Point alternativo.                 ]// [                                                        ]// [ v5.1: [Ivion]                                          ]// [ - Bugfix: Corregido un pequeño error en mob_db2 que    ]// [   producía errores en el map-server.                   ]// [                                                        ]// [ v6: [Ivion]                                            ]// [ - Translated into english.                             ]// [ - Added new 13.2 episode cities.                       ]// [ - Global delayed announcements system.                 ]// [ - Rates increment won't affect other possible bonnuses ]// [   from other scripts.                                  ]// [ - Bugfix: Mapflags used while the invasion event will  ]// [   be cleared according to their inicial state.         ]// [ - Some mobs has been replaced.                         ]// [ - Bugfix: Removed Ghoul and Angeling mobs from the 3rd ]// [   stage of the Undead invasion.                        ]// [ - Some bosses has been replaced.                       ]// [ - Some balance adjustments to the stats of the bosses. ]// [ - Bugfix: Some bosses had range2 = 0.                  ]// [ - The control panel won't be displayed to              ]// [   multiple gms at once.                                ]// [ - Mobs and bosses will drop Poring Coins.              ]// [                                                        ]// [ v7: [Ivion]                                            ]// [ - Bugfix: Incorrect map cells in Amatsu and Juno.      ]// [ - Added teleport skill to the bosses.                  ]// [ - Updated the skills of the 13.1 monsters.             ]// [                                                        ]// [ v8: [Ivion]                                            ]// [ - The init timer won't reset when reloading scripts.   ]// [ - Added some information about the invasion progress in]// [   the GMs Control Panel.                               ]// [========================================================]// [ http://www.eathena.ws/board/index.php?showtopic=224056 ]// [========================================================]-	script	invasor	-1,{OnInit:// [========================================================]// [ Configuration:                                         ]// [--------------------------------------------------------]	set .t1,2*24;		// Minimum time to activate a new invasion event. (h)	set .t2,4*24;		// Maximum time to activate a new invasion event. (h)	set .t3,24*120;		// Maximum duration of the invasion event. (min)	set .r1,50000;			// Mob rate. (%)	set .pci,8905;		// Item reward dropped by mobs and bosses. (Default = Poring Coin)	set .pcr1,1;		// Rate of item rewards dropped by mobs. (0 = off | %)	set .pcr2,10;		// Rate of item rewards dropped by bosses. (0 = off | %)				// After successfully completing the invasion, the experience rates will be increased for a time.	set .t4,60;		// Duration of the experience event. (0 = off | min)	set .r2,30;		// Experience rates increment. (0 = off | %)	set .gm,60;		// GM level required to access the Control Panel whispering to NPC:invasor.	// Alternative Save Point:	// If a player had saved in the map of the current invasion event, his respawn point will be changed to this one.	set .s$,"prontera";	// Map.	set .sx,156;		// x.	set .sy,161;		// y.	// Cities:	// getarg(0): Name.	// getarg(1): Map.	// getarg(2): Intensity. (0 = off | Intensity)	//callsub Onc0,"Alberta","alberta",11;	callsub Onc0,"Al De Baran","aldebaran",14;	callsub Onc0,"Amatsu","amatsu",18;	callsub Onc0,"Ayothaya","ayothaya",8;	callsub Onc0,"Comodo","comodo",22;	callsub Onc0,"Einbech","einbech",11;	callsub Onc0,"Einbroch","einbroch",22;	callsub Onc0,"Geffen","geffen",10;	callsub Onc0,"Gonryun","gonryun",14;	callsub Onc0,"Hugel","hugel",9;	callsub Onc0,"Izlude","izlude",5;	callsub Onc0,"Jawaii","jawaii",0; // 7	callsub Onc0,"Juno","yuno",30;	callsub Onc0,"Lighthalzen","lighthalzen",24;	callsub Onc0,"Louyang","louyang",27;	callsub Onc0,"Lutie","xmas",20;	callsub Onc0,"Manuk","manuk",8;	callsub Onc0,"Midgarts Expedition Camp","mid_camp",13;	callsub Onc0,"Morroc","morocc",25;	callsub Onc0,"Moscovia","moscovia",6;	callsub Onc0,"Niflheim","niflheim",0; // 20	callsub Onc0,"Payon","payon",19;	callsub Onc0,"Prontera","prontera",0; // 30	callsub Onc0,"Rachel","rachel",18;	callsub Onc0,"Splendide","splendide",29;	callsub Onc0,"Umbala","umbala",4;	callsub Onc0,"Veins","veins",20;	// Invasion types:	// getarg(0): Name.	// getarg(1 .. 9): Mobs.	// getarg(10 .. 12): Bosses.	callsub Onc1,"Aqua",1068,1071,1071,1069,1044,1144,1045,1065,1264,1894,2016,1112;	callsub Onc1,"Demon",1146,1109,1101,1149,1632,1773,1382,1292,1208,1920,1389,1929;	callsub Onc1,"Dragon",1715,1718,1155,1380,1206,1385,1717,1714,1716,1262,1720,2022;	callsub Onc1,"Earth",1784,1782,1165,1517,1615,1516,1378,1386,1602,1919,1785,1916;	callsub Onc1,"Fire",1836,1367,1383,1072,1384,1381,1318,1837,1366,1833,1831,1832;	callsub Onc1,"Ghost",1509,1179,1186,1143,1510,1192,1506,1375,1291,1704,1921,1768;	callsub Onc1,"Ice",1243,1789,1776,1778,1323,1317,1775,1515,1319,1777,1252,1779;	callsub Onc1,"Insect",1054,1100,1139,1279,1099,1625,1304,1194,1305,1618,2087,1147;	callsub Onc1,"Kaos",1140,1508,1163,1276,1504,1132,1698,1505,1507,1702,1268,2018;	callsub Onc1,"Machina",1151,1616,1745,1682,1270,1622,1202,1678,1673,1978,1623,1685;	callsub Onc1,"Nature",1162,1118,1880,1500,1497,1410,1780,1884,1314,1991,1885,1957;	callsub Onc1,"Takeshi",1026,1188,1404,1584,1609,1512,1416,1405,1401,1518,1492,1418;	callsub Onc1,"Undead",1403,1169,1041,1196,1197,1117,1297,1866,1098,1870,1038,1373;	callsub Onc1,"Venom",1621,1256,1037,1402,1209,1216,1207,1883,1148,1987,1871,1874;	callsub Onc1,"Wind",1627,1156,1253,1263,1633,1692,1412,1774,1259,1992,1918,1931;	//callsub Onc1,"Aqua",1068,1071,1228,1069,1044,1144,1045,1065,1264,2503,2504,2505;	//callsub Onc1,"Demon",1146,1109,1101,1149,1632,1773,1382,1292,1208,2536,2537,2538;	//callsub Onc1,"Dragon",1715,1718,1155,1380,1206,1385,1717,1714,1716,2524,2525,2526;	//callsub Onc1,"Earth",1784,1782,1165,1517,1615,1516,1378,1386,1602,2512,2513,2514;	//callsub Onc1,"Fire",1836,1367,1383,1072,1384,1381,1318,1837,1366,2500,2501,2502;	//callsub Onc1,"Ghost",1509,1179,1186,1143,1510,1192,1506,1375,1291,2527,2528,2529;	//callsub Onc1,"Ice",1243,1789,1776,1778,1323,1317,1775,1515,1319,2506,2507,2508;	//callsub Onc1,"Insect",1054,1100,1139,1279,1099,1625,1304,1194,1305,2518,2519,2520;	//callsub Onc1,"Kaos",1140,1508,1163,1276,1504,1132,1698,1505,1507,2539,2540,2541;	//callsub Onc1,"Machina",1151,1616,1745,1682,1270,1622,1202,1678,1673,2515,2516,2517;	//callsub Onc1,"Nature",1162,1118,1880,1500,1497,1410,1780,1884,1314,2509,2510,2511;	//callsub Onc1,"Takeshi",1026,1188,1404,1584,1609,1512,1416,1405,1401,2542,2543,2544;	//callsub Onc1,"Undead",1403,1169,1041,1196,1197,1117,1297,1866,1098,2533,2534,2535;	//callsub Onc1,"Venom",1621,1256,1037,1402,1209,1216,1207,1883,1148,2521,2522,2523;	//callsub Onc1,"Wind",1627,1156,1253,1263,1633,1692,1412,1774,1259,2530,2531,2532;// [--------------------------------------------------------]// [ End of configuration.                                  ]// [========================================================]	set .br,getbattleflag("base_exp_rate");	set .jr,getbattleflag("job_exp_rate");	// Fix incorrect map cells:	setcell "amatsu",314,267,314,314,0,0;	setcell "yuno",205,219,205,218,0,0;	donpcevent "invasor::On0";	end;Onc0:	if(getarg(2) > 0) {		set .c1$[.c],getarg(0);		set .c2$[.c],getarg(1);		set .i[.c],getarg(2);		set .c,.c + 1;	}	return;Onc1:	set .@a,getarraysize(.n$);	set .n$[.@a],getarg(0);	while(.@b < 12) {		set getd(".m"+((.@a * 12) + .@),getarg(.@b + 1);		set .@b,.@b + 1;	}	return;On0:	while(1) {		set .a,0;		set .b,0;		set .c,0;		set .@t,gettimetick(2) / 60;		if($TIt <= .@t) set $TIt,.@t + rand(.t1 * 60,.t2 * 60);		sleep ($TIt - .@t) * 60 * 1000;		set .a,1;		set $TIt,0;		set .@t,0;		donpcevent "invasor::OnTimer";		if(!. set .b,rand(1,getarraysize(.i));		set .b,.b - 1;		if(!.c) set .c,rand(1,getarraysize(.n$));		set .c,.c - 1;		set .mf1,getmapflag(.c2$[.b],1);		set .mf4,getmapflag(.c2$[.b],4);		setmapflag .c2$[.b],1;	// noteleport		setmapflag .c2$[.b],4;	// nopenalty		callsub Clrmsg;		announce "S.O.S.!! "+.c1$[.b]+" ESTA SUFRIENDO UNA TERRIBLE INVACION!!!.",bc_all,0xffaa00;		while(.a > 0) {			if(!.d) {				set .d,4 - .a;				killmonster .c2$[.b],"invasor::onm9";				if(.a > 1) callsub Addmsg,"Los ejércitos invasores nuevamente entran en la ciudad.","ffaa00",.c2$[.b];				monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + .a + 8)),4 - .a,"invasor::onm9";			}			if(mobcount(.c2$[.b],"invasor::onm"+((.a * 3) - 3)) < (.i[.b] * .r1 / 20)) monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + (.a * 3) - 3)),.i[.b],"invasor::onm"+((.a * 3) - 3);			if(mobcount(.c2$[.b],"invasor::onm"+((.a * 3) - 2)) < (.i[.b] * .r1 / 20)) monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + (.a * 3) - 2)),.i[.b],"invasor::onm"+((.a * 3) - 2);			if(mobcount(.c2$[.b],"invasor::onm"+((.a * 3) - 1)) < (.i[.b] * .r1 / 20)) monster .c2$[.b],0,0,"--ja--",getd(".m"+((.c * 12) + (.a * 3) - 1)),.i[.b],"invasor::onm"+((.a * 3) - 1);			if(.a > 0) sleep 20000;		}		set .d,0;		set .@a,12;		while(.@a > 0) {			set .@a,.@a - 1;			killmonster .c2$[.b],"invasor::onm"+.@a;		}		if(!.mf1) removemapflag .c2$[.b],1;		if(!.mf4) removemapflag .c2$[.b],4;		set .mf1,0;		set .mf4,0;		if(.a == -1) {			callsub Addmsg,"Recompensa: Experiencia aumento de rates a "+.r2+"%. ("+.t4+" min)","ffaa00";			setbattleflag "base_exp_rate",getbattleflag("base_exp_rate") + (.br * .r2 / 100);			setbattleflag "job_exp_rate",getbattleflag("job_exp_rate") + (.jr * .r2 / 100);			sleep .t4 * 60 * 1000;			setbattleflag "base_exp_rate",getbattleflag("base_exp_rate") - (.br * .r2 / 100);			setbattleflag "job_exp_rate",getbattleflag("job_exp_rate") - (.jr * .r2 / 100);			announce "Los rates de la experiencia ha sido restaurados.",bc_all,0xffaa00;		}	}	end;onm0:onm1:onm2:	if(playerattached() && .pcr1) if(!rand(100 * 100 / .pcr1)) getitem .pci,1;	end;onm3:onm4:onm5:	if(playerattached() && .pcr1) if(!rand(75 * 100 / .pcr1)) getitem .pci,1;	end;onm6:onm7:onm8:	if(playerattached() && .pcr1) if(!rand(50 * 100 / .pcr1)) getitem .pci,1;	end;onm9:	if(.a < 1) end;	set .d,.d - 1;	if(.a != 3) {		if(.a == 1) set .@a$,"Sbirro";		if(.a == 2) set .@a$,"Hero";		set .@b$,callsub(Grammar_a_an,.n$[.c]);		if(playerattached()) {			set .@a$,strcharinfo(0)+" ha muerto "+.@b$+" "+.n$[.c]+" "+.@a$+".";			if(.a == 1) getitem .pci,2 * .pcr2 / 100;			if(.a == 2) getitem .pci,3 * .pcr2 / 100;		}		else set .@a$,.@b$+" "+.n$[.c]+" "+.@a$+" haz sido asesinado.";		callsub Addmsg,.@a$+" ("+(4 - .a - .d)+"/"+(4 - .a)+")","ffaa00",.c2$[.b];		if(!.d) set .a,.a + 1;	}	else {		if(playerattached()) {			set .@a$,strcharinfo(0)+" ha matado a la "+.n$[.c]+" Deux.";			getitem .pci,1 * .pcr2 / 100;		}		else set .@a$,"El "+.n$[.c]+" Deux a sido asesinado.";		callsub Addmsg,.@a$,"ffaa00",.c2$[.b];		callsub Addmsg,"El ejército invasor de "+.c1$[.b]+" ha sido derrotado.","ffaa00";		if(.t4 && .r2) set .a,-1;		else set .a,0;		awake "invasor";	}	end;OnTimer:	sleep .t3 * 120 * 1000;	if(.a < 1) end;	set .a,0;	awake "invasor";	callsub Clrmsg;	callsub Addmsg,"Las defensas de "+.c1$[.b]+" han sido derrotadas por los ejércitos invasores.","ffaa00";	callsub Addmsg,"Hoy será recordado como un día negro para el servidor Apolo-RO /sob.","ffaa00";	end;OnPCLoginEvent:	if(.a > 0) {		sleep2 3000;		if(.a > 0) announce "¡¡S.O.S.!! "+.c1$[.b]+" está sufriendo de una terrible invasión.",bc_self,0xffaa00;	}	else if(.a == -1) {		sleep2 3000;		if(.a == -1) announce "La experiencia de rates ha sido aumentada a "+.r2+"%.",bc_self,0xffaa00;	}	end;OnPCDieEvent:	if((.a > 0) && (getsavepoint(0) == .c2$[.b])) save .s$,.sx,.sy;	end;OnWhisperGlobal:	if(getgmlevel() < .gm) end;	set .@n$,"^008888The Invasor^000000";	mes .@n$;	mes "Este es el panel de control del sistema de Invasor.";	if(!.a) {		mes "Actualmente no hay ninguna invasión en curso.";		set .@t,$TIt - (gettimetick(2) / 60);		if(!.@t) set .@t$,"a few seconds";		else if(.@t < 60) set .@t$,.@t+" minutes";		else {			set .@t,.@t / 60;			if(.@t < 24) set .@t$,.@t+" hours";			else set .@t$,(.@t / 24)+" days";		}		mes "Próximo evento de la invasión automática tendrá lugar en "+.@t$+".";		next;		set .@b,select("^880000Exit^000000","Start invasion.") - 1;		mes .@n$;		if(.@ {			mes "Select a city.";			next;			set .@a,select("^880000Random^000000",.c1$[0],.c1$[1],.c1$[2],.c1$[3],.c1$[4],.c1$[5],.c1$[6],.c1$[7],.c1$[8],.c1$[9],.c1$[10],.c1$[11],.c1$[12],.c1$[13],.c1$[14],.c1$[15],.c1$[16],.c1$[17],.c1$[18],.c1$[19],.c1$[20],.c1$[21],.c1$[22],.c1$[23],.c1$[24],.c1$[25],.c1$[26],.c1$[27],.c1$[28],.c1$[29],.c1$[30],.c1$[31],.c1$[32],.c1$[33],.c1$[34],.c1$[35],.c1$[36],.c1$[37],.c1$[38],.c1$[39]);			mes .@n$;			set .@a,.@a - 1;			mes "Seleccione una clase para la invasión.";			next;			set .@b,select("^880000Random^000000",.n$[0],.n$[1],.n$[2],.n$[3],.n$[4],.n$[5],.n$[6],.n$[7],.n$[8],.n$[9],.n$[10],.n$[11],.n$[12],.n$[13],.n$[14],.n$[15],.n$[16],.n$[17],.n$[18],.n$[19],.n$[20],.n$[21],.n$[22],.n$[23],.n$[24]);			mes .@n$;			set .@b,.@b - 1;			if(.a) {				mes "En este momento, no se puede iniciar una nueva invasión.";				mes "Regresa mas tarde.";				close;			}			set .b,.@a;			set .c,.@b;			awake "invasor";			mes "Una nueva invasión se ha iniciado.";			close;		}	}	else if(.a > 0) {		mes "Actualmente no existe "+callsub(Grammar_a_an,.n$[.c])+" "+.n$[.c]+" invasión que tienen lugar en "+.c1$[.b]+".";		next;		set .@b,select("^880000Exit^000000","Cancelar la actual invasión.") - 1;		mes .@n$;		if(.@ {			if(.a < 1) {				mes "Actualmente no hay ninguna invasión en curso.";				close;			}			set .a,0;			announce "La invasion en "+.c1$[.b]+" ha sido cancelada.",bc_all,0xffaa00;			mes "la invasion en "+.c1$[.b]+" ha sido cancelada.";			awake "invasor";			close;		}	}	else {		mes "Experiencia de rates aumentada "+.r2+"% como una recompensa por la invasión anterior.";		next;		set .@b,select("^880000Exit^000000","Restaurar rates.") - 1;		mes .@n$;		if(.@ {			if(.a != -1) {				mes "Actualmente los rates no son modificados por el sistema de Invasor.";				close;			}			awake "invasor";			mes "Los rates han sido restaurados.";			close;		}	}	mes "Hasta pronto.";	close;// Adds a new message to the announcement list:// getarg(0): Message.// getarg(1): Color.// getarg(2): Map. (optional)Addmsg:	set .@a,getarraysize($@inv_msg0$);	if(.@a >= 10) {		deletearray $@inv_msg0$[0],.@a - 9;		set .@a,9;	}	set $@inv_msg0$[.@a],getarg(0);	set $@inv_msg1$[.@a],getarg(1);	set $@inv_msg2$[.@a],getarg(2,"");	if(!.@a) donpcevent "inv_msg::On0";	return;// Clear the announcement list:Clrmsg:	set .@a,getarraysize($@inv_msg0$);	cleararray $@inv_msg0$[0],"",.@a;	cleararray $@inv_msg1$[0],"",.@a;	cleararray $@inv_msg2$[0],"",.@a;	awake "inv_msg";	return;Grammar_a_an:	set .@w$,getarg(0);	if(	compare("_init_"+.@w$,"_init_A") ||		compare("_init_"+.@w$,"_init_E") ||		compare("_init_"+.@w$,"_init_I") ||		compare("_init_"+.@w$,"_init_O") ||		compare("_init_"+.@w$,"_init_U")	) return "an";	else return "a";}// Delayed announcements:// Announces a message from the announcement list every 3 seconds.-	script	inv_msg	-1,{On0:	while(getarraysize($@inv_msg0$)) {		if($@inv_msg2$[0] == "") announce $@inv_msg0$[0],bc_all,"0x"+$@inv_msg1$[0];		else mapannounce $@inv_msg2$[0],$@inv_msg0$[0],bc_all,"0x"+$@inv_msg1$[0];		if(getarraysize($@inv_msg0$)) sleep 3000;		deletearray $@inv_msg0$[0],1;		deletearray $@inv_msg1$[0],1;		deletearray $@inv_msg2$[0],1;	}	end;}

allí esta

Share this post


Link to post
Share on other sites
  • 0

¿Qué le falla exactamente? Tras una prueba rápida el NPC parece funcionar o, al menos, cargar bien en el servidor.

 

P.D.: A esta persona no le gustaba ofuscar bien sus scripts para hacerlos difíciles de leer, ¿verdad?

Share this post


Link to post
Share on other sites
  • 0

Estoy manos a la obra, aunque puede que tarde un tiempo por clases y demás.

 

Te comento que generalmente, cuando la gente quiere que se editen sus scripts, se suelen llenar profusamente con explicaciones y comentarios, pero (igual que he dicho mil veces de los scripts de Euphy en rAthena) este script parece estar intencionalmente ofuscado para evitar que la gente lo edite.

 

Salvo que obtengas algún warning o error al inicio del script en tu consola, poco puedo hacer de momento para encontrar qué es lo que puede fallar.

Share this post


Link to post
Share on other sites
  • 0

Hola.

 

He replicado este mismo tema en el foro inglés de Script Support debido a que no he podido encontrar el problema del script (y ayuda menos aún que el motor MySQL de mi ordenador esté roto sin posibilidad de arreglarlo a menos que formatee). A ver si los cracks del scripting de ese foro pueden ofrecer un poco de mejor visión sobre el asunto  ;). ¡Siento no poder ser de ayuda en este caso!

 

Enlace al tema de soporte en inglés: http://herc.ws/board/topic/4937-making-ivion-mob-invasion-script-compatible-with-hercules/

 

Si no te entiendes con el inglés o no quieres usarlo por alguna razón, trataré de mantenerte informado de cualquier ayuda notable que puedan ofrecer en ese tema  ;).

 

Un saludo.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.