Szerző Téma: Chat.  (Megtekintve 1037 alkalommal)

Chat.
« Dátum: 2016. Január 27. - 15:55:21 »
0
Ü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.

Nem elérhető BVZS

  • 487
    • Profil megtekintése
Chat.
« Válasz #1 Dátum: 2016. Január 28. - 13:43:15 »
+1
í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;
}

Chat.
« Válasz #2 Dátum: 2016. Január 28. - 19:25:18 »
0
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?

ᗩωєѕσмє

  • Vendég
Chat.
« Válasz #3 Dátum: 2016. Január 28. - 19:30:08 »
+1
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;
}

Chat.
« Válasz #4 Dátum: 2016. Január 28. - 21:34:52 »
0
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.

Nem elérhető Tomasz

  • 123
    • Profil megtekintése
Chat.
« Válasz #5 Dátum: 2016. Január 31. - 18:53:06 »
0

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;
}

Chat.
« Válasz #6 Dátum: 2016. Február 02. - 09:54:02 »
0
Köszönöm az összes segítséget! Működik

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal