Jump to content

[Tutorial]Multi Language


xTeck

Recommended Posts

In aces toturial va voi prezenta cum se creeaza un script cu mai multe limbi

Acest toturial a fost cerut la Cerere Toturiale..

In acel topic a fost explicat cum se face de catre Farse

dar voi face si eu unu la sectiunea de toturiale

Versiunea mea cere mai multe linii in script..versiunea lui farse e mai rapida...voi alegeti:D

Ok mai intai trebuie sa creem o variabila noua

[pawn]new Limba[MAX_PLAYERS];[/pawn]

new - Creeeaza variabila noua

Limba - Denumirea acelei variabile

Acum sa facem comenzile de setare a limbilor

Eu voi folosi ZCMD pentru acele comenzi

[pawn]CMD:ro(playerid,params[])

{

    Limba[playerid] = 1;

    SendClientMessage(playerid,-1,"Ai ales limba romana");

    return 1;

}

CMD:eng(playerid,params[])

{

    Limba[playerid] = 0;

    SendClientMessage(playerid,-1,"You select english language");

    return 1;

}[/pawn]

Explicatiile :

Daca variabila Limba este setat pe 1 atunci va fi limba romana

Daca e setat pe 0 atunci e engleza

Apoi SendClientMessage

-SendClientMessage(playerid , color , const message[])

Playerid - Playerul care executa comanda

Color - culoarea..eu am pus -1 adica culoarea alba

const message[] - Mesajul trimis playerului care executa comanda

La comenzi am setat limba ..acum sa vedem si cum facem o comanda im mai multe limbi

La o comanda oarecare(una care o vreti in mai multe limbi) faceti asa

[pawn]if(Limba[playerid] == 1)

{

    //Mesajul in Romana

}

if(Limba[playerid]== 0)

{

    //Mesajul in engleza

}[/pawn]

Exemplu:

[pawn]if(Limba[playerid] == 1)

{

    //Mesajul in Romana

}

if(Limba[playerid]== 0)

{

    //Mesajul in engleza

}[/pawn]

In traducere linia cu if ar fi asa

daca(Limba[playerid] este 1 sau 0)

{

      // Restul comenzii

}

Dupa cum am spus versiunea prezentata e mai diferita si mai lenta+ ca cere mai multe linii in script

Oricum asta a fost toturialul

Daca aveti nelamuriri dati un reply

//========================================================================

//---Cu Dialog---//

//========================================================================

Am dat edit la topic si va voi arata cum se face si cu dialog

Vom creea o variabla noua

Eu o voi numi fspawn

[pawn]new fspawn[MAX_PLAYERS];[/pawn]

fspawn vine de la First Spawn(primul spawn)

Vom merge la OnPlayerConnect

si vom seta fspawn pe 1

[pawn]fspawn[playerid] = 1;[/pawn]

Iar la OnPlayerSpawn vom face astfel

[pawn]if(fspawn[playerid] == 1)

{

    fspawn[playerid] = 0;

    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Limba/Language","Text","Romana","English");

}[/pawn]

Explicatiile:

if(fspawn[playerid] == 1) - daca fspawn este setat pe 1

{ - acolada deschisa

    fspawn[playerid] = 0; - fspawn se va seta pe 0

    ShowPlayerDialog - va aparea un dialog playerului care se spawneaza pentru prima data

} - acolada inchisa

Deci sa recapitulam

Doar daca fspawn va fi setat pe 1 ii va aparea un dialog playerului care se spawneaza

Daca fspawn va fi setat pe 1 cand playerul se spawneaza fspawn se va seta automat pe 0 si ii va aparea un dialog playerului

Iar acum la OnDialogResonse vom face astfel

[pawn]if(dialogid == 1)

{

    if(response == 0) // daca apasa pe butonul 'Romana'

    {

          Limba[playerid] = 1;

    }

    else if(response == 1)//Daca a apasat pe butonul 'English'

    {

          Limba[playerid] = 0;

    }

}[/pawn]

Expicatiile:

if(dialogid == 1) - Dialogul pe care lam folosit eu la ShowPlayerDialog a folosit id 1 si aici vom folosi id 1

if(response == 0) - Daca a apasat pe primul buton(Romana) va executa o comanda anume

Limba[playerid] = 1; - Limba a fost setat pe 1 adica e limba romana

if(response == 1) - daca a apasat pe butonul 2(Engleza) va executa o comanda anume

Limba[playerid] = 1; - Limba a fost setat pe 0 adica e limba engleza

rimmon©

getimg.php?q=xTeck&pic=1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.