20.05.2016, 22:59
Cuando se registra, se activa esto.
TutStep[playerid] = 1;
TutTime[playerid] = 1;
Tutorial_Inside(playerid);
OnPlayerKeyStateChange
Para cuando presionas la Y, no pasa nada del tutorial y no dice nada... deberнa de pasarse a otra parte del tutorial y decir "Espera..." por lo menos, pero nada de eso pasa.... Tutorial_Inside es esto.
TutStep[playerid] = 1;
TutTime[playerid] = 1;
Tutorial_Inside(playerid);
OnPlayerKeyStateChange
Код:
if(newkeys == KEY_YES)
{
if(PuedeP[playerid] == 1) return GameTextForPlayer(playerid, "~b~Espera. . .", 200, 6);
if(TutStep[playerid] == 1)
{
switch(TutTime[playerid])
{
case 1: TutTime[playerid] = 2;
case 2: TutTime[playerid] = 3;
case 3: TutTime[playerid] = 4;
case 4: TutTime[playerid] = 5;
case 5: TutTime[playerid] = 6;
case 6: TutTime[playerid] = 7;
case 7: TutTime[playerid] = 8;
case 8: TutTime[playerid] = 9;
case 9: TutTime[playerid] = 10;
case 10: TutTime[playerid] = 11;
case 11: TutTime[playerid] = 12;
case 12: TutTime[playerid] = 13;
case 13: TutTime[playerid] = 14;
}
Tutorial_Inside(playerid);
}
Код:
function Tutorial_Inside(playerid) // Tutorial optimizado
{
new string[512];
if(TutStep[playerid] == 1)
{
if(TutTime[playerid] >= 1)
{
switch (TutTime[playerid])
{
case 1:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", playerid);
ClearChatbox(playerid);
CreateTextDrawTutorial(playerid);
for(new p = 0; p < 4; p++){ TextDrawShowForPlayer(playerid, TutTxt[p]); }
gOoc[playerid] = 1; gNews[playerid] = 1; gFam[playerid] = 1; gNewbie[playerid]=1;
InterpolateCameraPos(playerid, 2820.609130, -1496.048706, 47.088886, 2842.027099, -1510.715820, 45.646175, 3000);
InterpolateCameraLookAt(playerid, 2822.640869, -1491.483154, 46.920948, 2846.970947, -1510.099731, 45.224800, 3000);
SetPlayerPos(playerid,2845.2327,-1461.8414,51.0380);
Streamer_UpdateEx(playerid,2845.2327,-1461.8414,51.0380);
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 0);
format(string, sizeof(string), "Bienvenido, este servidor es un modo de juego Role Play y es muy importante~n~\
que te registres y visites nuestro foro para que obtengas informacion que~n~\
necesites, tambien recuerda que tenemos administradores que pueden ayudarte~n~\
en cualquier duda o problema que tengas.~n~\
Puedes usar el comando /duda para hacer una pregunta a nuestro staff.");
TextDrawSetString(TextTut[playerid], string);
}
case 2:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", playerid);
InterpolateCameraPos(playerid, 2399.057128, -1270.337646, 46.102031, 2423.941162, -1257.881591, 37.125366, 3000);
InterpolateCameraLookAt(playerid, 2395.971435, -1266.442871, 45.545803, 2423.374755, -1253.088989, 35.817741, 3000);
SetPlayerPos(playerid,2415.7832,-1209.4388,47.4741);
Streamer_UpdateEx(playerid,2415.7832,-1209.4388,47.4741);
format(string, sizeof(string), "Bien, comenzemos con algo sencillo y que derrepente 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[playerid], string);
}
case 3:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", playerid);
InterpolateCameraPos(playerid, 1835.033203, -1848.686157, 45.866386, 1836.327148, -1881.282714, 36.790607, 3000);
InterpolateCameraLookAt(playerid, 1830.095214, -1849.068603, 45.181049, 1832.161499, -1883.318847, 34.919330, 3000);
SetPlayerPos(playerid,1769.8887,-1871.8536,39.2158);
Streamer_UpdateEx(playerid,1769.8887,-1871.8536,39.2158);
format(string, sizeof(string), "Existen muchas formas de generar dinero con los trabajos disponibles que~n~\
tiene la ciudad, nosotros recomendamos el trabajo de Camionero o el de~n~\
Repartidor de Pizzas para comenzar. Puedes buscar trabajos con ~y~/buscarjob.~n~~n~\
~h~~w~Puedes usar el comando /ayuda para mas informacion.");
TextDrawSetString(TextTut[playerid], string);
}
case 4:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", playerid);
InterpolateCameraPos(playerid, 629.326721, -1204.780883, 48.450218, 649.078857, -1206.030029, 42.661903, 3000);
InterpolateCameraLookAt(playerid, 627.652465, -1209.456787, 47.873382, 651.796508, -1209.847534, 40.918094, 3000);
SetPlayerPos(playerid,680.0389,-1206.6534,39.5605);
Streamer_UpdateEx(playerid,680.0389,-1206.6534,39.5605);
format(string, sizeof(string), "Existen familias y bandas dentro de la ciudad, puedes pertenecer a una~n~\
buscandolos dentro del juego y tratar de unirte a ellos.~n~\
Ellos siempre estan pendientes en obtener la posecion de los puntos~n~\
para poder generar dinero y llevar su grupo a lo mas alto.");
TextDrawSetString(TextTut[playerid], string);
}
case 5:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", playerid);
InterpolateCameraPos(playerid, 541.527160, -1230.325195, 42.663070, 532.780639, -1247.847900, 31.736938, 3000);
InterpolateCameraLookAt(playerid, 545.425476, -1232.507812, 40.418163, 534.120239, -1252.348266, 30.018779, 3000);
SetPlayerPos(playerid,538.5880,-1301.7081,38.8664);
Streamer_UpdateEx(playerid,538.5880,-1301.7081,38.8664);
format(string, sizeof(string), "Hay Concesionarios donde puedes comprar un vehiculo cuando tengas dinero,~n~\
solo tienes que subir a un vehiculo del lugar y seguir las indicaciones~w~.~n~\
Es posible tener 2 vehiculos, recuerda que existen seguros que puedes comprar~n~\
en las tiendas ~y~24/7~w~.");
TextDrawSetString(TextTut[playerid], string);
}
case 6:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", playerid);
SetPlayerPos(playerid,1387.5209,-1269.4641,37.1565);
InterpolateCameraPos(playerid, 1298.506591, -1290.417846, 54.651672, 1322.438720, -1283.208251, 40.679603, 3000);
InterpolateCameraLookAt(playerid, 1301.642211, -1287.030395, 52.729793, 1326.991577, -1282.590209, 38.707355, 3000);
Streamer_UpdateEx(playerid,1387.5209,-1269.4641,37.1565);
format(string, sizeof(string), "Aburrido? Divertirte 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[playerid], string);
}
case 7:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", playerid);
SetPlayerPos(playerid,2257.4529,-1677.5936,36.3233);
InterpolateCameraPos(playerid, 2283.090087, -1648.484375, 32.701992, 2263.932617, -1657.526977, 24.980293, 3000);
InterpolateCameraLookAt(playerid, 2278.778076, -1646.055786, 31.989580, 2259.914306, -1659.860595, 23.134399, 3000);
Streamer_UpdateEx(playerid,2257.4529,-1677.5936,36.3233);
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[playerid], string);
}
case 8:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 10000, 0, "d", playerid);
Streamer_UpdateEx(playerid, 1564.1481,-1673.1346,52.0905);
InterpolateCameraPos(playerid, 1505.785156, -1651.219726, 54.730693, 1512.489868, -1685.406860, 38.450412, 3000);
InterpolateCameraLookAt(playerid, 1508.276123, -1648.697875, 51.204315, 1516.743652, -1684.369262, 36.036163, 3000);
SetPlayerPos(playerid, 1564.1481,-1673.1346,52.0905);
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[playerid], string);
}
case 9:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", playerid);
Streamer_UpdateEx(playerid,1156.5229,-1305.4490,40.5471);
SetPlayerPos(playerid, 1156.5229,-1305.4490,40.5471);
InterpolateCameraPos(playerid, 1235.336547, -1271.328369, 44.204849, 1217.069946, -1322.292968, 23.143884, 3000);
InterpolateCameraLookAt(playerid, 1230.445678, -1270.524414, 43.546611, 1212.148681, -1322.622070, 22.323394, 3000);
format(string, sizeof(string), "Si tu resultas herido puedes usar /aceptar muerte o /servicios y esperar~n~\
por una ambulancia de SAMC. Ellos confiscaran tus armas.~n~\
Puedes unirte a ellos contactandolos ~h~~r~(Nick Rosado) ~w~en el juego.~n~~n~\
Tambien puedes aplicar en el foro para ser parte de ellos.");
TextDrawSetString(TextTut[playerid], string);
}
case 10:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", playerid);
TogglePlayerControllable(playerid, 0);
Streamer_UpdateEx(playerid,1496.9926,-1665.6772,14.0469);
SetPlayerCameraPos(playerid,1462.0864,-1723.2189,13.6610);
SetPlayerCameraLookAt(playerid,1480.3210,-1782.5449,39.5468);
SetPlayerPos(playerid,1496.9926,-1665.6772,14.0469);
format(string, sizeof(string), "~r~Reglas - Resumen~n~\
~w~| No DeathMatch - No matar personas sin razon alguna.~n~\
| No PowerGaming - No hacer cosas imposibles en el juego.~n~\
| No desconectarse en una situacion de Rol Play.");
TextDrawSetString(TextTut[playerid], string);
}
case 11:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", playerid);
format(string, sizeof(string), "~r~i-Store - Informacion~n~\
~w~Contamos con una tienda online donde podras comprar coins y obtener~n~\
muchos beneficios para ti, visitanos. . .~n~~n~\
~g~Recuerda que con esta compra estas ayudando con los gastos del servidor.");
TextDrawSetString(TextTut[playerid], string);
}
case 12:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", playerid);
format(string, sizeof(string), "~w~Dar las gracias a quien hace posible todo esto.~n~\
| ~y~Scripters : ~w~Junkbuster - Fenix - Jeferson.~n~\
| ~y~Tecnico: ~w~Ramon Murcia.~n~\
| ~y~Webmasters: ~w~Nerak - S.Lujбn.~n~\
| ~y~Agradecimientos: ~w~Kye/Kalcor por SA-MP.");
TextDrawSetString(TextTut[playerid], string);
}
case 13:
{
PuedeP[playerid] = 1;
SetTimerEx("PuedePTimer", 8000, 0, "d", playerid);
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 Role Play.~n~\
Si tienes otra duda puedes ingresar a nuestro foro que esta abajo.~n~\
Si ves algun jugador sospechoso no dudes en reportarlo, usando el comando~n~\
~y~/re id razon~w~.");
TextDrawSetString(TextTut[playerid], string);
}
case 14:
{
PuedeP[playerid] = 0;
DestroyTextDrawTutorial(playerid);
for(new p = 0; p < 4; p++){TextDrawHideForPlayer(playerid, TutTxt[p]);}
gOoc[playerid] = 0; gNews[playerid] = 0;
gFam[playerid] = 0; TutStep[playerid] = 0;
gNewbie[playerid]=0; Muted[playerid] = 0;
ShowProgressBarForPlayer(playerid, HungryBar[playerid]);
TutTime[playerid] = 0; HungryCheck(playerid, 50.0);
SetPlayerSkin(playerid, Info[playerid][pChar]);
SetPosEx(playerid, 1743.2155,-1862.1309,13.5767,0,0,0);
SendClientMessageEx(playerid, COLOR_GENERAL, "Bienvenido! {FFFFFF}Si tienes alguna inquietud o duda, usa nuestro canal de ayuda, /duda [Pregunta].");
SendClientMessageEx(playerid, -1, "Puedes reportar cualquier tema con el comando /reportar [ID] [Razуn] y nuestro soporte te ayudarб.");
//SendClientMessageEx(playerid, -1, "Tenemos ayudantes que estan dispuestos ayudarte en lo que necesitas, puedes solicitarlos con el comando /ayudame.");
SendClientMessageEx(playerid, COLOR_GENERAL, "TIP: {FFFFFF}Tienes una restricciуn de usar armas de 2 horas.");
SendClientMessageEx(playerid, COLOR_GENERAL, "TIP: {FFFFFF}La barra de color verde es el porcentaje de hambre que tienes.");
Info[playerid][pWRestricted] = 1; Info[playerid][pTut] = 1;
Info[playerid][pTimePayDay] = 0; Info[playerid][pLevel] = 1;
TogglePlayerControllable(playerid, 1);
SetPlayerVirtualWorld(playerid, 0);
ClearAnimations(playerid);
SetCameraBehindPlayer(playerid);
GivePlayerCash(playerid,500);
format(string, sizeof(string), "~y~Bienvenido~n~%s", GetPlayerNameEx(playerid));
GameTextForPlayer(playerid, string, 4000, 1);
TextDrawShowForPlayer(playerid, ZenonCity[0]);
TextDrawShowForPlayer(playerid, ZenonCity[1]);
TextDrawShowForPlayer(playerid, ZenonCity[2]);
}
}
}
}
return 1;
}

