Buenas, yo estoy desarrollando el servidor junto a Rayco y me ha parecido buena idea dejar aquн el cуdigo del tutorial que tiene el GM, el cuestionario vendrнa justo despuйs del tutorial pero he intentado poner los Dialogs y tira muchos errores, por eso querrнamos saber cуmo y despuйs de quй lнnea habrнa que empezar a poner los Dialogs.
pawn Код:
function Tutorial_Inside(i) // Tutorial optimizado
{
new string[512];
if(TutStep[i] == 1)
{
if(TutTime[i] >= 1)
{
switch (TutTime[i])
{
case 1:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", i);
ClearChatbox(i);
TextDrawShowForPlayer(i, TextTut[i]);
for(new p = 1; p < 5; p++)
{
TextDrawShowForPlayer(i, TutTxt[p]);
}
gOoc[i] = 1; gNews[i] = 1; gFam[i] = 1; gNewbie[i]=1;
SetPlayerCameraPos(i,1462.0864,-1723.2189,13.6610);
SetPlayerCameraLookAt(i,1480.3210,-1782.5449,39.5468);
SetPlayerPos(i,1496.9926,-1665.6772,14.0469);
SetPlayerVirtualWorld(i, 800);
TogglePlayerControllable(i, 0);
format(string, sizeof(string), "Bienvenido, este servidor es un modo de juego Roleplay y es muy importante~n~\
que te registres y visites nuestro foro para poder superar el cuestionario posterior al tutorial si eres nuevo.~n~\
Tambiйn recuerda que tenemos ayudantes que pueden ayudarte en~n~\
cualquier duda que tengas, el comando para solicitarlos es ~b~/ayudame.~n~\
~w~ЎEsperamos que te diviertas y que invites a tus amigos!");
TextDrawSetString(TextTut[i], string);
}
case 2:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", i);
SetPlayerCameraPos(i,1256.5342,-2156.3215,83.8667);
SetPlayerCameraLookAt(i,1357.3175,-2099.8274,54.6453);
SetPlayerPos(i,1176.0361,-2182.2996,58.6712);
format(string, sizeof(string), "Bien, comenzemos con algo sencillo y que de repente hasta el momento te has~n~\
preguntado. Que es Role Play? Aqui la respuesta, Roleplay es el modo de juego~n~\
de este servidor y se basa en dar vida a tu personaje, simular la vida real~n~\
y comportarte tal como quieres que sea tu personaje.");
TextDrawSetString(TextTut[i], string);
}
case 3:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", i);
SetPlayerCameraPos(i,2079.2710,-1777.4927,26.1454);
SetPlayerCameraLookAt(i,2105.4841,-1821.9220,18.2734);
SetPlayerPos(i,2106.8579,-1806.2799,13.5547);
format(string, sizeof(string), "Existen muchas formas de generar dinero con los trabajos disponibles que~n~\
tiene la ciudad.~n~\
Puedes buscar trabajos con ~r~/buscarjob.~n~~n~\
~w~Para ver la informacion de cada trabajo usa ~r~/ayudajob.");
TextDrawSetString(TextTut[i], string);
}
case 4:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", i);
SetPlayerCameraPos(i,2098.2043,-1613.8120,32.3267);
SetPlayerCameraLookAt(i,2060.1519,-1547.7297,16.6530);
SetPlayerPos(i,2079.7817,-1581.7488,13.4535);
format(string, sizeof(string), "Las familias y bandas nacen dentro de la ciudad, puedes aplicar para una~n~\
en el foro, solo sigue los pasos dados.~n~\
Ellos siempre estan pendientes en obtener la posiciуn de los puntos de venta de droga y~n~\
materiales. Puedes ser parte de ellos buscбndolos en el juego y teniendo un personaje que se adapte a este estilo de rol.");
TextDrawSetString(TextTut[i], string);
}
case 5:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", i);
SetPlayerCameraPos(i,539.0887,-1238.4155,20.8649);
SetPlayerCameraLookAt(i,545.0177,-1293.3966,25.3480);
SetPlayerPos(i,562.0253,-1256.7560,26.7422);
format(string, sizeof(string), "Hay concesionarios donde puedes comprar un vehнculo cuando tengas dinero,~n~\
solo tienes que subir a un vehiculo del lugar y seguir las indicaciones~w~.~n~\
Es posible tener dos vehнculos, recuerda que existen seguros que puedes comprar~n~\
en las tiendas ~y~24/7~w~.");
TextDrawSetString(TextTut[i], string);
}
case 6:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", i);
SetPlayerPos(i,1368.9191,-1295.9468,34.2421);
SetPlayerCameraPos(i,1332.8048,-1271.0814,12.8059);
SetPlayerCameraLookAt(i,1365.8594,-1286.4556,24.6687);
format(string, sizeof(string), "їAburrido? Diviйrtete con tus amigos en el Paintball que se encuentra en la 2da~n~\
planta del Ammunation, solo necesitas comprar fichas para ingresar y canjearlas~n~\
por armas.~n~~n~\
~w~Nota: ~r~Recuerda que tienes restriccion de armas las 2 primeras horas de juego.");
TextDrawSetString(TextTut[i], string);
}
case 7:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", i);
SetPlayerPos(i,2257.7620,-1642.6335,19.2262);
SetPlayerCameraPos(i,2264.7561,-1654.0725,16.3083);
SetPlayerCameraLookAt(i,2245.9846,-1665.2828,19.2262);
format(string, sizeof(string), "Si necesitas cambiarte de ropa o quieres accesorios puedes buscar las tiendas de~n~\
ropa, hay muchas tiendas de ropa, puedes diferenciarlas por el icono de un~n~\
Jersey azul de cada tienda.~n~~n~\
~b~Comandos: ~w~/cropa y /ctoys.");
TextDrawSetString(TextTut[i], string);
}
case 8:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", i);
Streamer_UpdateEx(i, 1554.3381,-1675.5692,16.1953);
SetPlayerPos(i, 1554.3381,-1675.5692,-10.0);
SetPlayerCameraPos(i, 1514.7783,-1700.2913,36.7506);
SetPlayerCameraLookAt(i, 1554.3381,-1675.5692,16.1953);
format(string, sizeof(string), "Las fuerzas de la ley estan disponibles para la tranquilidad de cada ciudadano,~n~\
si cometes un crimen puedes quedar como buscado en el sistema del gobierno o~n~\
ser arrestado, puedes contactar ~b~(Nick Azul) ~w~con ellos en el juego.~n~~n~\
Tambien puedes aplicar en el foro para ser parte de ellos.");
TextDrawSetString(TextTut[i], string);
}
case 9:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", i);
Streamer_UpdateEx(i,1175.5581,-1324.7922,18.1610);
SetPlayerPos(i, 1188.4574,-1309.2242,-10.0);
SetPlayerCameraPos(i, 1207.39, -1294.71, 24.61);
SetPlayerCameraLookAt(i, 1181.72, -1322.65, 13.58);
format(string, sizeof(string), "Si tъ resultas herido puedes usar /aceptar muerte o /servicios medicos y esperar~n~\
por una ambulancia de LAMD. Ellos confiscaran tus armas.~n~\
Puedes unirte a ellos contactбndolos ~h~~r~(Nick Rosado) ~w~en el juego.~n~~n~\
Tambien puedes aplicar en el foro para ser parte de ellos.");
TextDrawSetString(TextTut[i], string);
}
case 10:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", i);
TogglePlayerControllable(i, 0);
Streamer_UpdateEx(i,-2679.5342,1639.0643,65.8865);
SetPlayerPos(i, -2679.5342,1639.0643,-10.0);
SetPlayerCameraPos(i,-2734.3477,1520.4971,87.1810);
SetPlayerCameraLookAt(i,-2679.5342,1639.0643,65.8865);
format(string, sizeof(string), "~r~Reglas - Resumen~n~\
~w~| No DeathMatch - No matar personas sin razуn ni rol alguno.~n~\
| No PowerGaming - No hacer cosas ilуgicas o sin cabida dentro de un determinado rol y/o forzar rol.~n~\
| No evadir rol. Esto podrнa acarrear un baneo permanente.");
TextDrawSetString(TextTut[i], string);
}
case 11:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", i);
TogglePlayerControllable(i, 0);
Streamer_UpdateEx(i,-2679.5342,1639.0643,65.8865);
SetPlayerPos(i, -2679.5342,1639.0643,-10.0);
SetPlayerCameraPos(i,-2734.3477,1520.4971,87.1810);
SetPlayerCameraLookAt(i,-2679.5342,1639.0643,65.8865);
format(string, sizeof(string), "~r~i-Store - Informacion~n~\
~w~Contamos con una tienda online donde podras comprar todo.~n~\
tipo de beneficio para ti, recuerda que con esta compra estas.~n~\
ayudando con los gastos del servidor.");
TextDrawSetString(TextTut[i], string);
}
case 12:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", i);
Streamer_UpdateEx(i,-2679.5342,1639.0643,65.8865);
SetPlayerPos(i, -2679.5342,1639.0643,-10.0);
SetPlayerCameraPos(i,-2734.3477,1520.4971,87.1810);
SetPlayerCameraLookAt(i,-2679.5342,1639.0643,65.8865);
format(string, sizeof(string), "~w~Equipo de desarrollo: Antxon Echevarria, Dereck Dawson, Brandon Murray.");
TextDrawSetString(TextTut[i], string);
}
case 13:
{
PuedeP[i] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", i);
Streamer_UpdateEx(i,-2679.5342,1639.0643,65.8865);
SetPlayerPos(i, -2679.5342,1639.0643,-10.0);
SetPlayerCameraPos(i,-2734.3477,1520.4971,87.1810);
SetPlayerCameraLookAt(i,-2679.5342,1639.0643,65.8865);
format(string, sizeof(string), "Fin del tutorial, esperamos que tengas una idea de como funciona este servidor~n~\
y como puedes aprovechar al maximo la experiencia del roleplay.~n~\
Si tienes otra duda puedes ingresar a nuestro foro que esta abajo.~n~\
Si ves algъn jugador sospechoso no dudes en reportarlo, usando el comando~n~\
~y~/re id razуn~w~.");
TextDrawSetString(TextTut[i], string);
}
case 14:
{
PuedeP[i] = 0;
TextDrawHideForPlayer(i, TextTut[i]);
for(new p = 1; p < 5; p++)
{
TextDrawHideForPlayer(i, TutTxt[p]);
}
gOoc[i] = 0; gNews[i] = 0;
gFam[i] = 0; TutStep[i] = 0;
gNewbie[i]=0; Muted[i] = 0;
TutTime[i] = 0;
SetPosEx(i, 1743.2155,-1862.1309,13.5767,0,0,0);
SendClientMessageEx(i, COLOR_GENERAL, "Ya has visto el tutorial, ahora tendrбs que superar un cuestionario para poder jugar en el servidor.");
SendClientMessageEx(i, -1, "Debes responder las preguntas correctamente, en caso contrario el servidor de kickearб.");
SendClientMessageEx(i, -1, "Si no sabes responder a las preguntas, te recomendamos mirar las guнas en el foro para poder superarlas.");
//Aquн es donde yo intentй poner los Dialogs, pero daba errores al compilar.
Info[i][pWRestricted] = 1;
Info[i][pTut] = 1;
Info[i][pTimePayDay] = 0;
Info[i][pLevel] = 1;
Info[i][pNMute] = 0;
TogglePlayerControllable(i, 1);
SetPlayerVirtualWorld(i, 0);
ClearAnimations(i);
GivePlayerCash(i, 2000);
SetCameraBehindPlayer(i);
format(string, sizeof(string), "~y~Bienvenido~n~%s", GetPlayerNameEx(i));
GameTextForPlayer(i, string, 4000, 1);
OnPlayerSavedStats(i);
TextDrawShowForPlayer(i, ZenonCity);
}
}
}
}
return 1;
}