• 29 Mars 2024, 01:27:20


Auteur Sujet: [FS-INC] SimStream V3 - MidoStream Modifié  (Lu 33135 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
[FS-INC] SimStream V3 - MidoStream Modifié
« le: 28 Janvier 2009, 01:31:06 »
Salut à tous,

Je suis fier de vous présentez un script que j'utilise sur mon serveur,

SIMSTREAM V3

Il s'agit d'un midostream modifié, j'ai complètement enlevé des fonctions qui me semblaient inutiles, celle dont je ne me sert jamais et en ait refait certaines.

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:
Citer
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:
Citer
forward OnStreamObjectMoved(StreamID);

TÉLÉCHARGEMENT:

NOUVELLE VERSION: V3.3:


LA MISE À JOUR VERS LA V3.3 EST FORTEMENT CONSEILLÉE

Installation

1. 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) )
2. Ajouter SimStreamv3.3 à la ligne filterscript de votre server.cfg
3. Placer le fichier SimStream.inc dans le dossier includes de votre serveur.
4. Vous devez ajouter #include <SimStream.inc> au haut du script contenant les objets (possibilité d'enlever #include <a_samp.inc>, il est chargé par l'include)
5. Changer tous tes CreateObject en CreateStreamObject.

NB. il est recommandé d'éviter le paramètre de distance puisque désormais inutile, il a été conservé par soucis de compatibilité avec la v3.0

Pour les paresseux, l'étape 5 peut-être remplacer par une macro du genre:
#define CreateObject CreateStreamObject
#define DestroyObject DestroyStreamObject


Crédits:
Moi- Sim
Midoban (script original Midostream, disponible: ICI)

Je vous prie de bien laisser vos commentaires, si vous rencontrez un problème, je me ferai plaisir de vous aider

++Sim++
« Modifié: 26 Décembre 2009, 18:04:49 par Sim »





Hors ligne jonjon

  • *** GTA FanBoy ***
  • *
  • Bandit
  • Mouhaha
  • Messages: 420
    • Voir le profil
    • http://metra-concept.fr
Re : [FS-INC] SimStream - MidoStream Modifié
« Réponse #1 le: 28 Janvier 2009, 11:42:10 »
Wow nice !! gg
== Jonjon ==
== Développeur du Web - http://Metra-concept.fr ==

Hors ligne MrFredo

  • *
  • Grand Banditisme
  • Scripteur PHP/PAWN
  • Messages: 953
    • Voir le profil
    • GTA-Hosting
Re : [FS-INC] SimStream - MidoStream Modifié
« Réponse #2 le: 28 Janvier 2009, 12:08:06 »
Gg, seulement j'ai une question a quoi servent les position X,Y,Z dans OnStreamObjectMoved ?

Hors ligne R@f

  • *
  • GTAOnline Addict
  • Messages: 4655
    • Voir le profil
Re : [FS-INC] SimStream - MidoStream Modifié
« Réponse #3 le: 28 Janvier 2009, 12:29:28 »
GG Sim ;) 

++
R@f

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : [FS-INC] SimStream - MidoStream Modifié
« Réponse #4 le: 28 Janvier 2009, 14:45:25 »
salut,

merci pour vos commentaires,
Gg, seulement j'ai une question a quoi servent les position X,Y,Z dans OnStreamObjectMoved ?
à vrai dire je ne m'en suis jamais servi mais comme ça peut être utile et qu'il n'y a pas de GetStreamObjectPos.... il faudrait sans doute l'ajouté...

Si quelqu'un connais une bonne façon d'améliorer le streamer, qu'il n'hésite pas à le dire

++Sim++





Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [FS-INC] SimStream - MidoStream Modifié
« Réponse #5 le: 28 Février 2009, 17:54:45 »
Bonjour,

je viens vous signaler la sortie d'une nouvelle version,

corrections:

- enlevé la position de l'objet dans la callback OnStreamObjectMoved
- amélioration de la création des objets
    (ce qui m'a pris 15 min non-complété avec l'ancienne prend maintenant environ 1 seconde (90 000 objets))
- grande amélioration de la fonction de base, du stream (ajout de zones)


bref, il s'agit d'une nouvelle version complètement, elle a été testé avec succès avec 90 000 objets, par contre je ne vous le conseille pas, la charge de calculs étant trop grande à plusieurs joueurs (4 et plus ^^)

++Sim++
« Modifié: 14 Mars 2009, 17:32:55 par Sim »





akcayir

  • Invité
Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #6 le: 28 Février 2009, 19:43:31 »
Woow super.. merci :)

Hors ligne laguna60

  • *
  • Tueur
  • Messages: 87
    • Voir le profil
Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #7 le: 01 Mars 2009, 11:30:50 »
escuser moi, seci va etre une question un peu conne (en etant pôlit un peu bete) ,mais je voudrai savoir ou mettre les object dans le filterscript parce que je nest aucun de ou faut les placés merci de me repondre rapidement parce que la je ne peut pas mettre mes objects dans mon serveur et sest plutot embetant




                                                                          [TKU]LagunaLo11rE  :)

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #8 le: 01 Mars 2009, 14:47:34 »
Salut,

merci de poser la question, j'ai totalement oublié de le mentionner,

tu dois ajouter ce FS à ton serveur tel quel, il suffit de la placer dans le dossier filterscript et d'ajouter SimStream à la ligne filterscript de ton server.cfg

par la suite tu place le fichier SimStream.inc dans ton dossier includes,
tu ouvre ton gm ou fs, tu ajoute #include SimStream (tu peut enlever #include a_samp, il est chargé par l'include)
par la suite tu peut changer tous tes CreateObject en CreateStreamObject et, si tu le désire, tu ajoute le paramètre de la distance de vue, la distance par défaut est de 250 mètres.

Si tu es trop paresseux, ajoute ceci sous ton #include SimStream :
#define CreateObject CreateStreamObject
#define DestroyObject DestroyStreamObject

++Sim++
« Modifié: 01 Mars 2009, 14:49:12 par Sim »





Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #9 le: 01 Mars 2009, 14:55:58 »
salut, GG pour ton boulot sim.

Si j'ai bien compris avec ton FS, ca nous permet d'afficher plus d'objets et sans bug ?

++
nikko

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #10 le: 01 Mars 2009, 15:03:45 »
Salut,

je dirais pas sans bug, mais il s'agit d'un streamer un peu comme xObject, midostream,

j'ai surtout améliorer la gestion du mouvement d'objets (je trouve du moins)

pour la v2 j'ai accélérer le chargement des objets et améliorer la vitesse du moteur (la fonction qui calcule si l'objet doit être montré ou non) en ajoutant des zones, puisque le streamer vérifie les zones AUTOUR du joueurs, on ne rencontre pas de démarcation (tu arrive sur le bord d'une zone donc tu ne voit pas les objets de la zone à 5 mètres de toi)
par contre il faudrait peut-être réduire la taille des zones et/ou éditer la fonction qui retourne la bonne zone

EDIT: je vais modifier un peu le truc des zones, comme il est présentement, il ne réduit pas suffisamment à mon goût la charge de calculs

++Sim++
« Modifié: 01 Mars 2009, 15:31:41 par Sim »





Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #11 le: 01 Mars 2009, 15:56:23 »
j'ai surtout améliorer la gestion du mouvement d'objets (je trouve du moins)

j'ai pas compris, tu parle de faire bouger un objet ?

++
nikko

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #12 le: 01 Mars 2009, 16:21:05 »
Salut,

si tu veut voir sur mon serveur j'en ai plusieurs à /aa

effectivement, il s'agit de faire bouger un objet, il existe les fonctions MoveObject et MovePlayerObject dans sa-mp, on a trop tendance à les oublier je trouve

le plus complexe lors de l'intégration à un streamer, c'est de garder la position réelle de l'objet dans les variables (donc la modifier sans arrêt tant que l'objet bouge) pour que tous les joueurs le voient au même endroit, à quelques décimètre de différence

++Sim++





Hors ligne Nikko™

  • *
  • Mafioso
  • Messages: 2393
    • Voir le profil
Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #13 le: 01 Mars 2009, 16:28:07 »
Ah ok, je croyait que ton FS était un streamer d'objet FIXE (comme les map) ...

++
nikko

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [FS-INC] SimStream V2 - MidoStream Modifié
« Réponse #14 le: 01 Mars 2009, 17:17:28 »
Salut,

il gère les deux, il permet de bouger des objets (une partie) et une autre peut-être fixe, on peut aussi bien ne mettre que des objets fixe ou que des objets en mouvement

++Sim++