-Introducere:
[/b]
Urmarind multe TOPIC-uri de pe acest forum, jucandu-ma pe diferite servere chiar unice, am observat unele dificultati in scrierea corecta in diferite limi straine, ca: ENGLEZA , GERMANA chiar si ROMANA.
Si am decis sa fac acest TOUTURIAL pentru a face munca unui scripter cat de cat mai usoara.
-Inceputul:
[/b]
TOUTURIALUL va avea 6 pasi:
1.Sa creem o variabila care ne va fi folositoare in urmatorii pasi.
2.Sa definim limbile care vor fi folosite in scriere.
3.Sa creem limba care va predomina in acest FS/GM la callbackul OnPlayerConnect
4.Sa folosim corect variabilile create.
5.3 Custom functions for an easier usage.
- SetPlayerLanguage(playerid, language);
- GetPlayerLanguage(playerid);
- SendLanguageMessage(playerid, lrom[], leng[], lde);
PASUL 1 - Cream variabila ce va stoca limba folosita.
Insertati aceasta variabila la inceputul scriptului:
Pawno Code: [Select]
new pLimba[MAX_PLAYERS char];
si sa nu uitati de include-ul:
Pawno Code: [Select]
#include < a_samp >
#include < zcmd >
char - il punem pentru ca la compilare sa folosim mai putini byts.
PASUL 2 - cream definitiile pentru limbile folosite.
In cazul meu eu voi folosi doar 3 limbi, care le cunosc cel mai bine: " ROMANA, ENGLEZA, GERMANA ", nu am vrut sa pun si italina , spaniola, etc, caci ma complic eu pe mine si va voi complica eu pe voi.
Insertam aceste definitii la inceputul scriptului:
Pawno Code: [Select]
#define ROM 0
#define ENG 1
#define DE 2
#define SCM SendClientMessage
PASUL 3 - limba ce va predomina pe server.
la callbackul OnPlayerConnect punem limba care va predomina in cea mai mare parte pe server.
Codul va arata astfel:
Pawno Code: [Select]
public OnPlayerConnect(playerid)
{
//Sa presupunem ca pe server va predomina limba Romana
pLLimba{playerid} = ROM;
SCM(playerid, -1, "Limba ce predomineaza in cea mai mare parte pe acest server este ROMANA");
SCM(playerid, -1, "Pentru a modifica limba foloseste: /ROM- pentru limba romana, /ENG- pentru limba engleza si /GER- pentru limba germana");
return 1;
}
PASUL 4 - cream 2 funtii simple.
Cu ajutorul acestor doua functii simple veti putea verifica ce limba a selectat player-ul.
Pawno Code: [Select]
//Verifica ce limba a selectat playerul.
stock GetPlayerLanguage(playerid)
{
return pLimba{playerid};
}
//Inserteaza limba playerului.
stock SetPlayerLanguage(playerid, language)
{
pLimba{playerid} = language;
}
PASUL 5 - folosim functiile create de noi mai sus.
Acum eu voi crea 3 comenzi pentru ca playerul sa-si poata alege mai usor limba dorita, in cazul meu le voi crea prin ZCMD
Pawno Code: [Select]
//Limba Romana.
CMD: rom ( playerid , params [ ] )
{
SCM ( playerid, -1, "Ai selectat limba romana ( ROM ) , de acum toate textele iti vor aparea in limba romana");
pLimba{playerid} = ROM; //Acum puteti sa vedeti la ce v-a ajutat prima variabila.
return 1 ; //Aceasta spune serverului caci comanda a fost procesata cu succes !
}
//Limba Engleza
CMD: eng( playerid , params [ ] )
{
SCM( playerid, -1, " You selected the English(ENG) language, now messages will be written in English");
pLimba{playerid} = ENG;
return 1;
}
//Limba Germana
CMD: ger( playerid , params [ ] )
{
SCM( playerid, -1, " Du hat di deutsche ( DE ) sprache gewahlt, nun Nachrichten in deutscher Sprache verfasst wurden");
pLimba{playerid} = DE;
}
Cum trimitem mesaje in diferite limbi?
-Acum eu voi crea o comanda /help , care va avea trei optiuni, una in ROMANA, una in ENGLEZA si una in GERMANA.
Acum sa ne folosim de functiile ce le-am aratat in " INCEPUTUL ":
Exista doua variante una grea si una usoara:
Pawno Code: [Select]
CMD: help ( playerid , params [ ] )
{
switch(GetPlayerLanguage(playerid))
{
case ROM:
SCM( playerid , -1 , " Bun venit in centrul de informatii ! ");
SCM( playerid , -1 , " Textele cu informatii vin aici ! " ) ;
case ENG:
SCM( playerid , -1 , " Welcome in HELP-CENTER ! ");
SCM( playerid , -1 , " Information here ! ");
case DE:
SCM( playerid , -1 , " Willkommen auf der Hilfe-Center ! " );
SCM( playerid , -1 , " Hilfe-Text hier ! " );
}
}
return 1;
}
Cum transmitem mesaje in diferite limbi, mai simplu ?
-La fel folosim functiile din " INCEPUTUL " !
-Pentru asta eu voi crea deja aici un STOCK
Pawno Code: [Select]
stock SendLanguageMessage(playerid, color, lrom[], leng[], lde[] ) // In loc de " color " puneti culoarea dorita.
{
switch(GetPlayerLanguage(playerid))
{
case ROM:SCM(playerid, color, lrom);
case ENG:SCM(playerid, color, leng);
case DE:SCM(playerid, color, lde);
}
return 1;
}
CREDITS
Scripter Commands, creator Touturial - SpriTe_
Ideea - Zh3r0
Pentru tot ce stiu - Allex
PS: Unii dintre voi care sunteti mai avansati al de Rock, SPEEDY, Gireada, probabil stiti ca aceasta este o mare parte din ideea lui Zh3r0, dar eu am facut-o pe ZCMD, si am facut-o mai usor de folosit.
[/b]
Urmarind multe TOPIC-uri de pe acest forum, jucandu-ma pe diferite servere chiar unice, am observat unele dificultati in scrierea corecta in diferite limi straine, ca: ENGLEZA , GERMANA chiar si ROMANA.
Si am decis sa fac acest TOUTURIAL pentru a face munca unui scripter cat de cat mai usoara.
-Inceputul:
[/b]
TOUTURIALUL va avea 6 pasi:
1.Sa creem o variabila care ne va fi folositoare in urmatorii pasi.
2.Sa definim limbile care vor fi folosite in scriere.
3.Sa creem limba care va predomina in acest FS/GM la callbackul OnPlayerConnect
4.Sa folosim corect variabilile create.
5.3 Custom functions for an easier usage.
- SetPlayerLanguage(playerid, language);
- GetPlayerLanguage(playerid);
- SendLanguageMessage(playerid, lrom[], leng[], lde);
PASUL 1 - Cream variabila ce va stoca limba folosita.
Insertati aceasta variabila la inceputul scriptului:
Pawno Code: [Select]
new pLimba[MAX_PLAYERS char];
si sa nu uitati de include-ul:
Pawno Code: [Select]
#include < a_samp >
#include < zcmd >
char - il punem pentru ca la compilare sa folosim mai putini byts.
PASUL 2 - cream definitiile pentru limbile folosite.
In cazul meu eu voi folosi doar 3 limbi, care le cunosc cel mai bine: " ROMANA, ENGLEZA, GERMANA ", nu am vrut sa pun si italina , spaniola, etc, caci ma complic eu pe mine si va voi complica eu pe voi.
Insertam aceste definitii la inceputul scriptului:
Pawno Code: [Select]
#define ROM 0
#define ENG 1
#define DE 2
#define SCM SendClientMessage
PASUL 3 - limba ce va predomina pe server.
la callbackul OnPlayerConnect punem limba care va predomina in cea mai mare parte pe server.
Codul va arata astfel:
Pawno Code: [Select]
public OnPlayerConnect(playerid)
{
//Sa presupunem ca pe server va predomina limba Romana
pLLimba{playerid} = ROM;
SCM(playerid, -1, "Limba ce predomineaza in cea mai mare parte pe acest server este ROMANA");
SCM(playerid, -1, "Pentru a modifica limba foloseste: /ROM- pentru limba romana, /ENG- pentru limba engleza si /GER- pentru limba germana");
return 1;
}
PASUL 4 - cream 2 funtii simple.
Cu ajutorul acestor doua functii simple veti putea verifica ce limba a selectat player-ul.
Pawno Code: [Select]
//Verifica ce limba a selectat playerul.
stock GetPlayerLanguage(playerid)
{
return pLimba{playerid};
}
//Inserteaza limba playerului.
stock SetPlayerLanguage(playerid, language)
{
pLimba{playerid} = language;
}
PASUL 5 - folosim functiile create de noi mai sus.
Acum eu voi crea 3 comenzi pentru ca playerul sa-si poata alege mai usor limba dorita, in cazul meu le voi crea prin ZCMD
Pawno Code: [Select]
//Limba Romana.
CMD: rom ( playerid , params [ ] )
{
SCM ( playerid, -1, "Ai selectat limba romana ( ROM ) , de acum toate textele iti vor aparea in limba romana");
pLimba{playerid} = ROM; //Acum puteti sa vedeti la ce v-a ajutat prima variabila.
return 1 ; //Aceasta spune serverului caci comanda a fost procesata cu succes !
}
//Limba Engleza
CMD: eng( playerid , params [ ] )
{
SCM( playerid, -1, " You selected the English(ENG) language, now messages will be written in English");
pLimba{playerid} = ENG;
return 1;
}
//Limba Germana
CMD: ger( playerid , params [ ] )
{
SCM( playerid, -1, " Du hat di deutsche ( DE ) sprache gewahlt, nun Nachrichten in deutscher Sprache verfasst wurden");
pLimba{playerid} = DE;
}
Cum trimitem mesaje in diferite limbi?
-Acum eu voi crea o comanda /help , care va avea trei optiuni, una in ROMANA, una in ENGLEZA si una in GERMANA.
Acum sa ne folosim de functiile ce le-am aratat in " INCEPUTUL ":
Exista doua variante una grea si una usoara:
Pawno Code: [Select]
CMD: help ( playerid , params [ ] )
{
switch(GetPlayerLanguage(playerid))
{
case ROM:
SCM( playerid , -1 , " Bun venit in centrul de informatii ! ");
SCM( playerid , -1 , " Textele cu informatii vin aici ! " ) ;
case ENG:
SCM( playerid , -1 , " Welcome in HELP-CENTER ! ");
SCM( playerid , -1 , " Information here ! ");
case DE:
SCM( playerid , -1 , " Willkommen auf der Hilfe-Center ! " );
SCM( playerid , -1 , " Hilfe-Text hier ! " );
}
}
return 1;
}
Cum transmitem mesaje in diferite limbi, mai simplu ?
-La fel folosim functiile din " INCEPUTUL " !
-Pentru asta eu voi crea deja aici un STOCK
Pawno Code: [Select]
stock SendLanguageMessage(playerid, color, lrom[], leng[], lde[] ) // In loc de " color " puneti culoarea dorita.
{
switch(GetPlayerLanguage(playerid))
{
case ROM:SCM(playerid, color, lrom);
case ENG:SCM(playerid, color, leng);
case DE:SCM(playerid, color, lde);
}
return 1;
}
CREDITS
Scripter Commands, creator Touturial - SpriTe_
Ideea - Zh3r0
Pentru tot ce stiu - Allex
PS: Unii dintre voi care sunteti mai avansati al de Rock, SPEEDY, Gireada, probabil stiti ca aceasta este o mare parte din ideea lui Zh3r0, dar eu am facut-o pe ZCMD, si am facut-o mai usor de folosit.