Hali! Az alábbi kód dialógos változatára nem volt idõm! Holnap megírom azt is :D
Véleményt!!! :D (Saját ötlet)
new Language[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
Language[playerid] = 1; //Ezt megcsinálhatod dialoggal is, nézd alul
//ShowPlayerDialog(paraméterek, \"Language / Nyelv\", \"English\\nMagyar\", \"Ok\", \"Exit\");
return 1;
}
stock SendMultiMessage(playerid, szín, streng[], strhun[])
{
if(Language[playerid] == 1) return SendClientMessage(playerid, szín, streng);
else if(Language[playerid] == 2) return SendClientMessage(playerid, szín, strhun);
}
SendMultiMessage(playerid, szín, \"Good morning!\", \"Jó reggelt!\"); // Angol - Magyar
stock ShowMultiDialog(playerid, dialogid, style, captionh[], infoh[], button1h[], button2h[], captione[], infoe[], button1e[], button2e[])
{
if(Language[playerid] == 1) return ShowPlayerDialog(playerid, dialogid+1, style, captionh, infoh, button1h, button2h);
else if(Language[playerid] == 0) return ShowPlayerDialog(playerid, dialogid, style, captionhe, infoe, button1e, button2e);
}
stock ShowMultiMe(playerid, strh[], stre[])
{
new name[MAX_PLAYER_NAME], strhs[128], stres[128];
if(Language[playerid] == 1)
{
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(strhs, 128, \"%s %s\", name, strh);
SendClientMessage(playerid, 0x3300FFAA /*Példa szín*/, strhs);
}
else if(Language[playerid] == 0)
{
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(strhe, 128, \"%s %s\", name, stre);
SendClientMessage(playerid, 0x3300FFAA /*Példa szín*/, strhe);
}
}
stock ShowMultiMessageToAll(color, strh[], stre[])
{
if(Language[playerid] == 1) return SendClientMessageToAll(color, strh);
else if(Language[playerid] == 0) return SendClientMessageToAll(color, stre);
}
stock ShowMultiMessageToAll(color, strh[], stre[])
{
if(Language[playerid] == 1) return SendClientMessageToAll(color, strh);
else if(Language[playerid] == 0) return SendClientMessageToAll(color, stre);
}
Ez így nem lesz jó, mert a 0-s azonosítójú játékos nyelvének megfelelõen küldi el mindenkinek az üzenetet. Tehát:
stock ShowMultiMessageToAll( color, strh[ ], stre[ ] ) {
for( new x = 0; x < MAX_PLAYERS; ++x ) {
if( !IsPlayerConnected( x ) || IsPlayerNPC( x ) ) continue;
if( Language[ x ] ) SendClientMessage( x, color, strh );
else if( !Language[ x ] ) SendClientMessage( x, color, stre );
}
}