Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.


Wysłany: 2021-01-25, 21:44


critical99







Wiek: 21
Na forum: 3348 dni
Posty: 85

Piwa: 185

Respekt: 115,3
Respekt: 115,3


Witam.

W dniu dzisiejszym udostępniam Gamemode Project Maroon, działający w latach 2018-2020 na Polskim Serwerze Imprezy (prowadzonym przez moją osobę). W latach 2019-2020 był przepisywany na nowo (m.in. nowy plugin do MySQL), lecz nie cieszył się już dużym zainteresowaniem. Serwer zamknięto w lipcu 2020 roku, a kilka miesięcy później przywrócono do działania "oryginalny" serwer (prowadzony przez Bloodhackera). Od tego momentu gamemode zalega mi na dysku. Myślę, że może on się przydać osobom chcącym jeszcze cokolwiek działać przy SA-MP - czy to jako podstawa do serwera, czy też do "wycinania" niektórych elementów.

Gamemode zawiera wszystkie elementy typowego serwera DM, wyróżnia się również kilkoma własnymi rozwiązaniami. Jest praktycznie w całości dwujęzyczny. Po dokonaniu niezbędnych poprawek można go nawet wykorzystać do stworzenia publicznego serwera.

Skrypt nie różni się praktycznie niczym od wersji, jaka była używana do samego zamknięcia serwera, za wyjątkiem rozpoczętego systemu skrzynek oraz skinów na bronie.

Do skryptu dołączam kompletną strukturę bazy danych - wystarczy zaimportować na serwer MySQL i podłączyć do serwera (modules/mysql/connection.inc).

W celu nadania sobie rangi CEO (najwyższa ranga), należy zmienić wartość w kolumnie rank na 3.
Konto mające userid 0 (pierwsze w bazie) oraz posiadające poziom rangi 3, może skorzystać z panelu dostępnego pod komendą /debug.

Gamemode polecam kompilować za pomocą dołączonego skryptu build.bat. Należy w nim edytować ścieżkę do naszych plików .pwn.

Jako, iż ostatni raz zajmowałem się tym skryptem w lipcu 2020 roku oraz z powodu ograniczonego czasu - nie będę w stanie pomóc ze wszystkimi problemami występującymi przy próbie użytkowania tego skryptu.

Poniżej udostępniam kilka zrzutów ekranu, przedstawiających działanie gamemode na czystej strukturze bazy danych:









Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.


Ostatnio zmieniony przez critical99 2021-02-20, 13:17, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 29 piw(a):
Lion3, pseudolconfirme, Simkowy_321, Nothick, ziBBo, robokop500, czesix, klimber013, Hussar, Vanya, pawner.samp, oiuy, mrx3667, essingxd123, Bluebyte, ziomek9781, Dawidoskyyy, perczi, WWilk1, Hunter2019, salvatore, sfd, noth_, Spejson777, Combacior, Kadzidełko, Opelek, Ziemniaqu, Steez
Wysłany: 2021-01-26, 17:35


mrx3667

mrdrifter






Wiek: 24
Na forum: 2617 dni
Posty: 148
Nick w MP: mrdrifter

Piwa: 342

Respekt: 377,8
Respekt: 377,8Respekt: 377,8Respekt: 377,8Respekt: 377,8


Z nudów pobrałem gamemode by sobie zobaczyć kod;
Z początku mówię fajnie widze że gamemode podzielone na moduły będzie wszystko czytelne (osoby plik funkcje gracza, osoby gangów itp) ale co to tam zobaczyłem wybrało mi mózg


Sam na początku przesadzałem (według mnie) z ilością plików ale tutaj nie wiem co autor miał na celu......
Mówię OK dobra i tak zerknę na kod więc otwieram pierwszy plik, drugi plik, trzeci, czwarty i w każdym po jednej funkcji po tym zwątpiłem
Zresztą zobaczcie sami:


Do estetyki kodu się nie będę przypieprzał bo każdy piszę jak mu wygodniej ale czy ten kod nie wyglądał by dużo czytelniej?


Nie wiem chyba ze nadmiar plików został zrekompensowany brakiem enterów przed klamrami?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-02-20, 12:16


Combacior







Wiek: 24
Na forum: 3879 dni
Posty: 1521

Piwa: 2124

Respekt: 1060
Respekt: 1060


Ostrzeżeń: 20%
Gdzie są podziękowania dla mnie :mrgreen: :mrgreen: :mrgreen:

ug 2.6 def.inc

Kod:

#define Loop(%0,%1) for(new %0, __li%0 = %1; %0 != __li%0; %0++)


psi loop.inc

Kod:

#define Loop(%0,%1) for(new %0, __li%0 = %1; %0 != __li%0; %0++)


ug 2.6 config.inc

Kod:

Float:gSpeed(Float:vel_x, Float:vel_y, Float:vel_z) return floatsqroot(floatpower(vel_x, 2.0) + floatpower(vel_y, 2.0) + floatpower(vel_z, 2.0)) * 215.0;
Float:GetVehSpeed(vehicleid)
{
new Float:v[3];
GetVehicleVelocity(vehicleid, v[0], v[1], v[2]);

return gSpeed(v[0], v[1], v[2]);
}

Float:GetPlayerSpeed(playerid)
{
if(IsPlayerInAnyVehicle(playerid)) return GetVehSpeed(GetPlayerVehicleID(playerid));

new Float:v[3];
GetPlayerVelocity(playerid, v[0], v[1], v[2]);
return floatsqroot(floatpower(v[0], 2.0) + floatpower(v[1], 2.0) + floatpower(v[2], 2.0)) * 180.0;
}


psi pspeed.inc

Kod:

Float:gSpeed(Float:vel_x, Float:vel_y, Float:vel_z) return floatsqroot(floatpower(vel_x, 2.0) + floatpower(vel_y, 2.0) + floatpower(vel_z, 2.0)) * 215.0;
Float:GetVehSpeed(vehicleid) {
new Float:v[3];
GetVehicleVelocity(vehicleid, v[0], v[1], v[2]);
return gSpeed(v[0], v[1], v[2]); }
Float:GetPlayerSpeed(playerid) {
if(IsPlayerInAnyVehicle(playerid)) return GetVehSpeed(GetPlayerVehicleID(playerid));
new Float:v[3];
GetPlayerVelocity(playerid, v[0], v[1], v[2]);
return floatsqroot(floatpower(v[0], 2.0) + floatpower(v[1], 2.0) + floatpower(v[2], 2.0)) * 180.0; }


Kopiuj wklej, chociaż usunięcie entera przed klamrą to już poważna modyfikacja lol lol lol więcej nie chciało mi się szukać po kolejnych plikach z jedną funkcją/definicją. To zapytam jeszcze raz, gdzie są podziękowania dla mnie :mrgreen: :mrgreen: :mrgreen:

Postaw piwo autorowi tego posta
 

 
Tagi: project :: maroon :: a.k.a. :: psi
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:








Wyświetl posty z ostatnich:   

Odpowiedz do tematu

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku

Skocz do: