Aller au contenu

Nouveau membre ?! Pense à te présenter pour accéder au contenu du forum !

New member ?! Introduce yourself to get access to the forum !

Tha SmokKe

 tutoriel / partage GTA SA : LIEN MORT : [FS & INC]{UNIQUE} UltimaStreamer v1.0 par .Hugo [Exclu FunkyEmu]

Messages recommandés

Salut à tous.

 

Je suis aujourd'hui très fiers de vous présenté ma modification personnelle du streamer de ++Sim++.

 

 

ULTIMASTREAMER v1.0

 

A la base il s'agit du MidoStream modifié une première fois par ++Sim++ puis encore une fois par moi même pour arriver à cette version détonnant du steamer qui est maintenant prêt à accepté la grande majorité des GameMode (y compris ceux contenant énormément d'objets)

 

J'en ai grandement modifié le système de mouvement des objets, au lieu d'une fonction par objet, j'ai créer une grande fonction qui fait tous les objets du même coup

Ainsi, il en résulte, selon moi, une réduction des problème potentiels de conflits de timer, et aussi de surcharge du processeur (beaucoup de calculs refaits à chaque 200 ms)

j'en avais synchronisés les angles au début, mais ceux-ci n'étant pas synchronisés, je les ai enlevé afin de réduire la charge.

 

V3.3:

 

Plusieurs otions ont été retirées dans cette version du streamer.

j'ai forcé l'utilisation du système de zone et du mode "montrer les x objets les plus près du joueur". (x est une valeur que vous pouvez définir dans le fs)

Le système d'attachement des objets ne pouvant fonctionner sur la v0.3, il a été retiré de cette version.

Vous pouvez toujours désactiver le système de déplacement des objets.

J'ai tester ce streamer avec le gm test qui est inclus dans le pack de téléchargement (objecttest.pwn)

 

si vous avez des suggestions d'amélioration de la logique du streamer ou l'organisation des variables etc... veuillez s'il vous plait postez vos idées, merci :P

 

voici une liste des fonctions:

 

V3.3:

native CreateStreamObject(modelid,Float:xpos,Float:ypos,Float:zpos,Float:xrot,Float:yrot,Float:zrot) - Create a streamed object
native DestroyStreamObject(id) - Destroy a streamed object
native AddMovingObject(modelid,Float:X1,Float:Y1,Float:Z1,Float:X2,Float:Y2,Float:Z2,Float:RX,Float:RY,Float:RZ,Float:Speed2)
native MoveStreamObject(id,Float:X,Float:Y,Float:Z,Float:Speed)
native StopStreamObject(id);
native GetStreamObjectPos(id, &Float:x, &Float:y, &Float:z)
native GetStreamObjectRot(id, &Float:rx, &Float:ry, &Float:rz)
native SetStreamObjectRot(objectid, Float:xrot, Float:yrot, Float:zrot)

 

 

J'y ai également placé une callback qui peut être placée dans tous vos script ou non, à vous de choisir, OnStreamObjectMoved:

forward OnStreamObjectMoved(StreamID);

 

Pour ma part j'ai mis au goûts du jours quelques fonctions et j'ai surtout augmenté la nombre maximum d'objets pouvant être vus par un joueurs simultanément

#define MAX_SIMULT_OBJECTS 250

Le passant de 150 à 250

 

J'ai aussi modifié le nombre d'objet maximum sur une map, afin d'évité les objets invisibles. Le nombre d'objet qui bougent en même temps et enfin le nombre d'objet dans une seule zone

#define MAX_STREAM_OBJECTS 50000	//nombre maximum d'objets
#define MAX_MOVING_OBJECTS 35	//nombre maximum d'objets qui bougent en même temps
#define MAX_OBJECTS_PER_ZONE 300	//nombre maximum d'objets dans une seule zone

Le nombre d'objets maximum est passé de 5000 à 50000.

 

Je l'ai personnellement essayé (sinon je n'aurais pas posté :hehe!:) et tout fonctionne très bien.

La seule chose pour laquelle je ne suis pas sur est le nombre maximum d'objets avec un nombre important de joueurs (Plus de 50 connectés). J'attends donc vos "Feedback" pour les personnes ayant un gros serveur.

 

:: TÉLÉCHARGEMENT ::

 

  • UltimaStreamer_v1.zip - 138 KB

 

 

.: Installation :.

 

  • Ajouter le FS au le dossier filterscript de votre serveur (et le compiler avec vos paramètres, il est recommandé de modifier le maxp (nombre maximum de joueurs) )
  • Ajouter UltimaStreamer à la ligne filterscript de votre server.cfg
  • Placer le fichier UltimaStreamer dans le dossier includes de votre serveur (../pawno/include).
  • Vous devez ajouter #include au haut du script contenant les objets (possibilité d'enlever #include , il est chargé par l'include d'UltimaStreamer)
  • Changer tous tes CreateObject en CreateStreamObject et les DestroyObject en DestroyStreamObject. si ce n'est pas déjà fait.

 

PS : Il n'est pas recommandé de modifié les valeurs dans le fichier source si vous n'avez pas d'idée précise de ce que vous faites et des conséquences que vos modifications vont entraînées.

 

Pour les paresseux, l'étape 5 peut-être remplacer par une macro du genre:

#define CreateObject CreateStreamObject
#define DestroyObject DestroyStreamObject

 

 

 

.: Crédits :.

++Sim++ pour ça contribution à l'amélioration du streamer et pour tous ce qu'il fait et à fait pour la communauté GTA SA:MP

Midoban (script original Midostream, disponible: ICI)

.Hugo a.k.a SmokKe

 

N'oublier pas de laisser des commentaires ainsi que des suggestions afin que je puisse améliorer le streamer.

 

Bonne Journée à vous.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci :D

Partager ce message


Lien à poster
Partager sur d’autres sites

.: FONCTIONNEL :.

  • Miami-RP (Les bâtiments sont enfin tous visible, on note juste un petit lag du coté des ordinateurs à faible configuration.
  • Une 2ème Chance (Aucun lag apparent même sous petite configuration)
  • LARP (Fonctionne parfaitement)

 

J'éditerais cette liste en fonction des GM que j'aurais utilisés, n'hésiter pas aussi à me faire part de vos expérience avec UltimaStreamer pour que je puisse éditer aussi cette liste.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.