GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: nORBI1500 - 2016. Január 27. - 15:55:21

Cím: Chat.
Írta: nORBI1500 - 2016. Január 27. - 15:55:21
Üdv!
Egy olyan chatre lenne szükségem amibe csak meghatározott nevűek irhatnának, és csak ugyanezek olvashatnak. Tehát a script-ben egy változóban lennének megadva azok a nevek (4-5 név) akik látják, és írhatnak ebbe a chatbe. Mondjuk következő parancsal lenne az irás: \"i <szöveg>\" és mondjuk kék színnel jelenjen meg.
Igy én ezt elterveztem, csak sajnos nem tudom, hogy irjam meg kódban. Előre is köszönöm a segítséget.
Cím: Chat.
Írta: BVZS - 2016. Január 28. - 13:43:15
így?
 
#include <zcmd>
stock GetName(playerid)
{
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
}
CMD:i(playerid, params[])
{
new string[256];
if(isnull(params)) return SendClientMessage(playerid, -1, \"/i <szöveg>\");
for(new i = 0; i < MAX_PLAYERS; i++)
{
            if(!strcmp(GetName(playerid), \"Pisti\", true) || !strcmp(GetName(playerid), \"Laci\", true) || !strcmp(GetName(playerid), \"Feri\", true))
    {
format(string, sizeof(string), \"%s: %s\", GetName(playerid), params);
SendClientMessage(i, 0x006FDD96, string);
    }
}
return 1;
}
Cím: Chat.
Írta: nORBI1500 - 2016. Január 28. - 19:25:18
Igen, köszönöm szépen, ilyenre gondoltam, esetleg még annyi módosítás ha lehetséges lenne hogy az ID-t is irja a név után?
Cím: Chat.
Írta: ᗩωєѕσмє - 2016. Január 28. - 19:30:08
stock GetName(playerid) {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
}
 
CMD:i(playerid, params[]) {
        new string[256];
        if(isnull(params)) return SendClientMessage(playerid, -1, \"/i <szöveg>\");
        for(new i = 0; i < MAX_PLAYERS; i++) {
            if(!strcmp(GetName(playerid), \"Pisti\", true) || !strcmp(GetName(playerid), \"Laci\", true) || !strcmp(GetName(playerid), \"Feri\", true)) {
                format(string, sizeof(string), \"%s(%i): %s\", GetName(playerid), playerid, params);
                SendClientMessage(i, 0x006FDD96, string);
            }
        }
        return 1;
}
Cím: Chat.
Írta: nORBI1500 - 2016. Január 28. - 21:34:52
Köszönöm. most teszteltem élesben, az név alapú írás megy, más nem tud de viszont mindenki látta a szerveren a szöveget de én lehet én irtam rosszul, de akkor elnézést, de valahogy úgy kellene hogy csak azok lássák akik irni is tudnak bele.
Cím: Chat.
Írta: Tomasz - 2016. Január 31. - 18:53:06

stock GetName(playerid) {
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    return Name;
}
 
CMD:i(playerid, params[]) {
        new string[256];
        if(isnull(params)) return SendClientMessage(playerid, -1, \"/i <szöveg>\");
if(!strcmp(GetName(playerid), \"Pisti\", true) || !strcmp(GetName(playerid), \"Laci\", true) || !strcmp(GetName(playerid), \"Feri\", true)) {
   for(new i = 0; i < MAX_PLAYERS; i++) {
      if(!strcmp(GetName(i), \"Pisti\", true) || !strcmp(GetName(i), \"Laci\", true) || !strcmp(GetName(i), \"Feri\", true)) {
         format(string, sizeof(string), \"%s(%i): %s\", GetName(playerid), playerid, params);
         SendClientMessage(i, 0x006FDD96, string);
      }
   }
}
else SendClientMessage(playerid,-1,\"Te nem használhatod ezt a parancsot!\");
        return 1;
}
Cím: Chat.
Írta: nORBI1500 - 2016. Február 02. - 09:54:02
Köszönöm az összes segítséget! Működik