Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

ADMINCHAT - Dodatkowe TAGI


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
8 odpowiedzi w tym temacie

#1 ::Gogiel::

    Zaawansowany

  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:77
  • GG:
  • Imię:Hm... xD Patryk xD
  • Lokalizacja:Bydgoszcz
Offline

Napisano 19.05.2012 23:14

Witam,

Męcze się już z tym któryś dzień z rzędu,

I już nie wiem co zrobić aby to było w 100% poprawnie.

JAk udąło mi się ustawić, ze przy odpowiednich flagach wyświetlała się tylko NAJWYŻSZA ranga to widzieli to wszyscy nawet zwykli gracze, czyli zgłoszenia o cziterach były bez sensu !!

Teraz jak ktoś ma kilka flag to pisze

ADMIN
HEAD ADMIN
GRACZ

A chce aby wyświetlało tylko jedą najwyższą rangę !!

I nie chcę admin_chat_tags !!!!!!!!

Bo to nie o to chodzi !!

Oto jedyna częśc jaka jest ZMIENIONA W CAŁYM PLUGINIE !!

public cmdSayAdmin(id)
{
new said[2]
read_argv(1, said, 1)

if (said[0] != '@')
return PLUGIN_CONTINUE

new message[192], name[32], authid[32], userid
new players[32], inum
new HEADADMIN = (ADMIN_IMMUNITY | ADMIN_RESERVATION | ADMIN_KICK)
new ADMIN = (ADMIN_CHAT)
new VIP = (ADMIN_LEVEL_H)

read_args(message, 191)
remove_quotes(message)
get_user_authid(id, authid, 31)
get_user_name(id, name, 31)
userid = get_user_userid(id)

log_amx("Chat: ^"%s<%d><%s><>^" chat ^"%s^"", name, userid, authid, message[1])
log_message("^"%s<%d><%s><>^" triggered ^"amx_chat^" (text ^"%s^")", name, userid, authid, message[1])

if((get_user_flags(id) & HEADADMIN) == HEADADMIN)
ColorChat(id, GREEN, "(%s)^x03 %s^x01 : %s", "HEAD ADMIN", name, message[1])
else if((get_user_flags(id) & ADMIN) == ADMIN)
ColorChat(id, GREEN, "(%s)^x03 %s^x01 : %s", "ADMINISTRATOR", name, message[1])
else if((get_user_flags(id) & VIP) == VIP)
ColorChat(id, GREEN, "(%s)^x03 %s^x01 : %s", "VIP", name, message[1])
else
ColorChat(id, GREEN, "(%s)^x03 %s^x01 : %s", "GRACZ", name, message[1])
get_players(players, inum)

for (new i = 0; i < inum; ++i)
{
if((get_user_flags(id) & ADMIN) == ADMIN && get_user_flags(players[i]))
ColorChat(players[i], GREEN, "(%s)^x03 %s^x01 : %s", is_user_admin(id) ? "ADMINISTRATOR" : "GRACZ", name, message[1])
else if((get_user_flags(id) & VIP) == VIP && get_user_flags(players[i]))
ColorChat(players[i], GREEN, "(%s)^x03 %s^x01 : %s", is_user_admin(id) ? "VIP" : "GRACZ", name, message[1])
else if((get_user_flags(id) & HEADADMIN) == HEADADMIN && get_user_flags(players[i]))
ColorChat(players[i], GREEN, "(%s)^x03 %s^x01 : %s", is_user_admin(id) ? "HEAD ADMIN" : "GRACZ", name, message[1])
}

return PLUGIN_HANDLED
}


I teraz proszę jeżeli ktoś będzie chciał pomóc o jeszcze jeno gdzie tu dodać dźwięk aby odtwarzało adminom jak napisze jakiś gracz :)

Jak pomożesz to napisz co trzeba było zmienić ewentualnie odeślij do jakiegoś tematu związanego z zmianami jakie wprowadziłeś lub do dokumentacji :)

Z góry wielkie dzięki :)
  • +
  • -
  • 0
Dołączona grafika
Dołączona grafika
Dołączona grafika
SERWER SA:MP 194.28.50.14:25064
Zapraszamy Do Gry http://cs-pobojowisko.eu

#2 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 20.05.2012 05:01

Jeszcze raz sobie wytłumaczmy co chcesz osiągnąć, bo napisałeś to tak pokrętnie, że...

Jak widzę plugin admin color chat, a raczej jego fragment. Domyślam się więc, że chcesz, żeby w nawiasie po nicku gracza wyświetlało się kim jest ten gracz, czyli czy adminem, czy H@, czy VIPem. Dobrze Cię zrozumiałem?

Patrząc na Twój kod, pokręciłeś strasznie... :D Zaraz to naprostuję, a raczej zacznę od początku. Za bazę biorę plugin std_admin_color_chat, bo nie wiem z jakiego korzystałeś (a jest ich trochę). Plugin ten umieszczasz przed adminchat, a sam adminchat zostawiasz włączony. Zmieniamy w nim funkcję SendAdminMessage + dopisujemy na samej górze makra AMX_CHAT_PLAYER_SUFFIX (to makro chyba istnieje, bazuję na wersji w której mogłem je utworzyć, ale głowy nie daję ;) ), AMX_CHAT_HEADADMIN_SUFFIX, AMX_CHAT_VIP_SUFFIX. Makra te umieszczamy zaraz po AMX_CHAT_SUFFIX i wypełniamy podobną zawartością, zmieniając jedynie tekst na taki, jak nam się podoba ;)

Teraz modyfikacja funkcji, właściwie to ruszona jest jedna linia, ale wrzucam całą:
SendAdminMessage(sMessage[], iSenderID)
{
// The message that is going to be sent. ^x04 is green color
new sRealMessage[MAX_MESSAGE_SIZE] = AMX_CHAT_PREFIX

// Get the username of the sender
new sUser[MAX_MESSAGE_SIZE]
get_user_name(iSenderID, sUser, MAX_MESSAGE_SIZE - 1)

// Add user, "user friendly text" and the message to the message we are going to send
add(sRealMessage, MAX_MESSAGE_SIZE, sUser)
add(sRealMessage, MAX_MESSAGE_SIZE, (get_user_flags(iSenderID) & ADMIN_CHAT)?(get_user_flags(iSenderID) & HEADADMIN)?AMX_CHAT_HEADADMIN_SUFFIX:AMX_CHAT_SUFFIX):(get_user_flags(iSenderID) & VIP)?AMX_CHAT_VIP_SUFFIX:AMX_CHAT_PLAYER_SUFFIX))
add( sRealMessage, MAX_MESSAGE_SIZE, (sMessage), (MAX_MESSAGE_SIZE-strlen(sRealMessage)-1) )

// Get the steamid for the sake of logging
new sSendSteamID[MAX_MESSAGE_SIZE]
get_user_authid(iSenderID, sSendSteamID, MAX_MESSAGE_SIZE-1)

// Get all current players
new nCurPlayers
new iArrCurPlayers[32]
get_players(iArrCurPlayers, nCurPlayers, "c")

// Log the message
log_amx("ADMINS amx_chat, From: ^"%s<%d><%s><>^" Message: ^"%s^"", sUser, iSenderID, sSendSteamID, sMessage)
log_message("^"%s<%d><%s><>^" triggered ^"amx_chat^" (text ^"%s^")",sUser, iSenderID, sSendSteamID, sMessage)

// For every player
for (new iID = 0; iID < nCurPlayers; iID++)
if ( get_user_flags(iArrCurPlayers[iID]) & ADMIN_CHAT ) {// If the player is an admin
SendMessage(sRealMessage, iArrCurPlayers[iID]) // Send the message to the player(admin)
// Tutaj wstawiasz preferowany dźwięk, np komendą client_cmd(iArrCurPlayers[iID], "spk dźwięk");
}
}

Oczywiście makra na flagi (prócz tej na admina) również musisz wstawić do kodu :) Wstawiłem też komentarz w miejscu, gdzie możesz umieścić dźwięk do wywołania gdy ktokolwiek pisze w czacie admina. Aby był odtwarzany tylko dla graczy (włącznie z VIPami bez admina) poprzedź go linią:
if(!(get_user_flags(iSenderID) & ADMIN_CHAT))


W załączniku ORYGINALNY (nie zmodyfikowany, może tak :P bo fixnąłem w nim wyświetlanie admin/gracz + spolszczyłem to, ale i tak tą linię zmieniasz) plik std_admin_color_chat.sma, więc musisz go sobie zmodyfikować!!

Załączony plik  std_admin_color_chat.sma   14,23 KB  30 Ilość pobrań
  std_admin_color_chat.amxx

Swoją drogą, dobry pomysł mi podrzuciłeś z tym dźwiękiem jak ktoś w admin chacie pisze ;)
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#3 ::Gogiel::

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:77
  • GG:
  • Imię:Hm... xD Patryk xD
  • Lokalizacja:Bydgoszcz
Offline

Napisano 20.05.2012 15:18

Znaczy teraz to jest ustawione poprawnie tylko wyświetla mi 2 razy HEad Admin a reszcie normalnie Head admin :D :)

Co do korzystania :)

Lubię zaskakiwać bo sam próbowałem to wykminić bez korzystania z czegokolwiek, dlatego tak to wyszło :D

A podstawą podstawy jest adminchat.sma :)

Więc nie wiem jak zastosowac to co podałeś :)

Moze trochę niezrozumiale napisałem ale nie chcę żadnego dodatkowego pluginu chcę zmodyfikowąc istniejący oryginalnei adminchat :)
  • +
  • -
  • 0
Dołączona grafika
Dołączona grafika
Dołączona grafika
SERWER SA:MP 194.28.50.14:25064
Zapraszamy Do Gry http://cs-pobojowisko.eu

#4 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 20.05.2012 16:18

linię:
add(sRealMessage, MAX_MESSAGE_SIZE, (get_user_flags(iSenderID) & ADMIN_CHAT)?(get_user_flags(iSenderID) & HEADADMIN)?AMX_CHAT_HEADADMIN_SUFFIX:AMX_CHAT_SUFFIX):(get_user_flags(iSenderID) & VIP)?AMX_CHAT_VIP_SUFFIX:AMX_CHAT_PLAYER_SUFFIX))

zamień na:
add(sRealMessage, MAX_MESSAGE_SIZE, (get_user_flags(iSenderID) & ADMIN_CHAT)?((get_user_flags(iSenderID) & HEADADMIN)?AMX_CHAT_HEADADMIN_SUFFIX:AMX_CHAT_SUFFIX):((get_user_flags(iSenderID) & VIP)?AMX_CHAT_VIP_SUFFIX:AMX_CHAT_PLAYER_SUFFIX))

bo się z nawiasami machnąłem :)
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#5 ::Gogiel::

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:77
  • GG:
  • Imię:Hm... xD Patryk xD
  • Lokalizacja:Bydgoszcz
Offline

Napisano 20.05.2012 16:30

Gwynbleid mi chodiz o to że jak standardowo w adminchat jest admin iplayer to ja chcę dodać vip i head amin tylko jakoś nie wychodzi i nie wiem jak to poprawić zeby pokazywało tylko raz wiadomość z tagiem z przodu i zeby nie widzieli tego gracze

Nad tym plikiem się męczę Załączony plik  adminchat3.sma   10,58 KB  36 Ilość pobrań
  adminchat3.amxx

I nie wiem nie wiem jak to zrobić już tyle wymyślałem ze stoję w miejscu i tylko nei tka już było tak też a nie wiem jak zrobić to poprawnie :)

Użytkownik ::Gogiel:: edytował ten post 20.05.2012 16:45

  • +
  • -
  • 0
Dołączona grafika
Dołączona grafika
Dołączona grafika
SERWER SA:MP 194.28.50.14:25064
Zapraszamy Do Gry http://cs-pobojowisko.eu

#6 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 20.05.2012 19:43

Przecież podałem Ci gotowe rozwiązanie, co w nim nie tak?
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#7 ::Gogiel::

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:77
  • GG:
  • Imię:Hm... xD Patryk xD
  • Lokalizacja:Bydgoszcz
Offline

Napisano 20.05.2012 20:33

Tak tylko dopasowanie tego co podałeś do standardowego adminchatu dodaje więcej kombinowania noiż to jest wartę bo teraz co chwilę jakieś errory z brakami ...

A przekopiować cąły plugin to nie jest rozwiązanie...
  • +
  • -
  • 0
Dołączona grafika
Dołączona grafika
Dołączona grafika
SERWER SA:MP 194.28.50.14:25064
Zapraszamy Do Gry http://cs-pobojowisko.eu

#8 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 28.05.2012 14:51

Plugin ten umieszczasz przed standardowym admin chatem, aby zajął się tylko i wyłącznie tymi komendami, a admin chat resztą.

Użytkownik GwynBleidD edytował ten post 28.05.2012 14:52

  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#9 ::Gogiel::

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:77
  • GG:
  • Imię:Hm... xD Patryk xD
  • Lokalizacja:Bydgoszcz
Offline

Napisano 08.06.2012 21:48

Hym No spróbuję jak będe miał wolną chwilkę :D
Bo teraz grzebię coś pod diablo i BF mody a nie wiem dokładniej co chcę osiągnąć :D

Ale masz rację namiesząłem strasznie :D
  • +
  • -
  • 0
Dołączona grafika
Dołączona grafika
Dołączona grafika
SERWER SA:MP 194.28.50.14:25064
Zapraszamy Do Gry http://cs-pobojowisko.eu




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych