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]
A string számát ha feljebbteszed???
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.
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.
Köszönöm.
ryle, a te ötleted mûködött :)
Köszönöm a segítségekeet!