• 03 Mai 2024, 11:02:19


Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - Tux

Pages: [1]
1
Scripting SA-MP [Pawn center] / Créer une classe en Pawn
« le: 30 Octobre 2011, 13:13:34 »
Bonjour à tous :)

Depuis quelques temps, j'ai pris connaissances de la POO sur mon langage préféré, le PHP, et je me demandais comment fonctionne les classes en Pawn. J'ai vaguement l'idée en voyant des includes qui utilisent ce procédé fort utile (comme dans Double-O-Files), mais je souhaiterai tout de même que l'on m'éclaire.

Merci d'avance pour votre aide.

2
Scripting SA-MP [Pawn center] / Cacher la carte du HUD
« le: 30 Juillet 2011, 21:49:53 »
Bonjour, bonsoir,

Je cherche le moyen ou plutôt le TextDraw ou n'importe quel autre chose qui s'y ressemble pour cacher le HUD sans cacher les îcones, je sais que c'est possible, je l'ai vu et j'en ai besoin (même si ce n'est pas urgent).

Merci d'avance.

3
Scripting MTA [Lua Center] / [Tutoriel] Passer du Pawn au Lua !
« le: 04 Juillet 2011, 11:50:21 »
Tout d'abord, pourquoi passer à MTA San Andreas plutôt que de rester SAMP ? Si vous êtes venu sur ce tutoriel alors que vous connaissez le Pawn, c'est sûrement pour une raison. Soit, vous êtes comme moi et vous voulez ne laisser aucune limites à vos envies de créations, ou bien vous souhaitez tout simplement étendre votre champ de script (ou encore vous souhaitez créer un Role Play sur MTA, mais ça c'est une autre histoire !). Quoiqu'il en soit, vous êtes venu sur ce tutoriel pour passer du Pawn au Lua !

En effet, même si SA:MP propose pas mal de fonctions et de callback, MTA en propose beaucoup plus ce qui facilite le scripting ! Je ne dis pas que SA:MP, ce n'est pas super top, mais ça a ses limites niveau confort de programmation, et il faudra l'admettre: il manque quelques fonctions :-. En attendant que SA:MP passe à la version 0.4 ou 0.5, passer sur MTA:SA ne vous ferra pas de mal, qui plus est MTA est soutenu par une communauté aussi forte que SA:MP, seul le manque de joueurs peuvent vous causer problème.

Et oui: SA:MP est plus célèbre que MTA, je ne sais pas pourquoi et je ne veux pas le savoir ::).

Enfin bref, le plus important tout de même c'est d'apprendre à coder en Lua ! Ce tutoriel peut avoir quelques petits défauts: je connais le Lua que depuis 1 ou 2 mois.

Etape 1: La syntaxe
Le Lua s'apparente à un mélange de VB.Net et de JavaScript à mes yeux (ou pour un Squirrel si on veux). En fait, à la place des callbacks, des stocks, des publics, des forward etc de Pawn, on a des évènements qui seront gérer par des fonctions. En d'autre termes, c'est vous qui créer les Callbacks et c'est vous qui décider quand les déclencher !
Trêve de bavardage, commençons par créer un script.

Pour scripter en Lua vous devez avoir au minimum Notepad  . Allez dans le dossier MTA San Andreas/server/mods/deathmatch/resources et créez un dossier. Nommez-le comme vous le souhaitez.
/! Sur MTA, on ne parle pas exactement de Gamemode ou de Filterscript. En fait, un serveur est constitué de ressources (des compilations de scripts en masse) dont plusieurs genres existes:
- Le gamemode, que vous connaissez certainement si vous avez fait du Pawn
- Des scripts, qui sont en quelques sortes des filterscripts
- Des maps

Je sais, j'aurais dû commencer par vous apprendre à démarrer un serveur MTA car en effet ce n'est pas très facile, mais j'y reviendrai plus tard ! Donc, créez un dossier qui sera celui de votre premier Gamemode. Ne mettez aucun espace et utilisé des caractères algébriques du type A-Z, 0-9 ou a-z. Une fois ce dossier créé, allez dedans et créez un fichier meta.xml. Un fichier meta dans un script MTA, c'est un peu comme sa carte d'identité. Le fichier meta référencera les textures et les modèles à remplacer pour certains véhicules par exemple, ou encore des musiques et des images pour vos fenêtres MTA (si vous ne connaissez pas les possibilités de MTA, il est temps d'aller sur un petit serveur !). Pour en savoir plus sur les balises XML des fichiers meta.xml, rendez-vous ici.

Si vous commencez déjà à avoir des sueurs froides en lisant ce tutoriel et en ne comprenant rien, il est temps de faire le point ! En gros, ce qu'il n'y a pas sur SA:MP c'est bien les fichiers meta.xml, et aussi les fichiers.map et encore la notion de ressources, etc... Tant de choses qui peuvent vous désorienter. Pourtant, avec le temps, c'est assez simple à comprendre:
- Chaque ressources est en fait un dossier qui contient un fichier XML qui montre le chemin vers les fichiers .lua et les ressources brutes que le mode de jeu ou le script a besoin

Bon, on peut reprendre ?
Allez dans le fichier meta.xml. En plus des genres de scripts, il y a leur endroit d'exécution ! En effet, un code doit s'exécuter soit côté client soit côté serveur. Un script côté server gère en quelque sortes tous les joueurs, et un script client un joueur. En plus de cela, vous pouvez créer plusieurs scripts .lua pour votre mode de jeu. Plutôt déboussolant ? Pas vraiment: vous pouvez en effet comme cela ranger vos bouts de codes plus facilement ! Je ne vous incite pas à faire un script par évènement ! Revenons-en au fichier meta.xml. Commencez par ajouter la balise <meta> à votre fichier (si vous avez des notions de xHTML, il est temps des les appliquer !) comme ceci:

Code: (html4strict) [Sélectionner]
<meta>

</meta>


Ajoutez une balise entre ces deux là nommé <info />. A l'intérieur de cette balise, vous devez mettre différents attributs pour définir votre script (nom d'auteur, etc) comme cet exemple:

Code: (html4strict) [Sélectionner]
<meta>
    <info author="ZizouDu94" name="Mon GAMEMODE!!!" description="Mon premier Game Mode !!!" type="gamemode" />
</meta>

Vous pouvez aussi ajouter un attribut "version" si ça vous chante. Ensuite, créez dans le dossier un fichier nommé global_server.lua puis revenez-en à notre meta.xml et ajoutez ceci:
Code: (html4strict) [Sélectionner]
<meta>
    <info author="ZizouDu94" name="Mon GAMEMODE!!!" description="Mon premier Game Mode !!!" type="gamemode" />
    <script src="global_server.lua" type="server" />
</meta>
La balise script, comme vous le voyez, permet d'ajouter des scripts .lua à votre gamemode, par défaut ceux qui sont dans le dossier, mais vous pouvez par exemple mettre les scripts serveurs dans un dossier "server" et faire:
Code: (html4strict) [Sélectionner]
<meta>
    <info author="ZizouDu94" name="Mon GAMEMODE!!!" description="Mon premier Game Mode !!!" type="gamemode" />
    <script src="server/global_server.lua" type="server" />
</meta>
Notez aussi la balise type qui est optionnel pour les scripts côté serveur.
Ensuite, revenons-en à notre script en .lua. Il est temps de commencer votre premier script .lua en vous inspirant du Pawn !

Etape 2: Les petites différences entre le Pawn et le Lua

Les commentaires sur le Lua: on passe du "//" et du "/* */" au "--" et au "--[[ ]]". Rien de compliqué non ? Voici un exemple:
Code: (lua) [Sélectionner]
--[[ Ceci est un commentaire multilignes.
Je peux le taper sur plusieurs lignes.
Tapez sur entrer pour sauter une ligne !]]
function sayHello ( player )
    outputChatBox ("Hello " .. getPlayerName ( player ), 110, 0, 0, false )
end
-- Ceci est un commentaire monoligne

Côté variables, on passe du "static" et du "new" au "" et au "local". En d'autres termes, pour créer des variables globales, vous n'écrivez rien ! Aussi, les variables se convertissent automatiquement, sauf exception. Vous pouvez créer un tableau en faisant: tableau = { } par exemple. Pour l'initialiser: tableau = {4, 3, 1}. Les index de tableau commence à partir de 1 contrairement au Pawn. Et en passant, la fonction random sous Lua est différente: math.random(mini, max). Pour les strings, c'est comme si vous créer des variables normales. Il n'est pas vraiment utile de faire un formatage ensuite pour régler ce string avec des variables. Exemple: "local string = variable1 .. " est égale à " .. variable 2". Notez aussi qu'il n'y a pas besoin ni de parenthèses pour les if, les else if et les else, ni de ";" et ni de "{ }". Nous verrons cela plus tard. Voici un exemple de variables:
Code: (Lua) [Sélectionner]
possibilites = { 5, 7, 35, 54, 23, 2 )
function randAddition( num1 )
   local result = num1 possibilites[math.random ( 1, #possibilites )]
   outputChatBox("Le résultat au hasard est: "..result )
end

Il y a pleins d'autres différences, le meilleur est de se rendre sur le wiki de Lua: ici.

Etape 3: Un premier "callback" !
Donc, il n'y a pas de Callbacks. A la place, il y a des évènements qui seront "accrocher" à des fonctions. Voici un exemple:
Code: (Lua) [Sélectionner]
function unJoueurRejointLeServeur ( )
   outputChatBox ( "Bienvenue sur mon serveur, " .. getPlayerName ( source ), source) -- Vous remarquez que par défaut, la variable source est créer par les évènements pour une fonction
end
addEventHandler ( "onPlayerJoin", getRootElement ( ), unJoueurRejointLeServeur ) -- getRootElement cherche en fait l’élément clef qui a produit cette évènement.

Il y a tant d'autres choses à dire sur le Lua. Je ne pourrais pas tout décrire ici et de plus je manque de temps, mais l'envie m'a pris de faire ce petit tutoriel pour attirer quelques curieux. Pour retrouver tous les évènements, fonctions et autres de MTA, rendez-vous sur le Wiki de MTA (en anglais): http://wiki.multitheftauto.com. Si vous n'avez pas appris l'anglais et que vous avez appris le Pawn, vous êtes sans doutes limités dans les possibilités sur SA:MP, et donc je doute que ce tutoriel ait une quelconque utilité pour vous (;.

Sur ce, bon scripting !

4
Bonjour à tous,

Je cherche désespérément un moyen de trouver le centre d'une zone rectangulaire ! Je connais la position de son point haut gauche et celui du bas droite. J'ai beau essayer plusieurs formules mathématiques en essayant d'être logique, je ne trouve pas ! Donc voilà mon problème, si quelqu'un connait la solution mathématique :s...

Merci d'avance.

5
Scripting SA-MP [Pawn center] / Loose intendation
« le: 11 Mars 2011, 11:49:57 »
Bonjour,

Je souhaiterai désactiver les Warnings de tabulation, très dérangeant (surtout que ma tabulation est correcte).

Merci d'avance pour vos réponses.

6
Autre / Scripteur de service
« le: 09 Mars 2011, 10:35:45 »
Introduction
Je manque sérieusement d'argent et personne ne peut m'en prêter. Pourtant, ce n'est que pour une cause moindre et égoïste: je souhaite pouvoir réparer une de mes erreurs. Je vais pas vous faire un topo, mais voilà pourquoi je me présente comme étant un scripteur à vendre. Je sais qu'il y a plus de joueurs de SAMP qui trouvent que c'est débile que de machos de SAMP, c'est pourquoi j'écris cette petite entête au cas où.

Explication
Mes précieux services vous permettront sois d'améliorer un serveur sois d'en ouvrir. Je ne créerai pas de Gamemode, je peut que en modifier. Pourquoi ? Déjà, mes tarifs ne permettrai pas à tout être humain qui se doit de me payer. Ensuite, ceci est beaucoup trop long et si on ajoute la condition précédente, c'est du temps perdu. Ensuite, le payement se ferra avant l'envoi de tout script. Avant de me lyncher sur la place publique à cause de cette condition, laissez-moi vous expliquer: la plupart du temps, c'est le client qui est en tord (vol), c'est pour cela que je souhaite sécuriser au maximum le payement, autant pour le client que pour moi (c'est surtout un piège à kévin...). Pour toute demande, il faudra m'envoyer un mail correctement: le moins de fautes possible, en respectant les règles de la lettre et les règles fondamental du français (majuscule, point). Vous n'avez pas le droit d'augmenter l'heure de travail si vous ne l'avez pas payer. Quoi d'autre ? Voici les tarifs:

- GameMode - Mode de jeu modifié (RP): 5€
- GameMode - Mode de jeu modifié (Stunt, DM, TDM): 2€
- Filtre Script - FilterScript (Tout): 2€
- Modification et envoi du Wymn Role Play: 10€
- Modification et envoi du Trace 1.0: 2€
- Réparation de bugs: 2€
Ils s'agit de packs de 10 Modifications/Corrections maximum. Payement par PayPal.

Vous voulez une référence ? Voici mes précieux travaux: Trace, Blur 1.1, Wymn Role Play.

 Pourquoi ce tarif aussi chère ? Il y a 2 points fondamentales qui améliore mon savoir-faire:

- Mon expérience (1 an et 2 mois)
- Mon endurance

Si, après avoir lu l'introduction et l'explication vous pensez toujours que je ne suis pas un vendeur mais un arnaqueur, passez votre chemin. Pourquoi je ne dois pas arnaquer ? Car c'est ma réputation qui est en jeu. Plus ma réputation est bonne, plus j'ai de clients et d'heures de travail. Vous me trouverez assez idiot pour faire une arnaque et arrêter mon chemin dès le début alors que mon but vaut dans les 600€ ?! Je crois que les rôles ont été distribué. Je peux paraître un peu dur avec ce sujet, voir un peu tordu, mais en ce moment, comme je l'ai dis plus tôt, j'ai un besoin urgent d'argent.

Contact mail: par pm (Contact par Windows Live Messenger INTERDIT, uniquement par mail)

7
Jeux vidéo / GTA VC:MP
« le: 16 Février 2011, 15:58:02 »
Salut,
J'ai remarquer que sur GTA Online, il n'y avait pas de section spéciale pour VC:MP, alors que ce mod multijoueur est très stable et encore assez utilisé ^^. De l'aide pour le scripting dessus serrait parfait ^^.
Voili voilou...

8
Salut :P,

J'ai passé mon script au SQL. A l'origine, c'était un LA-RP rien de plus simple. Le chargement des véhicules est plus que mélodieuse et donc parfaite, mais là où ça bloque c'est le chargement des maisons ! J'ai tout essayé, jusqu'à placer des printf pour savoir d'où ça venait mais rien n'y fait...

Les logs de mon serveur, avec les printf et au chargement des maisons me dit:
Code: (pawn) [Sélectionner]
[18:44:01] Chargement de la maison 0:
[18:44:01] Chargement de Entrance X
[18:44:01] Chargement de Entrance X (1)
[18:44:01]  
[18:44:01]  
[18:44:01]  
Après ça, j'ai le nom du serveur et le reste du GM qui ne se charge pas ! (Plus précisement, le reste du Callback OnGameModeInit).
Voici la ligne de code qui bloque:
Code: (pawn) [Sélectionner]
printf("Chargement de Entrance X");
mysql_fetch_field_row(result, "Entrancex");
printf("Chargement de Entrance X (%s)", result);
            HouseInfo[idx][hEntrancex] = strval(result);
            printf("Chargement de Entrance X (%d)", strval(result));
Je ne voit rien de grave. Pour précision, j'ai convertie mon HouseInfo en Float puis en Int, mais dans aucun des deux cas cela ne change ! Je crois que ça vient de la ligne de la redéfinition de la variable "hEntrancex" dans mon tableau mais alors, où j'ai pu me tromper dans ce cas là ? Je ne vois rien d'anormal...

Ca ne vient pas de la BDD, ça c'est sûr car la position est charger (le "(1)" dans le printf de ma console). Que me proposez-vous ?

Merci d'avance,
Tux


Edition: J'ai trouvé d'où ça venait, merci à tous ceux qui m'ont essayé  :D

9
Scripting SA-MP [Pawn center] / [Resolu] Syntaxe MySQL
« le: 31 Décembre 2010, 23:50:44 »
Tout est dans le titre, j'ai voulue essayer l'objet neige qui fait tomber la neige sur mon serveur mais bon, je l'ai enlever maintenant je ne vois ni pickup, ni textlabel et encore pire quand je marche sur un de mes bizs qui normalement affiche un GameTextForPlayer, rien ! Ca vient de mon jeu ou de mon serveur ?

Edition: En fait, quelques chose d'étrange avait arrêter mon callback...

10
Scripting SA-MP [Pawn center] / SAMP 0.3b
« le: 30 Août 2010, 17:29:04 »
Salut :),

Un ami scripteur a décider de prendre pour son serveur RP un script de base "Raven's RP" lui même basé sur un GF. Depuis peut, mon ami râle en passant a proximité de l'Auto Route. J'y suis allez voir et... J'ai étais bluffer: J'étais totalement Figer ! Sans faire de pub, le comble c'est que le serveur s'appelle "Figé" en anglais... L'image est totalement figé, rien à faire. Je suis resté sans mot puis je décide de posté ici :happy. Pouvez-vous m'éclairer ? Je soupçonne SAMP0.3b RC2 d'être la cause...

Merci d'avance,
Tux

11
Scripting SA-MP [Pawn center] / SAV - Strcmp Déféctueux
« le: 27 Août 2010, 15:40:02 »
Salut :),

J'ai créer un nouveau GM de Stunt, mais quand on a créer un compte et qu'on essaye de se connecté, notre mot de passe est toujours considéré différent de celui inscrit dans le fichier, alors que c'est le même... Je soupçonne ces ligne:

if ( !strlen(inputtext) ) return ShowPlayerDialog( playerid, 1, DIALOG_STYLE_INPUT, "Connexion", "Ce nom d'utilisateur est utilisé.\nMerci de vous identifier correctement.", "Valider", "Annuler" );
else if ( strcmp(inputtext, dini_Get( pfile[playerid], "Password" ) ) )

Merci d'avance votre aide.

12
Showroom SA:MP / [GM] Trace 1.0
« le: 24 Août 2010, 21:52:30 »
Salut :),

Histoire


Je me suis décidé à posté mon GM car mon pote mappeur et moi, nous comptons refaire notre serveur à zéro... C'est un GM qui, pour une fois, ne parle pas de RP :jesors. Bref, c'est un GM de type Multimodes, ce qui est assez rare en France. D'ailleurs, il est facile d'ajouter un mode (Il manque le mode Mini Mission ou RP par exemple). Je n'est pas vraiment le temps de ranger le code, je considère ce GM comme un peu mon brouillon car c'est mon tout premier GM :), et vue que j'ai pas trop le temps de le ranger :happy. Enfin bref, ça plait ou pas =P. Au fait, il se peut, mais je doutes, que vous trouvez le nom "Stunt" à la place de "Trace" dans certains Messages. Ceci est normal (Ou presque =P), le serveur a subit un rename.


Téléchargement

Lignes Total: 6817
- Pastbin (580 Ko)
- Solidfiles (208 Ko)

Notes

- Vous devez créer le dossier "Utilisateurs" dans votre dossier ScriptFiles.
- Trace utilise une version modifié de mon FS Blur.

Uniquement pour ce GM, je ne continuerai pas à maintenir son Support (Je suis à fond dans mon nouveau GM :happy) mais il est éventuel que j'y revienne plus tard...

13
Autre / Question
« le: 13 Août 2010, 10:07:41 »
Salut :),

Alors voilà, j'ai une question qui me trotte dans la tête depuis hier... Je me demandais si je n'étais pas le seul à trouver le nombre de serveurs RP trop grand, et devenant de moins en moins bonne qualité par rapport aux autres serveurs (Côté Ambiance) =/. Certes, il y en a qui m'en l'air prometteur (Le serveur de Scott est vraiment pas mal :), mais j'ai pas eu le temps de me connecter sur le serveur, j'ai juste eu le temps de regarder le forum  :happy) mais je retrouve bien le cas de serveurs qui deviennent de moins en moins bon (Au début, le serveur de Hip Hop était pas mal, puis petit à petit ça devenait lassant =/). Merci d'avance pour vos réponses :).

++
Tux

14
Showroom SA:MP / [FS] Blur 1.1
« le: 10 Août 2010, 19:27:30 »
Salut :),


Histoire
L'idée est toute bête, j'ai voulue trouvé une occupation pour me réposer, etc... Et j'ai décider de scripter des Filter Scripts :). Celui-ci est le tout premier Filter Script que je créer dans ma carrière. Il est sous Lience Open Source, libre droit à vous de le modifier et de le redistribuer librement ;). Blur est censé être un Filter Script rassemblant quelques outils permettant au Stunteur de l'aider dans des Situations diverses. En d'autres termes, il contient un Outils de Saut, de Spawn de véhicules, de Turbo, de Retournage de Voiture (Fix) et de Réparation :). Blur est facile à utiliser, configurer et modifier. Pour tout problème, merci de poster à la suite de ce Topic. Pour toute suggestion, poster aussi à la suite de ce topic ;). Dans sa version 1.1, des Sons sont joués. Vous pouvez facilement les empêcher d'être jouer en commentant la ligne de "#define" leur étant dédié ;). Edition: Une petite correction a été apporté grâce à Sim :).


Téléchargements

-> Version 1.0 (Simple & Fixé)
- Par Pastbin (Poids: 4.84 Ko)
- Par Solidfiles (Poids: 3.36 Ko | Fichier .zip)

-> Version 1.1 (Plus Complexe & Fixé)
- Par Pastbin (Poids: 6.14 Ko)
- Par Solidfiles (Poids: 3.90 Ko | Fichier .zip)

Crédits
- GTA Online pour tous leur FilterScripts diffuser qui m'ont permis de m'améliorer en Script SAMP :).
- Le Site du Zero pour leur superbe Tutoriel sur le C et le C++  :happy.
- Sim pour son Macro sur les Touches :).

15
Scripting SA-MP [Pawn center] / Help ^^
« le: 09 Août 2010, 21:59:44 »
Salut :),

Alors voilà, mon pseudo est Tux, et je script et j'aide un ami mappeur à diffuser ses idées. J'ai monter la vitesse supérieur en innovant par rapport à d'autres serveurs Stunt: j'ai intégré plusieurs modes au GM en les séparants par des Virtuals Worlds. En gros, on a un mode Stunt, un mode DM, un Mode RP (Pas Fini), et bientôt un TDM et un Mini Mission. Mais voilà, je me suis beaucoup trop surpassé le tout premier mois de travail et j'en suis totalement fatigué, à deux doigts de lâcher le serveur, seulement, je ne voudrai pas lâcher mon pote =S. Je ne demande pas qu'un scripteur fasse le job à ma place pour créer le mode RP ou un autre truc dans le genre, je demande juste de l'aide. Car malgré mes 6 Mois d'expérience, la fatigue est le bug que je n'arrive pas à réparer xP

 :dejadehors

Bref, je demande juste une âme assez charitable pour vouloir m'aider. :). Si il n'y a personne pour m'aider, merci comme même ^^.

++
Tux

Pages: [1]