Deejva 36 Odesláno: 31. Červenec, 2014 Share Odesláno: 31. Červenec, 2014 Zdravím, už delší dobu si lámu hlavu nad tím, kde je chyba.. Chci si udělat příkaz na změnu barvy na vozidle, takže if(sscanf(params,"ii",color[0],color[1])) return SendClientMessage(playerid,0xFF0000FF,"Barva: /carcolor <barva> <barva>"); Takhle je to tak, jak to má být, ale musím zadat obě barvy. Pokud chci, že se můžeš zadat pouze jeden parametr, ale můžou i 2, tak bych měl do závorky přidat hodnotu, jakou to bude mít, pokud to nezadam.. takže například if(sscanf(params,"ii(-1)",color[0],color[1])) return SendClientMessage(playerid,0xFF0000FF,"Barva: /carcolor <barva> <barva>"); a pak si můžu dát, že pokud je color[1] -1, tak se to nastaví na hodnotu color[0] if(color[1] == -1) color[1] = color[0]; takže takhle by to mělo být tak, že můžu dát /Carcolor 3 6 a mám modro žluté vozidlo .. a pokud dám /carcolor 6 tak mám žluté vozidlo.. problém je v tom, že ať to zkouším jakkoliv, tak to nejde, buď se mi vždy hodí jako barva 2 barva černá, nebo mi to pořád píše "použítí: ... " A tak se ptam, kde je problém. Používám include sscanf, tam mám pouze toto stock sscanf(string[], format[], {Float,_}:...) { new formatPos = 0, stringPos = 0, paramPos = 2, paramCount = numargs(); while (paramPos < paramCount && string[stringPos]) { switch (format[formatPos++]) { case '\0': { return 0; } case 'i', 'd': { new neg = 1, num = 0, ch = string[stringPos]; if (ch == '-') { neg = -1; ch = string[++stringPos]; } do { stringPos++; if (ch >= '0' && ch <= '9') { num = (num * 10) + (ch - '0'); } else { return 1; } } while ((ch = string[stringPos]) && ch != ' '); setarg(paramPos, 0, num * neg); } case 'h', 'x': { new ch, num = 0; while ((ch = string[stringPos++])) { switch (ch) { case 'x', 'X': { num = 0; continue; } case '0' .. '9': { num = (num << 4) | (ch - '0'); } case 'a' .. 'f': { num = (num << 4) | (ch - ('a' - 10)); } case 'A' .. 'F': { num = (num << 4) | (ch - ('A' - 10)); } case ' ': { break; } default: { return 1; } } } setarg(paramPos, 0, num); } case 'c': { setarg(paramPos, 0, string[stringPos++]); } case 'f': { new tmp[25]; strmid(tmp, string, stringPos, stringPos+sizeof(tmp)-2); setarg(paramPos, 0, _:floatstr(tmp)); } case 's', 'z': { new i = 0, ch; if (format[formatPos]) { while ((ch = string[stringPos++]) && ch != ' ') { setarg(paramPos, i++, ch); } if (!i) return 1; } else { while ((ch = string[stringPos++])) { setarg(paramPos, i++, ch); } } stringPos--; setarg(paramPos, i, '\0'); } default: { continue; } } while (string[stringPos] && string[stringPos] != ' ') { stringPos++; } while (string[stringPos] == ' ') { stringPos++; } paramPos++; } while (format[formatPos] == 'z') formatPos++; return format[formatPos]; } a také používám plugin sscanf.. Zkoušel jsem i hledat něco jiného na stáhnutí tak prosím, zda byste měli nějaké linky na to, v čem je chyba.. Link to comment Share on other sites More sharing options...
0 Deejva 36 Odesláno: 31. Červenec, 2014 Author Share Odesláno: 31. Červenec, 2014 No, když smaže ten include (stock), tak mi to pak hází errory, protože to nezná to sscanf A to Array jsem nepobral, co to znamená a jak .. Link to comment Share on other sites More sharing options...
0 Deejva 36 Odesláno: 31. Červenec, 2014 Author Share Odesláno: 31. Červenec, 2014 No já mam #include sscanf ale tím se načte ten include, v kterym je jen ten stock na sscanf Link to comment Share on other sites More sharing options...
0 Deejva 36 Odesláno: 31. Červenec, 2014 Author Share Odesláno: 31. Červenec, 2014 Takže si tam mam dát sscanf2 ? Stáhnu si http://forum.sa-mp.com/showthread.php?t=120356 Plugin je do plugins Include je pouze sscanf2 Link to comment Share on other sites More sharing options...
0 Deejva 36 Odesláno: 31. Červenec, 2014 Author Share Odesláno: 31. Červenec, 2014 Jo, už to mam,díky,super Link to comment Share on other sites More sharing options...
Dotaz
Deejva 36
Zdravím, už delší dobu si lámu hlavu nad tím, kde je chyba..
Chci si udělat příkaz na změnu barvy na vozidle, takže
Takhle je to tak, jak to má být, ale musím zadat obě barvy. Pokud chci, že se můžeš zadat pouze jeden parametr, ale můžou i 2, tak bych měl do závorky přidat hodnotu, jakou to bude mít, pokud to nezadam..
takže například
a pak si můžu dát, že pokud je color[1] -1, tak se to nastaví na hodnotu color[0]
takže takhle by to mělo být tak, že můžu dát
a mám modro žluté vozidlo ..
a pokud dám
tak mám žluté vozidlo..
problém je v tom, že ať to zkouším jakkoliv, tak to nejde, buď se mi vždy hodí jako barva 2 barva černá, nebo mi to pořád píše "použítí: ... "
A tak se ptam, kde je problém.
Používám include sscanf, tam mám pouze toto
a také používám plugin sscanf..
Zkoušel jsem i hledat něco jiného na stáhnutí tak prosím, zda byste měli nějaké linky na to, v čem je chyba..
Link to comment
Share on other sites
4 odpovědí na tuto otázku
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now