Jump to content
  • 0

pomoc Globání proměnné nefungují


Marks

Dotaz

Ahoj všichni. Asi před 2 týdny jsem se rozhodl, že na svém serveru přidělám angličtinu, aby na něm hrálo více lidí. Vše šlo krásně, když jsem si překládal v gamemode. Ale když jsem dopřeložil gamemode, tak mi zbyly pouze filterscripty. Ty jsem si myslel, že vyřeším pomocí globálních proměnných.

Na internetu jsem našel tento plugin.

http://forum.sa-mp.com/showthread.php?t=151076

 

Pochopil jsem to nějak takto:
SetGVarInt("prom",Language[playerid],0);

tímto příkazem se nastavuje proměnná pod názvem prom s id 0 a předává vlastnosti Language[playerid], což nabývá 1 nebo 2 ky, podle zadaného jazyka.

Ve filterscriptu to mám takto:

Language[playerid] = GetGVarInt("prom",0);

Toto by mělo do stejně nazvané proměnné vložit hodnotu proměnné z gamemode. Zkoušel jsem i jiný název proměnné, ale nic se nezměnilo.

 

Ale takto to asi zřejmě nefunguje, když dám natvrdo do SetGVarInt...  proměnou například 1 nebo 2 tak globální proměné fungují a není žádný problém, ale já potřebuji vkládat do globální proměnné hráčovu proměnou o jeho zvoleném jazyku. Zkoušel jsem i tento kód, ale vykazuje také stejnou nefunkčnost:

if(Language[playerid] == 1){

SetGVarInt... proměnná 1

}else{

SetGVarInt... proměnná 2

}

 

Ve filterstriptu mám 2 podmínky, pokud se proměnná rovná 1 nebo 2, tak to pokaždé vypíše jiný text, ale když vyzkouším funkčnost kódu, proměnná ve filtersctiptu se stále rovná 0.

Nemá tu někdo zkušenosti s těmito proměnnými? Plugin mám na svém místě, i vkládám #include <gvar>

Předem všem moc děkuji za odpovědi a popřípadné vyřešení. M
 

Link to comment
Share on other sites

5 odpovědí na tuto otázku

Recommended Posts

  • 0
  • Globální moderátor

Nechápu využití toho pluginu... hráč si tedy vybírá jestli chce CZ/SK nebo EN, chápu sem zde správně?

 

Na to stačí jednoduchej PVar system.

 

V GM:

SetPVarInt(playerid,"lang",Language[playerid]);

 

v FS:

Language[playerid] = GetPVarInt(playerid,"lang");

 

Nevidím důvod se srát s GVarami, navíc since 0.3.7 už existují SVary

 

 

Server variable system (SVars):
- The SVar system is the same as the PVars, although the variables created are server-wide, not attached to any playerid, and persist through gamemode changes.

The pawn functions intended to read console/config variables (GetServerVarAs*) have been deprecated due to a naming conflict with the SVar system. These functions will still work for the time being. Moving forward it's recommended you rename these functions as listed below:

Code:
native GetConsoleVarAsString(const varname[], buffer[], len);
native GetConsoleVarAsInt(const varname[]);
native GetConsoleVarAsBool(const varname[]);
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0

Ano chápeš dobře že si na severu háči vybírají na severu 2 jazyky. A chci z gamemode dát i do fs jaký jazyk se má zobrazit hráči.
Já jsem se koukal na SetPVarInt ale myslel jsem, že to jsou privátní proto to P a tyhle jsou G jako global (pro celý sevrer) nevím asi to chápu špatně, díky, vyzkouším SetPVarInt a napíšu jak to funguje. 

Link to comment
Share on other sites

  • 0

Tak jsem to vyzkoušel a stále to nefunguje. Pořád ta proměnná je 0.
EDIT
Už to leze !!! díky moc ;)

 

Edited by Marks
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...