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; }