Skocz do zawartości
[Rozwiązane] Zmiana tekstu wiadomości jeszcze podczas jej pisania
Pytania

Rekomendowane odpowiedzi

Zmiana tego, co jest wpisywane po naciśnięciu y/u? Jestem prawie pewien, że nie można czegoś takiego zrobić

Sygnatura użytkownika

Użytkowniku! Pamiętaj, że nic tak nie motywuje jak porządna łapka w górę!

Nie mówię tylko o sobie - honoruj każdego, kto na to zasługuje 🙂

YouTube | SteamGitHub | MailboxGO | AchievementsGO | MuteGO

Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, SUPER TIMOR napisał:

Wydaje mi się, że można za pomocą extensionów, ale jak konkretnie.. nie wiem. To gdybanie

Chat procesorem można takie coś zmieniać o ile się nie mylę 

Sygnatura użytkownika

__________________________________________________________________________________________________________________________________________________________________________
【 Deathrun    |    Deathrun Sklep    |    Deathrun VIP    |    Deathrun AutoRespawn    |    Jackpot    |    Losowy VIP    |    Modele  |   NoScope Detector    |    C4 Timer 
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Edit: Źle przeczytałem. Nie ma możliwości zmiany tekstu przed jego wysłaniem. Za to możesz zrobić tak, aby wiadomość, którą napisał gracz zmienić na inną, a oryginalna nigdy się nie pojawiła.

 

Oczywiście jest to wykonalne, w końcu na tym bazują wszystkie pluginy do tagów i kolorów na czacie. Najlepiej użyć do tego jakiegoś chat processora np. https://github.com/Drixevel/Chat-Processor

 

Przykładowe wykonanie dla powyższego procesora:

 

public Action CP_OnChatMessage(int& author, ArrayList recipients, char[] flagstring, char[] name, char[] message, bool & processcolors, bool & removecolors)
{
    Format(message, MAXLENGTH_MESSAGE, "Nowa wiadomosc");
    return Plugin_Changed;
}

 

 

Edytowane przez Master

Sygnatura użytkownika

#include <go-code>

#pragma semicolon 1
#pragma newdecls required

public void OnPluginStart()
{
    RegConsoleCmd("sm_help", CMD_Help);
}

public Action CMD_Help(int client, int args)
{
    PrintToChat(client, "Pomogłem? Daj łapkę w górę :)");
    return Plugin_Handled;
}

 

  • Lubię to!
Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie jestem pewien, ale jeśli z zewnątrz jesteśmy w stanie zmienić to coś, to może jakimś rozszerzeniem jesteśmy w stanie wywołać taką zmianę u klienta jako serwer. To tylko gdybanie 😛 ale dość ciekawy temat, gdyby spojrzeć w jaki sposób taki program działa od środka, to może by się coś rozjaśniło.

Odnośnik do odpowiedzi
Udostępnij na innych stronach
10 godzin temu, SUPER TIMOR napisał:

Nie jestem pewien, ale jeśli z zewnątrz jesteśmy w stanie zmienić to coś, to może jakimś rozszerzeniem jesteśmy w stanie wywołać taką zmianę u klienta jako serwer. To tylko gdybanie 😛 ale dość ciekawy temat, gdyby spojrzeć w jaki sposób taki program działa od środka, to może by się coś rozjaśniło.

szybko CI odpowiem

nie możesz zmienić na serwerze nic co ma klient, jedyne opcje to pobranie (co jest limitowane przez valve jakie pliki gdzie możesz pobrać)
kiedyś (jakieś 5 lat temu [jezu jaki ja stary]), próbowano zmieniać teksty za pomocą language packów. jak widać nie zadziałało.

podsumowując -> serwer nie ma dostępu do plików klienta, na serwerze możesz robić tylko serwerowe sztuczki, wszystko co robisz na serwerze to przez to że csgo udostępnia Ci takie "API" do zmiany tych parametrów. Tak samo klient nie może grzebać na serwerze. Dzięki temu może być synchronizacja gdzie w przypadku csa, serwer ma racje (obrażenia itd). dlatego jak piszesz czasem plugin to widzisz obrażenie u gracza, a ich nie ma. W tych przypadkach gracz przewiduje działanie pewnych zachować np strzał w przeciwnika, a serwer to blokuje (nie zadaje obrażeń) dlatego do wszystkich graczy jest rozsyłane że nie dostał obrażeń. 

 

Sygnatura użytkownika

@Mesharsky mym Bogiem ❤️

 

Masha-i-niedźwiedź-Bajka-1140x641.jpg

  • Lubię to!
Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, mastah7991 napisał:

szybko CI odpowiem

nie możesz zmienić na serwerze nic co ma klient, jedyne opcje to pobranie (co jest limitowane przez valve jakie pliki gdzie możesz pobrać)
kiedyś (jakieś 5 lat temu [jezu jaki ja stary]), próbowano zmieniać teksty za pomocą language packów. jak widać nie zadziałało.

podsumowując -> serwer nie ma dostępu do plików klienta, na serwerze możesz robić tylko serwerowe sztuczki, wszystko co robisz na serwerze to przez to że csgo udostępnia Ci takie "API" do zmiany tych parametrów. Tak samo klient nie może grzebać na serwerze. Dzięki temu może być synchronizacja gdzie w przypadku csa, serwer ma racje (obrażenia itd). dlatego jak piszesz czasem plugin to widzisz obrażenie u gracza, a ich nie ma. W tych przypadkach gracz przewiduje działanie pewnych zachować np strzał w przeciwnika, a serwer to blokuje (nie zadaje obrażeń) dlatego do wszystkich graczy jest rozsyłane że nie dostał obrażeń. 

 

Lepiej byś nie wytłumaczył

Love mastah

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 1 miesiąc temu...

Wiadomość wygenerowana automatycznie

 

Temat został zamknięty. Powodem jest całkowite rozwiązanie problemu zawartego w temacie.

 

Jeśli się z tym nie zgadzasz, zaraportuj ten post z prośbą o ponowne otwarcie i kontynuację dyskusji.

Sygnatura użytkownika

Hej! Pamiętaj uhonorować reputacją KAŻDEGO użytkownika który Ci pomógł! 👮‍♂️

 

Moje pluginy: Ultimate Weather | XiaolinMod | Knife Round | Storm Circle |  AutoBunnyHop | Remove Weapons RoundEnd
Moje artykuły: Przejrzysty kod | Optymalizacja warunków IF | Usuń martwy kod | Notacja węgierska | Co to backdoor? | Jak wgrać plugin? | Lokalna kompilacja | Licencja na plugin | Wektory | Nowa składnia sm | Funkcje czasowe | Spolszczenie pluginu

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ostatnio przeglądający ten temat (4 użytkowników)

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...