Szerző Téma: Admin szín  (Megtekintve 1492 alkalommal)

Admin szín
« Dátum: 2015. március 22. - 18:16:49 »
0 Show voters
Sziasztok, egy kis segítséget szeretnék kérni.
Azt szeretném elérni, hogy az adminok és a játékosok más színnel írjanak a chatbe. Itt vannak hozzá a dolgok amik elvileg kellenek hozzá csak én nem birom őket összeilleszteni, hogy működjenek is :wall: :D
 
// This callback gets called whenever a player uses the chat-box
public OnPlayerText(playerid, text[])
{
// Block the player\'s text if he has been muted
    if (APlayerData[playerid][Muted] == true)
{
// Let the player know he\'s still muted
SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Némítva vagy\");
// Don\'t allow his text to be sent to the chatbox
return 0;
}
new szamok=0,pontok=0, kettospont=0;
for(new ch=0; ch<strlen(text); ch++) if(text[ch]>=\'0\' && text[ch]<=\'9\')szamok++; else if(text[ch]==\'.\')pontok++; else if(text[ch]==\':\')kettospont++;
if(szamok>=9 && pontok>=3 && kettospont==1) Kick(playerid);
new string[256];
new nev[40];
GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s {00FF00}[{FFD700}%d{00FF00}]:{FFFFFF} %s \", nev, playerid, text);
SendClientMessageToAll(GetPlayerColor(playerid), string);
SetPlayerChatBubble(playerid,text, 0xFFFFFF, 300.0 , 10000);
return 0;
}

 
Admin szint lekérdezése:
if (APlayerData[playerid][PlayerLevel] >= 1)

Dupla hozzászólás automatikusan összefûzve. ( [time]2015. Március 22. 18:19:32[/time] )

Ja, igen és jelezném, hogy ez a megoldás nekem nem jó http://sampforum.hu/index.php?topic=44380 annyi errort ír ki rá, hogy inkább hagyom :D
« Utoljára szerkesztve: 2015. március 22. - 23:52:58 írta ƒlaﻛh »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Admin szín
« Válasz #1 Dátum: 2015. március 22. - 18:29:48 »
0 Show voters
GetPlayerColor(playerid) helyett:
APlayerData[playerid][PlayerLevel] >= 1?(0xFF0000FF):(0xFFFFFFFF)
0xFF0000FF = adminszín
0xFFFFFFFF = playerszín

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Admin szín
« Válasz #2 Dátum: 2015. március 22. - 18:35:11 »
0 Show voters
public OnPlayerText(playerid, text[])
{
        // Block the player\'s text if he has been muted
if (APlayerData[playerid][Muted] == true)
    {
            // Let the player know he\'s still muted
            SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Némítva vagy\");
            // Don\'t allow his text to be sent to the chatbox
            return 0;
}
    new szamok=0,pontok=0, kettospont=0;
    for(new ch=0; ch<strlen(text); ch++) if(text[ch]>=\'0\' && text[ch]<=\'9\')szamok++; else if(text[ch]==\'.\')pontok++; else if(text[ch]==\':\')kettospont++;
    if(szamok>=9 && pontok>=3 && kettospont==1) Kick(playerid);
new uzi[256];
if (APlayerData[playerid][PlayerLevel] >= 1)
{
format( uzi , 256 , \"{00FF00}%s[{FFD700}%d{00FF00}]:{FFFFFF}%s\" , AdminLevelName[APlayerData[playerid][PlayerLevel]],playerid , text ); //h admin akkor szinesen ír
SendPlayerMessageToAll( playerid , uzi );
return 0;
}
else
{
format( uzi , 256 , \"{00FF00}[%i] {FFFFFF}%s\" , playerid , text ); // sima játékos
SendPlayerMessageToAll( playerid , uzi);
new to_others[MAX_CHATBUBBLE_LENGTH+1];
format(to_others,MAX_CHATBUBBLE_LENGTH,\"%s\",text);
SetPlayerChatBubble(playerid,to_others,COLOR_RED,35.0,10000);
}
return 0;
}

 vagy esetleg így?
Módosított változat lemaradt a végéről másoláskor!
 
   }
return 0;
}
« Utoljára szerkesztve: 2015. március 22. - 19:45:50 írta ZSOLTI99 »

Admin szín
« Válasz #3 Dátum: 2015. március 22. - 19:14:27 »
0 Show voters
Idézetet írta: ƒlaﻛh date=1427045388\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"53421\" data-ipsquote-contentclass=\"forums_Topic
GetPlayerColor(playerid) helyett:
APlayerData[playerid][PlayerLevel] >= 1?(0xFF0000FF):(0xFFFFFFFF)
0xFF0000FF = adminszín
0xFFFFFFFF = playerszín
 
Félreértetted, nem a nevét akarom színezni hanem azt AMIT ír

Dupla hozzászólás automatikusan összefûzve. ( [time]2015. Március 22. 19:19:40[/time] )


 
public OnPlayerText(playerid, text[])
{
        // Block the player\'s text if he has been muted
if (APlayerData[playerid][Muted] == true)
    {
            // Let the player know he\'s still muted
            SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Némítva vagy\");
            // Don\'t allow his text to be sent to the chatbox
            return 0;
}
    new szamok=0,pontok=0, kettospont=0;
    for(new ch=0; ch<strlen(text); ch++) if(text[ch]>=\'0\' && text[ch]<=\'9\')szamok++; else if(text[ch]==\'.\')pontok++; else if(text[ch]==\':\')kettospont++;
    if(szamok>=9 && pontok>=3 && kettospont==1) Kick(playerid);
new uzi[256];
if (APlayerData[playerid][PlayerLevel] >= 1)
{
format( uzi , 256 , \"{00FF00}%s[{FFD700}%d{00FF00}]:{FFFFFF}%s\" , AdminLevelName[APlayerData[playerid][PlayerLevel]],playerid , text ); //h admin akkor szinesen ír
SendPlayerMessageToAll( playerid , uzi );
return 0;
}
else
{
format( uzi , 256 , \"{00FF00}[%i] {FFFFFF}%s\" , playerid , text ); // sima játékos
SendPlayerMessageToAll( playerid , uzi);
new to_others[MAX_CHATBUBBLE_LENGTH+1];
format(to_others,MAX_CHATBUBBLE_LENGTH,\"%s\",text);
SetPlayerChatBubble(playerid,to_others,COLOR_RED,35.0,10000);
    return 0;

 vagy esetleg így?
 
[/quote]Hátööö ez full error

Dupla hozzászólás automatikusan összefûzve. ( 2015. március 22. - 19:21:49 )

Én valahogy így képzelem el
 
new string[256];
new nev[40];
if (APlayerData[playerid][PlayerLevel] >= 1)
GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s {00FF00}[{FFD700}%d{00FF00}]:{FF0000} %s \", nev, playerid, text);
SendClientMessageToAll(GetPlayerColor(playerid), string);
SetPlayerChatBubble(playerid,text, 0xFFFFFF, 300.0 , 10000);
return 0;
}
     else
      {
      if (APlayerData[playerid][PlayerLevel] == 0)
      GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s {00FF00}[{FFD700}%d{00FF00}]:{FFFFFF} %s \", nev, playerid, text);
SendClientMessageToAll(GetPlayerColor(playerid), string);
SetPlayerChatBubble(playerid,text, 0xFFFFFF, 300.0 , 10000);
return 0;

 
Erre invaild function or declaration
« Utoljára szerkesztve: 2015. március 22. - 19:21:49 írta MAcho »

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Admin szín
« Válasz #4 Dátum: 2015. március 22. - 19:44:52 »
0 Show voters
public OnPlayerText(playerid, text[])
{
// Block the player\'s text if he has been muted
if (APlayerData[playerid][Muted] == true)
{
    // Let the player know he\'s still muted
    SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Némítva vagy\");
    // Don\'t allow his text to be sent to the chatbox
    return 0;
}
    new szamok=0,pontok=0, kettospont=0;
    for(new ch=0; ch<strlen(text); ch++) if(text[ch]>=\'0\' && text[ch]<=\'9\')szamok++; else if(text[ch]==\'.\')pontok++; else if(text[ch]==\':\')kettospont++;
    if(szamok>=9 && pontok>=3 && kettospont==1) Kick(playerid);
    new uzi[256];
    if (APlayerData[playerid][PlayerLevel] >= 1)
    {
    format( uzi , 256 , \"{00FF00}%s[{FFD700}%d{00FF00}]:{FFFFFF}%s\" , AdminLevelName[APlayerData[playerid][PlayerLevel]],playerid , text ); //h admin akkor szinesen ír
    SendPlayerMessageToAll( playerid , uzi );
    return 0;
    }
    else
    {
    format( uzi , 256 , \"{00FF00}[%i] {FFFFFF}%s\" , playerid , text ); // sima játékos
    SendPlayerMessageToAll( playerid , uzi);
    new to_others[MAX_CHATBUBBLE_LENGTH+1];
    format(to_others,MAX_CHATBUBBLE_LENGTH,\"%s\",text);
    SetPlayerChatBubble(playerid,to_others,COLOR_RED,35.0,10000);
}
return 0;
}

 
Ez már 100% hogy jó az előzőnél lemaradt másoláskor a return és a } jelek
\"7f36ac13aa.jpg\"

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Admin szín
« Válasz #5 Dátum: 2015. március 22. - 19:50:49 »
0 Show voters
format(string,sizeof(string),\"%s {00FF00}[{FFD700}%d{00FF00}]:{FFFFFF} %s \", nev, playerid, text);
helyett
format(string,sizeof(string),\"%s {00FF00}[{FFD700}%d{00FF00}]:{%s} %s \", nev, playerid, text, APlayerData[playerid][PlayerLevel] >= 1?(FF0000):(FFFFFF));
FF0000 az az admin
FFFFFF az meg a sima játékos..

Admin szín
« Válasz #6 Dátum: 2015. március 25. - 19:35:02 »
0 Show voters
Idézetet írta: ƒlaﻛh date=1427045388\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"53421\" data-ipsquote-contentclass=\"forums_Topic
GetPlayerColor(playerid) helyett:
APlayerData[playerid][PlayerLevel] >= 1?(0xFF0000FF):(0xFFFFFFFF)
0xFF0000FF = adminszín
0xFFFFFFFF = playerszín
 
Ez remek, tetszik is egyszerű meg műkdöik is félig :D már csak annyi hiba van, hogyha a játékosnak nincs szintje nem írja ki a nevét :o
Ennyit módosítottam rajta:
 

#define COLOR_RED   \"FF0000\"
#define COLOR_WHITE \"FFFFFF\"
format(string,sizeof(string),\"%s {00FF00}[{1E90FF}%d{00FF00}]:{%s} %s\", nev, playerid, APlayerData[playerid][PlayerLevel] >= 1?(COLOR_RED):(COLOR_WHITE), text);

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Admin szín
« Válasz #7 Dátum: 2015. március 25. - 19:59:31 »
0 Show voters
Jó hogy nem írja ki a nevet mivel le se kérdezted.
format fölé:
GetPlayerName(playerid, nev, sizeof(nev));

Admin szín
« Válasz #8 Dátum: 2015. március 25. - 20:02:21 »
0 Show voters
Idézetet írta: ƒlaﻛh date=1427309971\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"53421\" data-ipsquote-contentclass=\"forums_Topic
Jó hogy nem írja ki a nevet mivel le se kérdezted.
format fölé:
GetPlayerName(playerid, nev, sizeof(nev));
 
Levan kérdezve felette volt

Dupla hozzászólás automatikusan összefûzve. ( 2015. március 26. - 20:14:31 )

Kössz mindent, megoldódott! :D :)
« Utoljára szerkesztve: 2015. március 26. - 20:14:31 írta MAcho »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal