Szerző Téma: Szövegosszúság  (Megtekintve 607 alkalommal)

Nem elérhető KrisT

  • 106
    • Profil megtekintése
Szövegosszúság
« Dátum: 2014. augusztus 29. - 12:26:49 »
0 Show voters
Sziasztok!
Lenne egy olyan problémám, hogy van egy parancs, és ha azt egy admin berija, akkor mindenkinek pirossal azt kiírja. De nekem csak pár szót ír ki. Hogyan lehet meghosszabbítani, hogy ne csak mondjuk 25szót írjon ki?
 
CMD:asayn(playerid,params[])
{
if(Belepve[playerid])
{
    if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 1)
    {
        new szoveg[1024];
   if(sscanf(params,\"s\",szoveg)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /asayn [szöveg]\");
   {
        new string[300];
        GetPlayerName(playerid,nev,sizeof(nev));
        format(string,sizeof(string),\"*Admin %s: %s\",nev,szoveg);
        SendClientMessageToAll(COLOR_PIROS,string);
        printf(string);
        }
       
    }
    else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy admin!\");
   
}
else SendClientMessage(playerid,COLOR_LIGHTRED,\"Nem vagy belépve!\");
return 1;
}

 
[mod]Kiraktam a tageket[/mod]
« Utoljára szerkesztve: 2014. augusztus 29. - 12:36:36 írta Flash »

Szövegosszúság
« Válasz #1 Dátum: 2014. augusztus 29. - 12:36:14 »
0 Show voters
A string számát ha feljebbteszed???

Nem elérhető divkn

  • 3259
    • Profil megtekintése
Szövegosszúság
« Válasz #2 Dátum: 2014. augusztus 29. - 12:38:38 »
0 Show voters
25 szót egy 300-as karakterláncban? Oh wow.
Csak annyi hogy a \'new string[300]\'-at döveled 1024-re, vagyis amit megadtál \'szoveg\' változónak.
De szerintem az 1024 túl sok, mert nem hiszem hogy egy üzenetben el lehet küldeni több mint 1024 karaktert, inkább sortördeléssel.

Nem elérhető rayle

  • 174
    • Profil megtekintése
Szövegosszúság
« Válasz #3 Dátum: 2014. augusztus 29. - 13:06:35 »
0 Show voters
if(sscanf(params,\"s\",szoveg)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /asayn [szöveg]\");

 
Meg kell adni a szöveg hosszúságát is. Így:
 
if(sscanf(params,\"s[1024]\",szoveg)) return SendClientMessage(playerid,COLOR_LIGHTRED,\"Használata: /asayn [szöveg]\");

 
De 1024 az valóban sok, 256 bõven elég és akkor még színezheted is nyugodtan.

Nem elérhető KrisT

  • 106
    • Profil megtekintése
Szövegosszúság
« Válasz #4 Dátum: 2014. augusztus 29. - 14:11:48 »
0 Show voters
Köszönöm.
ryle, a te ötleted mûködött  :)
Köszönöm a segítségekeet!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal