-
Sziasztok!
Kéne nekem egy /válasz rendszer amivel tudok a playereknek válaszolni.
Úgy kéne hogy amit válaszol az adott playernek azt az adminok lássák.
A player nevét is és az admin nevét is. :hmmm:
-
Nem nehéz. Ha komplett script kell megfelelõ témában kérd. Nos elõször is csinálunk egy változót pl: PlayerText[MAX_PLAYERS][64];
És mondjuk ha azt akarod hogy /report-al kédrezzen, akkor a reportba a params[] változót eltárolod a PlayerText változóba.
És mondjuk egy /válasz [id] [szöveg] paranccsal lehet válaszolni.
SendClientMessageToAll(szín,PlayerText[playerid]);
SendClientMessageToAll(szín,szöveg);
valami ilyesmi lenne.
-
Tessék:
if(egyezik(cmd, \"/válasz\") || egyezik(cmd, \"/valasz\") || egyezik(cmd, \"/vsz\") || egyezik(cmd, \"/vá\"))
{
if(!Admin(playerid, 1) && !IsAS(playerid)) return Msg(playerid,\"Nem vagy AS!\");
if(params < 2) return Msg(playerid, \"/válasz [játékos] [üzenet]\");
new player = ReturnUser(strtok(cmdtext, idx));
if(player == INVALID_PLAYER_ID) return Msg(playerid, \"Nincs ilyen játékos!\");
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= \' \')) { idx++; }
new offset = idx;
new result[96];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
return Msg(playerid, \"/válasz [játékos] [üzenet]\");
SzovegEllenorzes(playerid, result, \"/vá\");
if(PlayerInfo[playerid][pAdmin] == 9999)
SendFormatMessage(player, COLOR_LIGHTGREEN, \"VezérScripter %s: %s\", AdminName(playerid) ,(result));
else if(PlayerInfo[playerid][pAdmin] == 5555)
SendFormatMessage(player, COLOR_LIGHTGREEN, \"FõScripter %s: %s\", AdminName(playerid) ,(result));
else if(PlayerInfo[playerid][pAdmin] == 2014)
SendFormatMessage(player, COLOR_LIGHTGREEN, \"Rendszergazda %s: %s\", AdminName(playerid) ,(result));
else if(PlayerInfo[playerid][pAdmin] == 2013)
SendFormatMessage(player, COLOR_LIGHTGREEN, \"Tulajdonos %s: %s\", AdminName(playerid) ,(result));
else if(PlayerInfo[playerid][pAdmin] == 1338)
SendFormatMessage(player, COLOR_LIGHTGREEN, \"Super Admin %s: %s\", AdminName(playerid) ,(result));
else if(PlayerInfo[playerid][pAdmin] == 1337)
SendFormatMessage(player, COLOR_LIGHTGREEN, \"FõAdmin %s: %s\", AdminName(playerid) ,(result));
else if(PlayerInfo[playerid][pAdmin] < 1337 && PlayerInfo[playerid][pAdmin] != 0)
SendFormatMessage(player, COLOR_LIGHTGREEN, \"Admin %s: %s\", AdminName(playerid), (result));
else if(PlayerInfo[playerid][pAdmin] == 0)
SendFormatMessage(player, COLOR_LIGHTGREEN, \"AdminSegéd %s: %s\", AdminName(playerid), (result));
else
SendFormatMessage(player, COLOR_LIGHTGREEN, \"Admin %s: %s\", AdminName(playerid), (result));
Format(tmp, \" %s válaszolt neki: %s | Üzenet: %s\", AdminName(playerid), PlayerName(player), (result));
ABroadCast(COLOR_YELLOW, tmp, 2);
if(Admin(playerid,1))
PlayerInfo[playerid][pVA] ++;
return 1;
}
Ha segített nincs mit
Üdv: Dexter :smokin:
-
Az meg még jobb lenne, ha nem a See módból lenne kiszedve (szerintem)...
-
#include < a_samp >
#include < zcmd >
#include < sscanf2 >
#include < foreach >
new
g_szFormat[ 160 ];
CMD:valasz( playerid, params[ ] )
{
if( IsPlayerAdmin( playerid ) )
{
new
iPlayer,
szReply[ 70 ];
if( sscanf( params, \"us[70]\", iPlayer, szReply ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /valasz <Játékos ID> <Szöveg>\" );
if( playerid == iPlayer ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Magadnak minek akarsz választ küldeni? :O\" );
if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nem létezõ azonosító...\" );
format( g_szFormat, sizeof( g_szFormat ), \"*** %s(%d) Admin válasza: %s\", pName( playerid ), playerid, szReply );
SendClientMessage( iPlayer, 0xFF0000AA, g_szFormat );
foreach(Player, i)
{
if( IsPlayerAdmin( i ) )
{
format( g_szFormat, sizeof( g_szFormat ), \"*** %s(%d) Válasza %s(%d) nevû játékosnak: %s\", pName( i ), i, pName( iPlayer ), iPlayer, szReply );
SendClientMessage( i, 0xFF0000AA, g_szFormat );
}
}
}
else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nem vagy Rcon admin!\" );
return 1;
}
stock pName( playerid )
{
static
s_szName[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, s_szName, MAX_PLAYER_NAME );
return s_szName;
}
-
Gabor nem jó.
Beirom és UNKNOW
És csak RCON -al megy?
-
Igen, azért Unknow, mert bekell jelentkezni az RCON Adminisztrációs felületbe. Másképp nem tudtam megírni adminosra, mivel számomra ismeretlen a te adminrendszered. De amit írtam, az elvileg jó.
-
Beléptem RCON-ba de akkor se jó :S
-
Így jónak kell lennie, ha nemjó, akkor nálad a baj.
#include < a_samp >
#include < zcmd >
#include < sscanf2 >
#include < foreach >
new
g_szFormat[ 160 ];
CMD:valasz(playerid, params[])
{
if( IsPlayerAdmin( playerid ) )
{
new
iPlayer,
szReply[ 70 ];
if( sscanf( params, \"us[70]\", iPlayer, szReply ) ) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /valasz <Játékos ID> <Szöveg>\" );
if( playerid == iPlayer ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Magadnak minek akarsz választ küldeni? :O\" );
if( iPlayer == INVALID_PLAYER_ID ) return SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nem létezõ azonosító...\" );
format( g_szFormat, sizeof( g_szFormat ), \"*** %s(%d) Admin válasza: %s\", pName( playerid ), playerid, szReply );
SendClientMessage( iPlayer, 0xFF0000AA, g_szFormat );
foreach(Player, i)
{
if( IsPlayerAdmin( i ) )
{
format( g_szFormat, sizeof( g_szFormat ), \"*** %s(%d) Válasza %s(%d) nevû játékosnak: %s\", pName( i ), i, pName( iPlayer ), iPlayer, szReply );
SendClientMessage( i, 0xFF0000AA, g_szFormat );
}
}
}
else SendClientMessage( playerid, 0xFF0000AA, \"HIBA: Nem vagy Rcon admin!\" );
return 1;
}
stock pName( playerid )
{
static
s_szName[ MAX_PLAYER_NAME ];
GetPlayerName( playerid, s_szName, MAX_PLAYER_NAME );
return s_szName;
}
Esetleg azt próbáld még meg, ha nem, jó, hogy nem FS-ként rakod be, hanem a módodba. Mert lehet összeütközik a kettõ.
-
ha strcmp-s a modja akkor unknow lesz, mivel keveredik a zcmd és az strcmp