Skocz do zawartości
MAGNET

MailboxGO - System Skrzynek Pocztowych (In-Game)

Rekomendowane odpowiedzi

Właśnie skończyłem prace nad pierwszą odsłoną autorskiego pluginu. Z czasem na pewno pojawią się usprawnienia, takie jak chociażby cvary. Na tę  chwilę wypuszczam projekt, który nie pojawił się jeszcze na żadnym serwerze, dlatego liczę na Wasze wsparcie - pomoc w wyłapaniu ewentualnych błędów ?

 

Opis

Dodatek wprowadza na serwer możliwość zakładania przez admina (domyślnie flaga ROOT) "skrzynek pocztowych", na które gracze mogą wysyłać wiadomości. Pomysłów na wykorzystanie pluginu jest nieskończenie wiele - można ich używać, jako narzędzia do reportowania cheaterów, systemu ogłoszeń, informowania o konkursach i ich wynikach, specjalnej nagrody dla VIPa w postaci własnej skrzyneczki (jeśli macie jakieś ciekawe pomysły, podrzućcie je koniecznie w komentarzu!). Całość oparta jest na SQLite.

 

!mb - otwiera menu główne

 

20180811202458_1.thumb.jpg.797edf1c92dbc965db8ef23b31750bdc.jpg

 

Jak widać, admin ma duże pole do popisu, jeśli chodzi o konfigurację - może ustawić takie parametry, jak opis, hasło,  pojemność (max 50 wiadomości) a także rodzaj skrzynki:

Public - każdy może wysyłać na nią wiadomości

Limited - tylko VIPy mogą wysyłać wiadomości

Announcement - typowa skrzynka z ogłoszeniami, czyli każdy może odczytać jej zawartość, jednak dostęp do niej (pisanie itp.) ma tylko admin

 

Co ważne, zakładać boxy może tylko admin, jednak do przeglądania i zarządzania wystarczy jedynie znajomość hasła. Oznacza to, że taką skrzynkę można przekazać pod opiekę zwykłemu graczowi, czy innemu adminowi bez roota

 

Po zalogowaniu się na skrzynkę możemy przeglądać wiadomości, kasować je, a także zmieniać parametry skrzynki (opis, hasło). Root może również zobaczyć, jakie SteamID ma dany gracz

 

Zarówno zakładanie skrzynki, logowanie, jak i zmiana parametrów opiera się na wprowadzaniu tekstu do czatu - wszystko zrealizowane w intuicyjny sposób. Każda wiadomość posiada swój tytuł, oraz może składać się z max 5 linii po 50 znaków.

 

Cvary

będą ?

 

Dostępne tłumaczenia:

Angielski

 

Dostępne kolory: {default}, {darkred}, {purple}, {green}, {lightgreen}, {mediumgreen}, {lightred}, {lightpurple}, {yellow}, {greyblue}, {blue}, {violet}, {firered}

 

Instrukcja

Zawartość paczki wrzucić do kompilatora i...skompilować

 

Changelog

0.0.1 - Wypuszczenie pluginu

0.0.2:
- drobne poprawki
- dodano plik z translacją
- zmieniono lekko kolory z PrintToChat
- dodano tagi zamieniające kolory

 

Screeny

Spoiler

20180811202428_1.thumb.jpg.c5005c5ea834453dee5796843694d258.jpg

20180811202505_1.thumb.jpg.24ad1c02b0cec91467c41a3c70ddce75.jpg

20180811202515_1.thumb.jpg.aabfa7584eccb2ba920b04f28cf6efa9.jpg

20180811202805_1.thumb.jpg.ac4ee1fbef0019acead53354fad858c4.jpg

20180811202415_1.thumb.jpg.0444c17ca45a8182aa1b4fa3581f6792.jpg

 

Download

GitHub
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

lub

MailboxGO.zip
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeszcze mógłbyś pokazać na screenach jak wyglądają zwykłe wiadomości. 

 

Co do dodania to może napis w HUD (gdzieś w widocznym miejscu) lub na czacie, że gracz ma nową nieodczytaną wiadomość

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
7 godzin temu, VestSmart napisał:

Jeszcze mógłbyś pokazać na screenach jak wyglądają zwykłe wiadomości. 

 

Co do dodania to może napis w HUD (gdzieś w widocznym miejscu) lub na czacie, że gracz ma nową nieodczytaną wiadomość

Podziału na odczytane i nieodczytane jako takiego nie ma, natomiast kiedy gracz jest na daną skrzynkę zalogowany otrzymuje powiadomienie na czacie o nowej wiadomości

 

Screena dodałem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ciekawy dodatek, aż wrzucę do siebie i potestuje.

 

Nie lepiej to wrzucic gdzies na gore

 

#include <MailboxGO/MailboxGO_SQLConnect.sp>
#include <MailboxGO/MailboxGO_SQLLoadData.sp>
#include <MailboxGO/MailboxGO_Menu.sp>
#include <MailboxGO/MailboxGO_CreatingNewMailbox.sp>
#include <MailboxGO/MailboxGO_CreatingNewMessage.sp>
#include <MailboxGO/MailboxGO_ChangingMailboxData.sp>
#include <MailboxGO/MailboxGO_Logging.sp>
#include <MailboxGO/MailboxGO_Deleting.sp>
#include <MailboxGO/MailboxGO_ConVar.sp>

 

Edytowane przez szogun
Przez MAGNET,

To zależy od konwencji. Mi się bardziej podoba w taki sposób, żeby oddzielić include'y domyślne od samego pluginu. 'Lepiej' na pewno nie będzie :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Chyba coś nie tak do końca powinno być

// MailboxGO.sp(11) : warning 204: symbol is assigned a value that is never used

: "MaxAmountOfMailboxes"
// MailboxGO.sp(10) : warning 204: symbol is assigned a value that is never used

 

Edytowane przez szogun
Przez MAGNET,

To tylko zaczątek tworzenia cvarów. Dwa warningi, nie przejmuj sie tym ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@szogun najlepsza konwencja jest zalaczanie bibliotek standarowych, potem bibliotek zewnetrznych a na samym koncu kodu wlasnego.

Dobrze takze aby te "segmenty" byly odzielone nowa linija by widac bylo gdzie dany "segment" sie rozpoczyna.

Co do output'u ktory dales to tylko informacja ze dana zmienna ma deklaracje ale nigdzie nie jest uzywana (dobra praktyka jest aby takie komunikaty nie pokazywaly sie, ale nie zawsze da sie to zrobic w sourcepawnie)

 

@MAGNET odpowiedzi na temat watku dawal bym w nowych postach, notki bym zostawil do spraw czysto administracyjnych takich jak ostrzezenia itp. ?

Wrzuc kod na jakiegos git'a (np. github lub gitlab).

Rar powinnien byc zakazany na forum bo to ZLO.

Edytowane przez plx211

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jestem u dziewczyny a ona nie ma zadnego winrar'a wiec nie widzialem kodu.

Pomysl nad dodaniem powiadomien przez email, steam chat, irc, itp. aby admin nie musial wchodzic na server by odczytac zgloszenie (rozumiem ze do tego to ma sluzyc)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 @plx211 ciekawa idea, zastanowie sie nad tym. Założenie jest takie, że admin, wchodząc na serwer i logując się na skrzynki, może przeglądać ich zawartość i odczytywać wiadomości. Na te chwile nie ma żadnego systemu powiadomień o nieprzeczytanych wiadomościach - jedynie w momencie, kiedy właściciel skrzynki jest na serwerze, zostaje do niego wysłana informacja, jeżeli w tym samym czasie ktoś wysłał wiadomość.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ja bym to sobie przerobił że jeżeli jest nowa wiadomość czy coś to wtedy wyświetla się hud gdzieś w rogu: Masz x nieprzeczytanych wiadomości 

:d

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

tylko że wtedy trzeba by było powiązywać skrzynki z graczami, a to już generuje nakład pamięciowy. Chyba, że taka wiadomość miałaby być wyświetlana dopiero po zalogowaniu się. Samą kwestię "przeczytane/nieprzeczytane" będę musiał przemyśleć

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wersja 0.0.2:

0.0.1 - Wypuszczenie pluginu

0.0.2:
- drobne poprawki
- dodano plik z translacją
- zmieniono lekko kolory z PrintToChat
- dodano tagi zamieniające kolory

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Głupie pytanie ale robie moj pierwszy serwer i mam pytanie czy ten plugin działa jakoś na lokalnym sqlite czy muszę dodać coś do databases.cfg? Bo nie wyrzuca żadnego błędu pomimo ze nie dodałem żadnej bazy danych. Wiadomości które zapisałem sam dla siebie w skrzynkach też trzyma.
 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak, plugin powinien działać od razu po wrzuceniu na serwer

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Napisano (edytowane)

Wszystko działa, po prostu wydawało mi się ze nie dochodzą wiadomości od graczy. // Sprawdziłem i działają! :))) 

Nie mogę skompilować sam pluginu bo bije błędami, co prawda chyba nieszkodliwymi ale użytkuje Twoją skompilowaną wersję:

// C:\Users\Admin\Desktop\SERWER\Paczka\csgo\addons\sourcemod\scripting\include\MailboxGO/MailboxGO_SQLLoadData.sp(80) : error 088: cannot return a value from a void function
// C:\Users\Admin\Desktop\SERWER\Paczka\csgo\addons\sourcemod\scripting\MailboxGO.sp(11) : warning 204: symbol is assigned a value that is never used: "MaxAmountOfMailboxes"
// C:\Users\Admin\Desktop\SERWER\Paczka\csgo\addons\sourcemod\scripting\MailboxGO.sp(10) : warning 204: symbol is assigned a value that is never used: "MaxMailboxCapacity"

Gorzej bo w nocy wyrzuca błędy serwer:

 04/13/2020 - 04:55:11: [SM] Exception reported: Invalid client index 0
L 04/13/2020 - 04:55:11: [SM] Blaming: MailboxGO.smx
L 04/13/2020 - 04:55:11: [SM] Call stack trace:
L 04/13/2020 - 04:55:11: [SM]   [0] ThrowError
L 04/13/2020 - 04:55:11: [SM]   [1] Line 65, D:\Users\Adminek\Desktop\Piaskownica\include\colors.inc::CPrintToChat
L 04/13/2020 - 04:55:11: [SM]   [2] Line 13, D:\Users\Adminek\Desktop\Piaskownica\include\MailboxGO/MailboxGO_GoPrint.sp::GoPrint
L 04/13/2020 - 04:55:11: [SM]   [3] Line 31, D:\Users\Adminek\Desktop\Piaskownica\include\MailboxGO/MailboxGO_CreatingNewMailbox.sp::ProcessChatIfCreatingNewMailbox

To tylko tak informacyjnie bo sam plugin wydaje się że działa.
Miłego!

Edytowane przez MiloV

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...