GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Live - 2013. május 19. - 20:18:47

Cím: Nyelvi üzenet/dialog
Írta: Live - 2013. május 19. - 20:18:47
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\", \"\");
Cím: Nyelvi üzenet/dialog
Írta: norbi39 - 2013. május 19. - 23:01:21
Nem rossz, de egy ilyet pár perc megcsinálni..
Cím: Nyelvi üzenet/dialog
Írta: BoOy - 2013. május 19. - 23:57:51
Idézetet írta: norbi39 date=1368997281\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"37579\" data-ipsquote-contentclass=\"forums_Topic
Nem rossz, de egy ilyet pár perc megcsinálni..
 
És nem tök mind1?
Amúgy szerintem jó lett grat.
Cím: Nyelvi üzenet/dialog
Írta: xD1999 - 2013. május 20. - 11:39:32
Sztem is jó lett
Cím: Nyelvi üzenet/dialog
Írta: [(The_Pro_Kari)] - 2013. május 20. - 15:39:27
Hasznos :D Még esetleg egy ToAll is lehetett volna :P
Cím: Nyelvi üzenet/dialog
Írta: TheDon - 2013. május 21. - 13:15:25
Idézetet írta: _KaRi_ date=1369057167\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"37579\" data-ipsquote-contentclass=\"forums_Topic
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.
Cím: Nyelvi üzenet/dialog
Írta: Live - 2013. május 21. - 13:53:58

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\");
Cím: Nyelvi üzenet/dialog
Írta: TheDon - 2013. május 21. - 14:17:56
Idézetet írta: Live date=1369137238\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"37579\" data-ipsquote-contentclass=\"forums_Topic


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?
Cím: Nyelvi üzenet/dialog
Írta: Live - 2013. május 21. - 15:12:20
Nem tudom :D
Én ilyen izékhez gondoltam, hogy kiíratni, hogy RESTART lesz vagy a Szerver lezárásra kerül stb...
Cím: Nyelvi üzenet/dialog
Írta: TheDon - 2013. május 21. - 19:34:47
Idézetet írta: Live date=1369141940\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"37579\" data-ipsquote-contentclass=\"forums_Topic
Nem tudom :D
Én ilyen izékhez gondoltam, hogy kiíratni, hogy RESTART lesz vagy a Szerver lezárásra kerül stb...
 
Nem egyrõl beszélünk. Te a SendLanguagedMessageToAll-t mondod én meg a dialogosat. De szerintem már tudom a választ a kérdésemre.
Cím: Nyelvi üzenet/dialog
Írta: BeNiBoY - 2013. május 23. - 15:29:43
Én hülye.. hogy nem gondoltam a stockolásra. Az én szeróm is 2 nyelvû, minden szövegnél külön-külön használtam a változólekérdezést. Kösz :D
Cím: Nyelvi üzenet/dialog
Írta: [(The_Pro_Kari)] - 2013. május 26. - 09:29:48
Idézetet írta: TheDon date=1369134925\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"37579\" data-ipsquote-contentclass=\"forums_Topic


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 :)
Cím: Nyelvi üzenet/dialog
Írta: TheDon - 2013. június 05. - 07:46:59
Idézetet írta: _KaRi_ date=1369553388\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"37579\" data-ipsquote-contentclass=\"forums_Topic


 

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 :)
 
[/quote]
csak nyugodtan. azért van