#include <a_samp>
new Text:SubtitleTextdraw[MAX_PLAYERS];
new SubtitleInfo[MAX_PLAYERS];
forward NextSubtitle(playerid);
forward HideSubtitle(playerid);
stock CreateSubtitleTextdraws() // OnGameModeInit()
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
SubtitleTextdraw = TextDrawCreate(341.000000, 373.000000, \" \");
TextDrawAlignment(SubtitleTextdraw, 2);
TextDrawBackgroundColor(SubtitleTextdraw, 255);
TextDrawFont(SubtitleTextdraw, 1);
TextDrawLetterSize(SubtitleTextdraw, 0.460000, 1.800000);
TextDrawColor(SubtitleTextdraw, -1);
TextDrawSetOutline(SubtitleTextdraw, 1);
TextDrawSetProportional(SubtitleTextdraw, 1);
SubtitleInfo = 0;
}
}
stock DestroySubtitleTextdraw() // OnGameModeExit()
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
TextDrawDestroy(SubtitleTextdraw);
SubtitleInfo = 0;
}
}
/*public ShowSubtitle(text[], seconds, ...)
{
new arg_start = 2, playerid;
while ((playerid = getarg(arg_start++)) < numargs()+1)
{
CallLocalFunction(\"HideSubtitle\", \"i\", playerid);
TextDrawSetString(SubtitleTextdraw[playerid], text);
TextDrawShowForPlayer(playerid, SubtitleTextdraw[playerid]);
SubtitleTimer[playerid] = SetTimerEx(\"HideSubtitle\", seconds * 1000, 0, \"i\", playerid);
}
}*/
public HideSubtitle(playerid)
{
KillTimer(SubtitleInfo[playerid] & 0b11111111);
SubtitleInfo[playerid] = 0;
TextDrawHideForPlayer(playerid, SubtitleTextdraw[playerid]);
return 1;
}
public NextSubtitle(playerid)
{
switch ((SubtitleInfo[playerid] >> & 0b1111)
{
case 1: // Visszaemlékezés
{
switch ((SubtitleInfo[playerid] >> 12) & 0b1111111)
{
case 1:
{
TextDrawSetString(SubtitleTextdraw[playerid], \"Csak néhány dolog maradt meg bennem....\");
SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 1 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
}
case 2:
{
TextDrawSetString(SubtitleTextdraw[playerid], \"Szinte már csak az utolsó nap ugrik be az elõzõ életembõl..\");
SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 1 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
}
/*
a fenti módon folytatod, a szöveget átírod, vagy az idõt is esetleg, az utolsó pedig ilyen:
case UTOLSÓ:
{
TextDrawSetString(SubtitleTextdraw[playerid], \"Utolsó szöveg...\");
SubtitleInfo[playerid] &= 0 << 12 | 1 << 8 | SetTimerEx(\"HideSubtitle\", 4000, 0, \"i\", playerid);
}
*/
}
}
case 2: // Gondolatok a megállóban
{
switch ((SubtitleInfo[playerid] >> 12) & 0b1111111)
{
case 1:
{
TextDrawSetString(SubtitleTextdraw[playerid], \"hisz személyazonosságom rejtély, ~n~csináltatni kell, mert a valósat sem tudom...\");
SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 2 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
}
case 2:
{
TextDrawSetString(SubtitleTextdraw[playerid], \"Majd valamiféle munkát is találnom kellene, hogy el tudjak indulni.~n~A beinduláshoz jól fog jönni ez az összeg, amit kaptunk a rendõröktõl,\");
SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 2 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
}
case 3:
{
TextDrawSetString(SubtitleTextdraw[playerid], \"mert nem találtak tulajdonosára, hisz a~n~rablóknál volt, és úgy feltételezték tõlünk van..\");
SubtitleInfo[playerid] &= (((SubtitleInfo[playerid] >> 12) & 0b1111111) + 1) << 12 | 2 << 8 | SetTimerEx(\"NextSubtitle\", 4000, 0, \"i\", playerid);
}
/*
a fenti módon folytatod, a szöveget átírod, vagy az idõt is esetleg, az utolsó pedig ilyen:
case UTOLSÓ:
{
TextDrawSetString(SubtitleTextdraw[playerid], \"Utolsó szöveg...\");
SubtitleInfo[playerid] &= 0 << 12 | 2 << 8 | SetTimerEx(\"HideSubtitle\", 4000, 0, \"i\", playerid);
}
*/
}
}
}
return 1;
}
forward Megmenekules(playerid,part);
public Megmenekules(playerid,part)
{
if(IsPlayerConnected(playerid) && Logged(playerid))
{
if(PlayerInfo[playerid][pTut] == 0)
{
if(part == 1)
{
HideDialog(playerid);
if(Magyar(playerid))
GameTextForPlayer(playerid, \"~n~~n~~n~~g~Utazás...\", 30000, 5);
else
GameTextForPlayer(playerid, \"~n~~n~~n~~g~Traveling...\", 30000, 5);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-1963.5682,96.9067,4.3183);
ApplyAnimation(playerid,\"PED\",\"SEAT_down\",4.1,0,1,1,1,0);
Freeze(playerid,5000);
SetTimerEx(\"Megmenekules\",90000,0,\"dd\",playerid,2);
Cselekves(playerid, \"Leül a vonaton és visszagondol a múltra mi is történt vele.\");
// Felirat
CallLocalFunction(\"HideSubtitle\", \"i\", playerid);
TextDrawSetString(SubtitleTextdraw[playerid],
\"Alig emlékszem már arra a napra, amikor többé~n~nem mehettem haza a szeretteimhez, barátaimhoz...\");
TextDrawShowForPlayer(playerid, SubtitleTextdraw[playerid]);
SubtitleInfo[playerid] &= 1 << 12 | 1 << 8 | SetTimerEx(\"NextSubtitle\", 6000, 0, \"i\", playerid);
}
else if(part == 2)
{
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, -1951.1206, 138.4060, 26.613);
GiveMoney(playerid,250000);
if(Magyar(playerid))
Cselekves(playerid, \"Leszáll a vonatról , nézelõdik és gondolkodik.\");
GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~Megérkeztünk\", 1000, 1);
Freeze(playerid,5000);
/*GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~Megtudtam, hogy 2013-at írunk, és az utamnak a városházába kell, hogy vezessen...\", 5000, 1);
GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~hisz személyazonosságom rejtély, csináltatni kell, mert a valósat sem tudom..\", 5000, 1);
GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~Majd valamiféle munkát is találnom kellene, hogy el tudjak indulni...\", 5000, 1);
GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~A beinduláshoz jól fog jönni ez az összeg, amit kaptunk a rendõröktõl...\", 5000, 1);
GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~ mert nem találtak tulajdonosára, hisz a rablóknál volt, és úgy feltételezték tõlünk van..\", 5000, 1);
GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~El kellene jutnom valamilyen közösséghez is...\", 5000, 1);
GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~már 3 éve nem beszéltem több emberrel, ideje barátokat szereznem!\", 5000, 1);
*/
// Felirat
CallLocalFunction(\"HideSubtitle\", \"i\", playerid);
TextDrawSetString(SubtitleTextdraw[playerid],
\"Megtudtam, hogy 2013-at írunk, és az utamnak a városházába kell, hogy vezessen,\");
TextDrawShowForPlayer(playerid, SubtitleTextdraw[playerid]);
SubtitleInfo[playerid] &= 1 << 12 | 2 << 8 | SetTimerEx(\"NextSubtitle\", 6000, 0, \"i\", playerid);
// Ezek itt alul sztem a beszéd után jönnek,akkor tedd át a NextSubtitle() megfelelõ részébe...
Cselekves(playerid,\"Észrevesz valamit a földön és felveszi.\");
GameTextForPlayer(playerid, \"\'~n~~n~~n~~g~Ohh, csak nem egy városi útmutató? még hasznomra lehet!\", 5000, 1);
PlayerInfo[playerid][pLokator] = 1;
//else
//Msg(playerid,\"The State has received an emergency 1000.000Ft!\");
//if(Magyar(playerid))
//GameTextForPlayer(playerid, \"~n~~n~~n~~g~Megérkeztünk\", 1000, 5);
//else
//GameTextForPlayer(playerid, \"~n~~n~~n~~g~We have arrived!\", 1000, 5);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,-1958.5061,116.0761,27.6875,3.0);
PlayerInfo[playerid][pTut] = 1;
AdatMentesSQL(playerid);
//TogglePlayerControllable(playerid,false);
}
}
}
return 1;
}
Ezzel a kóddal annyi a bajom , hogy az elsõ szövegnél megakad \"alig emlékszem arra a napra...\"
Aztán a többi nemjön , csak mikor már kispawnol máshova , de ott is csak a legelsõ szöveg jelenik meg és else tûnik , milehet a baj?