-
if(strcmp(cmd, \"/me\", true) == 0)
{
new myName[MAX_PLAYER_NAME];
new message[256];
if(IsPlayerConnected(playerid))
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD1, \"Használat: /me [Akció]\");
return 1;
}
format(string, sizeof(string), \"* %s %s\", myName, message);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
printf(\"%s\", string);
}
return 1;
}
Gamestar RP Chat kódját behelyettesítettem a /me parancsba.
Az a gond hogy játék közben ennyit ír ki:
* csinál valamit.
A név sehol.
Mit rontok el?
-
Le kell kérned a játékos nevét( itt a myName karakterláncba ).
GetPlayerName( playerid, myName, sizeof myName );
-
Most nem küldi el az üzenetet.
-
GetPlayerName( playerid, myName, sizeof(myName));
ezt nem így?:o
és ne message-t írj a formathoz hanem (result)ot ;)
-
GetPlayerName( playerid, myName, sizeof(myName));
ezt nem így?:o
és ne message-t írj a formathoz hanem (result)ot ;)
A sizeof csak egy operátor, a zárójelezés ilyen esetekben elhagyható.
-
if(strcmp(cmd, \"/me\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, \" Nem vagy bejelentkezve !\");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, \"USAGE: /me [action]\");
return 1;
}
if(PlayerInfo[playerid][pMaskuse] == 1)
{
format(string, sizeof(string), \"* Ismeretlen %s\", result);
}
else
{
format(string, sizeof(string), \"* %s %s\", sendername, result);
}
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
printf(\"%s\", string);
}
return 1;
}
LARP-bol kimásoltam... Nézd meg a hibádat.
-
Talán..
if(strcmp(cmd, \"/me\", true) == 0)
{
new myName[MAX_PLAYER_NAME];
GetPlayerName(playerid, myName, sizeof(myName));
new message[256];
if(IsPlayerConnected(playerid))
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD1, \"Használat: /me [Akció]\");
return 1;
}
format(string, sizeof(string), \"* %s %s\", myName, message);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
printf(\"%s\", string);
}
return 1;
}
-
Másold ki amit mi beillesztettünk és jó lesz 100% :P
-
szileni a tied maszkkal eggyüt van :) mmint a tiedben akkor ismeretlen ha van maszkod :)
ha már kódokat adogatunk :D
if(strcmp(cmd, \"/me\", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \'))
{
idx++;
}
new offset = idx;
new result[63];
if(length > 63)
{
while ((idx < 63) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
format(string, sizeof(string), \"* %s %s\", sendername, result);
result[idx - offset] = EOS;
}
else
{
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
format(string, sizeof(string), \"* %s %s\", sendername, result);
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, \"Használat: /me [action]\");
return 1;
}
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
printf(\"%s\", string);
}
return 1;
}
Tessék :) 100%-osan muködik nállam :)
AM a tiédben a hiba:
a formatnál a message helyett kell result-t írni :)
-
Azt akartam írni :D
-
Már hamarabb megcsináltam mindegy köszi a segitséget mindenki.