-
Halihó, olyan gond lenne az alábbi scripttel, hogy ha kicsivel hosszabb szöveget írok pl.
\"mindenki vegyen magához fegyvert és szálljon be egy gépjármûbe\"
akkor a fegyvert résznél levágja a szöveget, s nem jeleníti meg a többit.
CMD:say(playerid, params[])
{
new beszelo[MAX_PLAYER_NAME], string[512];
GetPlayerName(playerid, beszelo, sizeof(beszelo));
if(sscanf(params, \"s\", params[0])) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /say [szöveg]\");
format(string, sizeof(string), \"{ABCDEF}%s {375FFF}katonatiszt mondja: {FF9900}%s\", beszelo, params[0]);
return SendClientMessageToAll(0xB3D5B2AA,string);
}
Mi lehet a probléma? :hmmm: Esetleg tud valaki hasonló, példa scriptet adni?
Köszönöm elõre is!
-
Mert túl lépi az egy üzenetben megjeleníthetõ maximális karakterek számát, mely hol 128 vagy 144.
-
Na de pl. ezt kiírja teljes egészében, és kihasználja rendesen a chatsort:
format(string, sizeof(string), \"{FF0606}(Felszólítás) {FFFF00}%s (ID: %d) {FF9900}Azonnal vonuljon be a 2-es számú katonai bázisra, csomagellenõrzés céljából!\", giveplayer, giveplayerid);
SendClientMessageToAll(COLOR_GREEN, string);
:shurg:
-
Ajánlom neked:
CMD:say(playerid, params[])
{
new beszelo[MAX_PLAYER_NAME], string[1900];
GetPlayerName(playerid, beszelo, sizeof(beszelo));
if(sscanf(params, \"s\", params[0])) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /say [szöveg]\");
format(string, sizeof(string), \"{ABCDEF}%s {375FFF}katonatiszt mondja: {FF9900}%s\", beszelo, params[0]);
return SendClientMessageToAll(0xB3D5B2AA,string);
}
Itt a \"string[512]\"-nek a string ketrecet kellett feljebb vinni.
-
Nem jó. Azt írja szerveren, hogy unknown commands :no:
-
[Lo_.\" post=413017\" timestamp=\"1365595906]
Ajánlom neked:
CMD:say(playerid, params[])
{
new beszelo[MAX_PLAYER_NAME], string[1900];
GetPlayerName(playerid, beszelo, sizeof(beszelo));
if(sscanf(params, \"s\", params[0])) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /say [szöveg]\");
format(string, sizeof(string), \"{ABCDEF}%s {375FFF}katonatiszt mondja: {FF9900}%s\", beszelo, params[0]);
return SendClientMessageToAll(0xB3D5B2AA,string);
}
Itt a \"string[512]\"-nek a string ketrecet kellett feljebb vinni.
[/quote]Hiába növeled a karakterlánc celláinak a számát, ha a SAMP-ban a maximális megjeleníthetõ karakterek száma, színkódokkal együtt 128, avagy 144(felbontás függõ).
-
[Lo_.\" post=413017\" timestamp=\"1365595906]
Ajánlom neked:
CMD:say(playerid, params[])
{
new beszelo[MAX_PLAYER_NAME], string[1900];
GetPlayerName(playerid, beszelo, sizeof(beszelo));
if(sscanf(params, \"s\", params[0])) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /say [szöveg]\");
format(string, sizeof(string), \"{ABCDEF}%s {375FFF}katonatiszt mondja: {FF9900}%s\", beszelo, params[0]);
return SendClientMessageToAll(0xB3D5B2AA,string);
}
Itt a \"string[512]\"-nek a string ketrecet kellett feljebb vinni.
[/quote]
még az 512 is túl sok!!!
Ezt a \"ketrec\" dolgot szerintem Zyzu leírásából vetted...olvasd el ott a kommentemet is :) van 1 tömböd és annak cellái vannak...ez nem állatkert :D de ha tévednék akkor bocs :D
45+20+128-1-5+1=188 ennyi lehetne max ennek a szövegnek a hossza...
45 = {ABCDEF} {375FFF}katonatiszt mondja: {FF9900}
20 = Játékos Max név hossza ( nem 24! )
128 = Max Parancs szöveg hossz
-1 = String végét jelzõ karakter
-5 = \"/say \"
1 = String végét jelzõ karakter
de a chatbe nem tudsz ennyi karaktert megjeleníteni 1 SORBAN ! ezért kell törni és 2 sorban küldeni az üzenetet :)
de lehetne spórolni a karakterekkel :)
szöveg elejére tök felesleges ez: {ABCDEF}
SendClientMessageToAll(0xB3D5B2AA,string);
0xB3D5B2AA helyett RGBA-ba átalakítva kell megadni és máris 8 karakterrel kevesebb :)
Mondjuk itt nem a színezés a gond mivel azt nem jeleníti meg a chatben mint karaktereket...
Végeztem 1 tesztet...