Nazwa serwera IP serwera Sloty
•••PolskiPartyServer™[PPS]®24/7••• @LiveServer.pl graj.server-pps.com:7777 500 Wejdź
Mumble 1.2 server-pps.com 100 Więcej

[Poradnik] Synchronizacja strzałów

Moderator: Mod-Team

[Poradnik] Synchronizacja strzałów

Postprzez analny_wibrator » 18 paź 2018, o 18:40

Synchronizacja strzałów

Jest to jeden z najprostszych sposobów na poprawę synchronizacji strzałów, większość opinii jest pozytywna oraz jest pozbawiony błędów.


Autor: Slice / oscar-broman
Wszystkie funkcje: https://github.com/oscar-broman/samp-weapon-config

Wymagane pliki:

Linux: Wgraj plik SKY.so do folderu plugins oraz dopisz w server.cfg plugins SKY.so
Windows: Wgraj plik SKY.dll do folderu plugins oraz dopisz w server.cfg plugins SKY

Pod includami załaduj bibliotekę weapon-config:
Kod: Zaznacz cały
#include <weapon-config>


W callbacku OnGameModeInit dodaj:
Kod: Zaznacz cały
SetVehiclePassengerDamage(true);
SetDisableSyncBugs(true);


Następnie dodaj callback OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart) ktory zastępuje callbacki OnPlayerGiveDamage oraz OnPlayerTakeDamage.

playerid - ID gracza który otrzymuje obrażenia.
amount - Wartość obrażeń w postaci hp.
issuerid - ID gracza zadającego obrażenia lub INVALID_PLAYER_ID w przypadku otrzymywania obrażeń w inny sposób.
weapon - ID broni.
bodypart - Część ciała otrzymywania obrażeń.

Aby zablokować obrażenia należy użyć return false np. blokada obrażeń od pojazdów:
Kod: Zaznacz cały
if (weapon == WEAPON_CARPARK) return false;


W prosty sposób można również dodać headshoty ustalając wartość obrażeń na 200 (HP+Armor):
Kod: Zaznacz cały
public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart)
{   
   if(weapon == 34 && bodypart == 9)
   {
      amount = 200.0;
   }
   return true;
}


Podczas używania biblioteki weapon-config może występować "błąd" który polega na zabijaniu gracza podczas spawnu (Spawn protection) z powodu ustalenia hp na więcej niż 100 co można wyeliminować w prosty sposób zmieniając lekko nieśmiertelność.

Kod: Zaznacz cały
new GOD[MAX_PLAYERS];

SetPlayerHealthEx(playerid, Float:health)
{
   GOD[playerid] = 0;

   if (health > 100)
      health = 100, GOD[playerid] = 1;
      
   SetPlayerHealth(playerid, health);
   return ( true );
}

OnPlayerDamage:
if(GOD[playerid] == 1) return false;
Obrazek
Za ten post autor analny_wibrator otrzymał polubienia - 3
[PPS]Napletek[DJ](20 paź 2018, o 06:11), Anarchiaa(18 paź 2018, o 18:47), Kaer(4 lis 2018, o 09:40)
Avatar użytkownika
analny_wibrator
User
 
Posty: 13
Dołączył(a): 15 paź 2018, o 15:47
Polubionych : 5 razy
Otrzymał polubień: 15 razy

Re: [Poradnik] Synchronizacja strzałów

Postprzez Kaer » 4 lis 2018, o 09:40

ciekawe :) zobaczymy czy ktoś coś z tym w końcu zrobi
"Potrzebni wam są tacy ludzie jak ja. By wskazać palcem i powiedzieć to ten zły..."

Start gry-2017-07-09 - Elitarny gracz-2017.10.12
Obrazek
Avatar użytkownika
Kaer
User
 
Posty: 174
Dołączył(a): 23 lip 2017, o 14:52
Lokalizacja: LAS VENTURAS
Polubionych : 46 razy
Otrzymał polubień: 38 razy


Powrót do Skrypty

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

cron