Helló!
Elkészítettem egy Nyelvi üzenet/dialog szkriptet.
#include <a_samp>
#include <zcmd>
new Language[MAX_PLAYERS]; // Létrehozzuk az összes játékosnak || 0 = angol || 1 = magyar
#define DIALOG_TEST 0 // Definiáljuk a TEST dialogot
public OnPlayerConnect(playerid) {
Language[playerid] = 0; // Beállítjuk csatlakozáskor a játékosnak automatikusan angolra
return 1;
}
CMD:tesztuzi(playerid, params[]) { // Létrehozzuk a /tesztuzi parancsot
SendLanguagedMessage(playerid, \"Magyar üzenet\", \"English message\"); // Elkdüljük az üzenetet
return 1;
}
CMD:english(playerid, params[]) return Language[playerid] = 0; // Beállítjuk a játékosnak az angolt
CMD:magyar(playerid, params[]) return Language[playerid] = 1; // Beállítjuk a játékosnak a magyart
CMD:tesztdialog(playerid, params[]) {
SendLanguagedDialog(playerid, DIALOG_TEST, DIALOG_STYLE_MSGBOX, \"Magyar\", \"English\", \"Magyar üzenet\", \"English message\", \"Ok\", \"\");
// Elküldjük neki a dialogos parancsot
return 1;
}
stock SendLanguagedMessage(playerid, hungarian[], english[]) {
if(Language[playerid] == 0) { // Ha angol van a játékosnak beállítva
SendClientMessage(playerid, -1, english); // Eldküljük az angol üzenet
} else { // Ha magyar
SendClientMessage(playerid, -1, hungarian); // Elküldjük a magyar üzenetet
}
return 1;
}
stock SendLanguagedDialog(playerid, dialogid, dialogstyle, huntitle[], engtitle[], hungarian[], english[], button1[], button2[]) {
if(Language[playerid] == 0) { // Ha angol van a játékosnak beállítva
ShowPlayerDialog(playerid, dialogid, dialogstyle, engtitle, english, button1, button2); // Felmutatjuk neki az angol dialogot
} else { // Ha magyar
ShowPlayerDialog(playerid, dialogid, dialogstyle, huntitle, hungarian, button1, button2); // Felmutatjuk neki a magyar dialogot
}
return 1;
}
Ez nem egy nyelv választó, hanem hogyha a Nyelv be van állítva például angolra akkor angolul írja ki az üzenetet.
Használat:
// Üzenet:
SendLanguagedMessage(playerid, \"magyar üzenet\", \"english message\");
// Dialog:
SendLanguagedDialog(playerid, dialogid, dialogstyle, \"Magyar\", \"English\", \"Magyar üzenet\", \"English message\", \"Ok\", \"\");
Hasznos :D Még esetleg egy ToAll is lehetett volna :P
stock SendLanguagedMessage(playerid, color, hungarian[], english[])
{
if(Language[playerid] == 0) {
SendClientMessage(playerid, color, english);
else
SendClientMessage(playerid, color, hungarian);
return 1;
}
stock SendLanguagedMessageToAll(color, hungarian[], english[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
SendLanguagedMessage(i, color, hungarian, english);
return 1;
}
Így megfelel?
E:
Kiegészítettem, hogy színezni is lehessen. Gondolom ez alap lenne így.
stock SendLanguagedDialogForAll(dialogid, dialogstyle, huntitle[], engtitle[], hungarian[], english[], button1[], button2[]) {
for(new i; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i))
if(Language == 0) {
ShowPlayerDialog(i, dialogid, dialogstyle, engtitle, english, button1, button2);
} else {
ShowPlayerDialog(i, dialogid, dialogstyle, huntitle, hungarian, button1, button2);
}
}
}
Elküldi minden játékosnak a dialogot.. Akinek magyar nyelv van beállítva annak magyar dialogot küld, akinek angol annak angolt ;)
Használat:
SendLanguagedDialogForAll(DIALOG_ID, DIALOG_STYLE, \"Párbeszéd ablak cím\", \"Dialog title\", \"Magyar üzenet\", \"English message\", \"Gomb1\", \"Gomb2\");
stock SendLanguagedDialogForAll(dialogid, dialogstyle, huntitle[], engtitle[], hungarian[], english[], button1[], button2[]) {
for(new i; i < MAX_PLAYERS; i++) {
if(IsPlayerConnected(i))
if(Language == 0) {
ShowPlayerDialog(i, dialogid, dialogstyle, engtitle, english, button1, button2);
} else {
ShowPlayerDialog(i, dialogid, dialogstyle, huntitle, hungarian, button1, button2);
}
}
}
Elküldi minden játékosnak a dialogot.. Akinek magyar nyelv van beállítva annak magyar dialogot küld, akinek angol annak angolt ;)
Használat:
SendLanguagedDialogForAll(DIALOG_ID, DIALOG_STYLE, \"Párbeszéd ablak cím\", \"Dialog title\", \"Magyar üzenet\", \"English message\", \"Gomb1\", \"Gomb2\");
Nem kötekedésbõl de van olyan alkalom amikor minden játékosnak el kell küldeni egy dialogot?
Hasznos :D Még esetleg egy ToAll is lehetett volna :P
stock SendLanguagedMessage(playerid, color, hungarian[], english[])
{
if(Language[playerid] == 0) {
SendClientMessage(playerid, color, english);
else
SendClientMessage(playerid, color, hungarian);
return 1;
}
stock SendLanguagedMessageToAll(color, hungarian[], english[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i))
SendLanguagedMessage(i, color, hungarian, english);
return 1;
}
Így megfelel?
E:
Kiegészítettem, hogy színezni is lehessen. Gondolom ez alap lenne így.
[/quote]
Tökély :D felhasználom :)