Jump to content
  • 0

pomoc Vrátenie textu s premennej


Guyy

Dotaz

Popis problému:

 

Mám taký problem, vytvoril som si testovaciu funkciu, kde ked sa rovná premenná číslu, vráti to text. Lenže tá funkcia mi crashne celý server..

Chyby/varování kompilátoru a při běhu:

--

 

Kód:

 

new testmeno[11];

CMD:vratmeno(playerid, params[])
{ 
new menoje[60 + 1], cislo;
 if(sscanf(params, "i", cislo)) return SendClientMessage(playerid, -1, "{FF0000}[ ! ] {FFFFFF}/vratmeno "); 
else 
{
  testmeno[0] = cislo; 
 format(menoje, sizeof(menoje), "%s", VratMiMeno(cislo));  SendClientMessage(playerid, -1, "{FF0000}[ ! ] {FFFFFF}Premenná testmeno bola nastavená na %I (%s)", cislo, menoje); 
} 
return 1;
}

stock VratMiMeno(menoid){ 

new meno[100 + 1];
 if(testmeno[0] == 0) meno = "Nezamestnaný 0";
 if(testmeno[0] == 1) meno = "Zamestnanie 1"; 
if(testmeno[0] == 2) meno = "Zamestnanie 2"; 
if(testmeno[0] == 3) meno = "Zamestnanie 3";
 if(testmeno[0] == 4) meno = "Zamestnanie 4"; 
if(testmeno[0] == 5) meno = "Zamestnanie 5"; 
if(testmeno[0] == 6) meno = "Zamestnanie 6";
 if(testmeno[0] == 7) meno = "Zamestnanie 7"; 
if(testmeno[0] == 8) meno = "Zamestnanie 8"; 
if(testmeno[0] == 9) meno = "Zamestnanie 9";
 if(testmeno[0] == 10) meno = "Zamestnanie 10"; 
else meno = "Error"; 
return meno;
}

 

 

 

Dodatečné poznámky:

 

To že mám pri premennej '11' a používam len 0.. To neriešte :d Ďakujem za pomoc :)

Edited by EvoLve.
Link to comment
Share on other sites

3 odpovědí na tuto otázku

Recommended Posts

  • 0

pokial viem stringy v pawn nemozes takto priradzovat ( "meno=x")
musis pouzit memcpy, format, strcpy, ..., alebo zadeklarovat to tak ze new meno[] = "abcd"

Link to comment
Share on other sites

  • 0

pokial viem stringy v pawn nemozes takto priradzovat ( "meno=x")

musis pouzit memcpy, format, strcpy, ..., alebo zadeklarovat to tak ze new meno[] = "abcd"

Pokud prirazujes konstantni string tak muzes. Muzes takto nastavovat i array (string je array) u kterych v pri compile-time znamy rozmer. Muzes je takto priradit s podminkou ze vyraz v levo nesmi byt delsi nez v pravo (dimension)

 

Jinak schazuje ti to SCM. Do SCM nesmis poslat %s,%d,%f... jinak to ti crashne server. Pouzij to takto:

format(menoje, sizeof(menoje), "{FF0000}[ ! ] {FFFFFF}Premenná testmeno bola nastavená na %I (%s)",cislo,VratMiMeno(cislo)); 
SendClientMessage(playerid, -1,menoje);

 

Edited by ATomas
Link to comment
Share on other sites

  • 0
Pokud prirazujes konstantni string tak muzes. Muzes takto nastavovat i array (string je array) u kterych v pri compile-time znamy rozmer. Muzes je takto priradit s podminkou ze vyraz v levo nesmi byt delsi nez v pravo (dimension)

 

Jinak schazuje ti to SCM. Do SCM nesmis poslat %s,%d,%f... jinak to ti crashne server. Pouzij to takto:

format(menoje, sizeof(menoje), "{FF0000}[ ! ] {FFFFFF}Premenná testmeno bola nastavená na %I (%s)",cislo,VratMiMeno(cislo)); 
SendClientMessage(playerid, -1,menoje);

 

Ach, no to s tým scm viem že crashne server, ale to že to mal byť format ma vôbedz nebapadlo :d :D Tak furt som používal va_scm tak som to písal rovno tam no.. :d dík :)

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...