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

Prefix przed nickiem

prefix say say_team czat

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

#1 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 15.11.2011 23:25

*
Popularny

W plugin_init

register_message(get_user_msgid("SayText"),"handleSayText");

potem w dowolnym miejscu w pluginie

 

Kod Po Aktualizacji ( Kod od użytkownika _McHappy )

public handleSayText(msgId,msgDest,msgEnt){	

    new id = get_msg_arg_int(1);
    
    if(!is_user_connected(id))      return PLUGIN_CONTINUE;
    
    new szTmp[192], szTmp2[192];
    get_msg_arg_string(2, szTmp, charsmax(szTmp));
    
    new szPrefix[64] = "^x04[Nasz Prefix]";
    
    if(!equal(szTmp,"#Cstrike_Chat_All")){
        add(szTmp2, charsmax(szTmp2), "^x01");
        add(szTmp2, charsmax(szTmp2), szPrefix);
        add(szTmp2, charsmax(szTmp2), " ");
        add(szTmp2, charsmax(szTmp2), szTmp);
    }
    else{
        new szPlayerName[64];
        get_user_name(id, szPlayerName, charsmax(szPlayerName));
        
        get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości
        set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków.
    
        add(szTmp2, charsmax(szTmp2), "^x01");
        add(szTmp2, charsmax(szTmp2), szPrefix);
        add(szTmp2, charsmax(szTmp2), "^x03 ");
        add(szTmp2, charsmax(szTmp2), szPlayerName);
        add(szTmp2, charsmax(szTmp2), "^x01 :  ");
        add(szTmp2, charsmax(szTmp2), szTmp)
    }
    
    set_msg_arg_string(2, szTmp2);
    
    return PLUGIN_CONTINUE;
}

Kod Przed Aktualizacją

public handleSayText(msgId,msgDest,msgEnt){

	new id = get_msg_arg_int(1);

	if(!is_user_connected(id))	return PLUGIN_CONTINUE;

	new szTmp[256],szTmp2[256];

	get_msg_arg_string(2,szTmp, charsmax( szTmp ) )

	new szPrefix[64] = "[Nasz Prefix]";

	if(!equal(szTmp,"#Cstrike_Chat_All")){

		add(szTmp2,charsmax(szTmp2),szPrefix);

		add(szTmp2,charsmax(szTmp2)," ");

		add(szTmp2,charsmax(szTmp2),szTmp);

	}

	else{

		add(szTmp2,charsmax(szTmp2),szPrefix);

		add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 :  %s2");

	}

	set_msg_arg_string(2,szTmp2);

	return PLUGIN_CONTINUE;

}

tutaj ustalamy nasz prefix

new szPrefix[64] = "[Nasz Prefix]";

w zmiennej id mamy id gracza który wysłał wiadomość

 

https://amxx.pl/topi...o-aktualizacji/


  • +
  • -
  • 28

#2 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 16.11.2011 14:23

:wstyd: fajne
  • +
  • -
  • 0

#3 Muzzi

    Guru

  • Przyjaciel

Reputacja: 228
Wszechwidzący

  • Postów:772
  • Lokalizacja:Kraków
Offline

Napisano 16.11.2011 15:56

Proste a zarazem śmieszne, nice ;D
  • +
  • -
  • 0

#4 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 27.11.2011 00:40

Działa ale wyświetla wszystko na żółto a wydaje mi się że powinno wyświetlać tak:
Prefix-na zielono
nick- zależny od teamu
- i treść

Proszę o poprawę
  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#5 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 27.11.2011 00:58

No jak ktoś jest na tyle niemądry, żeby nie widzieć, że w zmiennej "szPrefix" może dodać co chce, czyli także chociażby ^4 (wtedy wszystko za ^4 będzie na zielono), to już nie jest niczyja wina...
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#6 Dmk880

    Początkujący

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:13
  • Steam:steam
  • Lokalizacja:Toruń
Offline

Napisano 27.11.2011 08:56

Ekhem, mam podobną funkcję na to i jest mały ukryty błąd :)

Jeżeli na serwerze mamy różne komendy które wpisuje się na say to przestają one działać np. gdy gracz z takim prefiksem wpisze na say /kup to nic się nie stanie.
  • +
  • -
  • 0

#7 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 27.11.2011 10:50

Tu ten błąd jest naprawiony ponieważ ta funkcja nie podmienia wiadomości całkowicie tylko ją przechwytuje, edytuje i tyle ;P

@ Sebul
wydaje mi się że widzę tu ^x03 więc prefix powinien być drużyny a nie żółty.
:
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");

Może tak ;P. Dajcie mi to żeby prefix był na zielono nick na team kolor a zawartość na żółto, proszę ;d

@@ DOWN
Już sobie poradziłem właśnie tak jak napisałeś ;P Ale + za chęci

Użytkownik Jak się nazwać edytował ten post 27.11.2011 11:24

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#8 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 27.11.2011 11:09

Tu ten błąd jest naprawiony ponieważ ta funkcja nie podmienia wiadomości całkowicie tylko ją przechwytuje, edytuje i tyle ;P

@ Sebul
wydaje mi się że widzę tu ^x03 więc prefix powinien być drużyny a nie żółty.
:
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");

Może tak ;P. Dajcie mi to żeby prefix był na zielono nick na team kolor a zawartość na żółto, proszę ;d

:facepalm:
Kolor prefixu zmieniasz tutaj
new szPrefix[64] = "[Nasz Prefix]";

a dokładniej tutaj
"[Nasz Prefix]"

Czyli dajesz przed [Nasz Prefix] taki kod ^4 i masz zielony prefix. I poczytaj może co daje funkcja add add.

Ekhem, mam podobną funkcję na to i jest mały ukryty błąd :)

Jeżeli na serwerze mamy różne komendy które wpisuje się na say to przestają one działać np. gdy gracz z takim prefiksem wpisze na say /kup to nic się nie stanie.

Nie wydaje mi się, że masz podobną funkcję, bo ta jest całkowicie inne od tych innych co krążą po necie.
  • +
  • -
  • 2

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#9 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 27.11.2011 13:00

Jeżeli na serwerze mamy różne komendy które wpisuje się na say to przestają one działać np. gdy gracz z takim prefiksem wpisze na say /kup to nic się nie stanie.

nie
  • +
  • -
  • 0

#10 Cherry

    Pomocny

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:57
  • Lokalizacja:Janów
Offline

Napisano 27.11.2011 19:20

Może ktoś podać screena z wyglądem tego pluginu wgranego na serwer?:)
  • +
  • -
  • 0

#11 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 27.11.2011 23:35

to jest funkcja do użycia w pluginie a nie plugin
przykład użycia tego
http://steamcommunit...6583520053945/?
  • +
  • -
  • 1

#12 Najkon

    Profesjonalista

  • Użytkownik

Reputacja: 60
Pomocny

  • Postów:161
Offline

Napisano 28.11.2011 18:42

DarkGL, widze że w prefixie pobrałeś nawe klasy. Mógłbyś mi powiedzieć jak ? :>

Bo chce pobrać
rangi[level[id]]
a nie wiem jak :<
  • +
  • -
  • 0

#13 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 28.11.2011 18:47

załóż nowy temat ;)
  • +
  • -
  • 0

#14 Kukol

    Zaawansowany

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 04.12.2011 17:29

DarkGL, widze że w prefixie pobrałeś nawe klasy. Mógłbyś mi powiedzieć jak ? :>

Bo chce pobrać

rangi[level[id]]
a nie wiem jak :<



new szPrefix[64];
format(szPrefix, charsmax(szPrefix), "%s", rangi[level[id]]);


@Topic

Czy dzięki temu nie będą się bugować inne komendy?

#15 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 04.12.2011 18:18

nie nie będą
  • +
  • -
  • 1

#16 RX-8

    Życzliwy

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:28
  • GG:
  • Imię:Patryk
  • Lokalizacja:Ok. Koniecpola
Offline

Napisano 04.12.2011 18:48

dobra rzecz, naprawdę przyda się na święta, można wpisać "Wesolych Swiat zyczy"
naprawdę mi się podoba :)
  • +
  • -
  • 0

#17 Kukol

    Zaawansowany

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:113
  • Lokalizacja:Katowice
Offline

Napisano 04.12.2011 22:24

Da się coś zrobić, by było mniej odstępów między nickiem, prefixem a tekstem? Oraz prefix na inny kolor?

Bo tak lipa, wszystko żółte. ;/

Użytkownik Kukol edytował ten post 04.12.2011 22:25


#18 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 05.12.2011 00:01

do kolorowania używaj znaków ^x01 ^x03 ^x04
  • +
  • -
  • 1

#19 fbang

    Wszechwidzący

  • Użytkownik

Reputacja: 82
Zaawansowany

  • Postów:237
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 05.12.2011 00:05

Może ktoś przerobić
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);

if(!is_user_connected(id)) return PLUGIN_CONTINUE;

new szTmp[256],szTmp2[256];
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )

new szPrefix[64];
format(szPrefix, charsmax(szPrefix), "%s", nazwy_klas[klasa_gracza[id]]);

if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");


}

set_msg_arg_string(2,szTmp2);

return PLUGIN_CONTINUE;
}

żeby prefix był na zielono, nick na colorteam, a tekst na zwykly kolor?
+++
/edit
pardon

Użytkownik metfiu edytował ten post 05.12.2011 00:16

  • +
  • -
  • 0

#20 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 05.12.2011 00:15

załóż nowy temat
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: prefix, say, say_team, czat

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

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