Updatez votre 55i pour le futur.

 
Partager Rechercher
Attention, c'est de la traduction faite par un logiciel.
source:http://www.cs.rit.edu/~djr7581/new_t...phere_99t.html
___

Nouvelles choses dans la SPHÈRE 99t2
Le futur est présent...
... ou quelque chose comme cela

"Sphere ca pue." - Ethernal
Bien, ils l'ont finalement fait. Il y a un nouveau, presque version de bogue-moins de SPHÈRE, avec une TONNE de nouvelles additions scripting au sujet des lesquelles personne, comme d'habitude, n’a pris la peine de nous dire. Je vais couvrir quelques unes d'elles ici, dans un peu très de détail, et j'écrirai probablement des cours d'instruction séparés pour chacun d'eux plus tard. Les choses que je couvrirai ici incluent :
1. "cordes citées"
2. Fonctions avec des parenthèses et des arguments multiples
3. Le nouveau format des fonctions de X (comme le xshow, etc..)
4. Le nouveau menu d'info
5. Valeurs sans < >
6. Obtenir la valeur de VAR.blah sans VAR.blah
7. Boucles
8. La commande d'écho
9. Envoi des paquets faits sur commande au client
10. syntaxe de <?..?>
11. Imprimant à la console (et donc, les dossiers de notation)
12. La séparation de la stat (vous pouvez maintenant avoir un MAXHITS différent que le STR)
13. Professions
14. Les commandes à bascule exigent un argument

Cordes Citées (corde=strings)
Ce ne sera pas une nouvelle invention pour ceux qui ont employé n'importe quel autre langage de programmation, mais sera nouvelle à ceux qui ont seulement employé la SPHÈRE. D'abord, nous devons vous présenter au concept d'une corde. Une corde est simplement une collection commandée de caractères. Les cordes, dans presque tous les langages de programmation, doivent résider entre les guillemets, les séparer des nombres et des noms de fonction. Voici quelques exemples des cordes :
· "bonjour"
· "123"
· "c'est une corde (pour vous pendre si vous n‘y comprenez rien)"
Ce qui suit ne sont pas des cordes :
· 123
· 07DB
· SRC.ATTACK
Comme vous pouvez voir, nous employons des cordes beaucoup en manuscrits de SPHÈRE, sans s'inquiéter vraiment si quelque chose soit une corde. Bien, pour les raisons que je peux expliquer dans un cours d'instruction plus prolongé, les réalisateurs ont décidé de nous forcer à citer TOUTES LES cordes. Ceci signifie cela
monde de src.sysmessage bonjour
n'est plus la syntaxe valide. Au lieu de cela, nous devons citer "bonjour le monde", de sorte que la commande ressemble à :
src.sysmessage "bonjour le monde"
Malheureusement, ils n'ont pas changé l'analyseur de sorte qu'il ENLÈVE réellement les cordes, ainsi le dans-jeu que vous verrez "bonjour le monde", les guillemets et tout le bordel (sphère ca pue). Pour cette raison, employer des citations n'est pas absolument exigé encore, mais on lui recommande que tous les manuscrits vous écrivent l'utilisation les cordes citées pour quand ils deviennent requis. L'intérieur de l'les cordes citées, certains rapports sera encore interpolé, mais vous devez employer la nouvelle syntaxe de <?...?> dans certains cas. Voir ci-dessous pour plus.

Fonctions Parenthesized (entre parenthèses)
C'est un autre dispositif de tous les langages de programmation standard, excepté le manuscrit de SPHÈRE. Cependant, ils ont décidé de lui faire la nouvelle norme dans la version 99t2. C'est de loin leur dispositif plus ennuyant (sphère ca pue), mais je peux voir comment il faciliterait des fonctions pour analyser. La partie ennuyante est que les restrictions s'appliquent non seulement aux fonctions en manuscrits, mais le dans-jeu commande, aussi bien. Ceci signifie qu'au lieu du somefunction de dactylographie 045 10, vous doivent dactylographier le somefunction(045, 10).
Ceci mène au prochain point. Nous sommes maintenant réellement capables d'employer des ARGUMENTS MULTIPLES dans une fonction. C'est un grand changement, et élimine complètement la nécessité d'employer mon analyseur de corde, qui a été édité dans un autre cours d'instruction. Ces arguments peuvent être consultés en utilisant la rangée d'ARGV. Vous accédez à différents arguments en utilisant l'opérateur souscrit [ x ]. Les indices inférieurs de rangée, comme la plupart des langues, commencent à 0. Par conséquent, pour accéder au premier argument, vous aviez l'habitude ARGV[0 ]. Le troisième argument serait consulté en utilisant ARGV[2 ]. Si vous essayez d'accéder à un argument au delà de la fin de la liste d'argument, ce sera pareil que le dernier argument.
Voici un sommaire de quelle sorte de choses peut être passée dans une fonction avec le nouveau système. Disons-vous appel la fonction comme ceci :
MyFunction( 10, "Hello" )
ARGN Ceci contiendra le numéro 10 (0a montré), comme lui aurait dans le passé.
ARGS Ceci contiendra la corde 10, "bonjour"
ARGV Ceci contiendra également la corde 10, "bonjour"
ARGV[0 ] Ceci contiendra le numéro 10
ARGV[1 ] Ceci contiendra la corde bonjour (sans citations)
Comme vous pouvez voir, nous employons ARGV[0 ] pour atteindre le premier argument, et ARGV[1 ] pour atteindre le deuxième argument. Heureusement, ARGN et ARGS fonctionnent toujours la manière que nous prévoyons, tellement il n'y a aucune raison de retourner et de changer toutes vos fonctions. Cependant, vous allez devoir changer tous vos appels de fonction.
LA PARTIE ENNUYANTE : Si vous n'employez pas () dans un appel de fonction, on supposerait qu'il y aurait un message d'erreur des sortes, ou quelque chose comme cela. Cependant, ce n'est pas le cas. Si vous n'employez pas (), votre fonction immobile s'exécutera normalement, MAIS ELLE NE RECEVRA PAS DES ARGUMENTS. Ceci signifie que tous vos appels de fonction vont devoir être mis à jour pour employer le nouveau format. le Dans-jeu, si une fonction exige des arguments, et vous oublient la fin), la fonction sera encore courue, mais elle supposera que vous n'avez fourni aucun argument.
Plus gênant est que certaines choses on n'a pas assumé que qui sont des fonctions avant que SOIENT réellement les fonctions. Par exemple, la commande suivante emploie une fonction :
STR 400
Dans la plupart des cas, les gens penseraient à elle comme simplement tâche. Nous plaçons le STR variable à la valeur 0. Cependant, le STR est réellement une fonction une fois utilisé dans ce contexte. Vous devriez supposer que si vous placez une variable à une valeur, ce que vous faites réellement appelle une fonction avec la valeur comme argument. Nous devons faire ce qui suit :
STR(0)
Cela placera votre force convenablement. Non seulement cela, mais si vous oubliez une ou les deux parenthèses, la fonction s'appellera TOUJOURS. Dans ce cas-ci, il n'est pas aussi gênant, mais prend cette commande :
region.sectors light 0
Oui, c'est exact. Vos secteurs vont avoir la fonction LUMIERE les ont invités, sans aucun argument, parce que nous avons oublié les parenthèses. Ceci signifie que cela plutôt que de les rendre lumineux comme vous ont voulu, ils vont obtenir extrêmement foncés, très rapidement. Non seulement CELA, mais un joueur doit dactylographier à ses commandes ce dans-jeu de manière aussi. Si vous avez un système de causerie, où le joueur peut causer en utilisant une commande comme ceci :
.chat He les gars, sphere ca pue, vous saviez?
Assez bientôt, ce joueur va devoir dactylographier
.chat( " He les gars, sphere ca pue, vous saviez?" )
Déjà, la parenthèse sont exigées (ou la fonction de causerie n'obtiendra pas les arguments). Les citations ne sont pas exigées encore, mais elles sont recommandées, et seront nécessaires par la suite. Corrigez-moi si j'ai tort, mais je pense qui va gêner beaucoup de joueurs. Si quelqu'un meurt, ils ne vont pas vouloir dactylographier le chat("aide").
Intéressant, ceci ne s'applique pas dans tous les cas. Voici les temps que j'ai constaté que vous n'avez pas besoin de parenthèses pour appeler une fonction :
· Non cité-corde de plevel de TRYP
· Assigner VARs
· Assigner des Étiquettes
Les temps qu'on exige des parenthèses que vous ne les penseriez pas devraient être :
· En utilisant l'ensemble -- set str(100)
Notification, cependant, que la fonction d'ENSEMBLE n'exige pas des parenthèses. En fait, si vous essayez de les mettre là, vous recevez un message vraiment intéressant d'erreur : "la corde d'argument passée à DosExecPgm n'est pas correcte." C'est parce que l'ENSEMBLE et le X (que nous discuterons dans une minute) sont les exacts la même fonction, et pas vraiment une fonction du tout.
Un autre strangeness est celui employer = signe est apparemment identique qu'en utilisant des parenthèses. Ainsi pour ceux de nous qui avaient dactylographié
SRC.STR 100
parce qu'il a regardé beaucoup plus propre que
SRC.STR=100
bien, je devine que nous sommes tous juste qui vont devoir retourner et changer notre code. Les codeurs laids avaient raison après tout, puisque la SPHÈRE lit STR=100 et STR(100) comme même commande. Ceci fonctionne même pour des fonctions multiples d'argument.


Le nouveau format des commandes de X
C'est une section vraiment courte. Si vous auriez dactylographié le xshow, vous maintenant devez dactylographier l'exposition de x.show ou de set. Ceci s'applique à toutes les commandes. Oui, je sais qu'il ne se comprend pas, et j'ai dit ceci aux réalisateurs, seulement être réprimandé au sujet de ne pas employer la nouvelle version si je ne l'aime pas, parce que c'est la manière il est. * grognements un peu *

Le Nouveau Menu D'info
C'est l'un de leurs nouveaux dispositifs stupidest. Ils semblent avoir essayé de mettre chaque menu imaginable sur le menu d'information (convenablement retitré "la CONSOLE de GESTION de SPHÈRE"). Ceci inclut :
· Un bouton pour courir le menu d'admin
· Un bouton pour regarder une liste de commandes de dans-jeu
· Un bouton pour voir les valeurs dans votre dossier de sphere.ini
· Un bouton "de guilde goto"
· La prison, ressuscitent, et envoient aux boutons avec de jolis petits menus ("envoyez à" évoque par exemple une liste de villes auxquelles vous allez envoyer le joueur. Apparemment il est plus facile de passer par tous ces menus que pour dactylographier le jhelom de x.go et viser la personne.)
À leur crédit, il inclut maintenant une telle information utile comme les qualifications (que vous pourriez avoir juste serré Ctrl+K pour regarder sur le vieux menu d'info. Quand vous avez eu l'écran d'information ouvert, les qualifications dans le menu de compétence étaient leurs qualifications, pas vôtre), rendent compte des commentaires, et, bien, c'est à son sujet.
C'est également le même fond gris, seulement le texte est maintenant blanc, et il est directement sur le fond (plutôt que sur une petite chose brunâtre), qui la fait sensiblement plus de difficile à lire, particulièrement si vos yeux sont fatigués comme le mien. En outre, plutôt que de cliqueter dessus une valeur pour la changer, vous devez cliqueter un petit bouton de flèche à côté de la valeur.

Valeurs sans < >
C'est l'un des changements plus intéressants à la nouvelle version. Dans beaucoup de cas, vous n'avez pas besoin d'employer <... > pour obtenir les valeurs des choses plus (comme < src.name >, par exemple). Dans quelques endroits, il est parfaitement acceptable d'employer simplement le nom. La plupart du temps, c'est dans le cas des fonctions de système. Voici quelques exemples qui peuvent regarder un peu différent :
sysmessage <finduid( src.uid ).name>
Notez que bien que nous employions <... > autour de la fonction de finduid, nous n'employons pas < > pour obtenir la valeur de src.uid au milieu de cette fonction. Elle sait qu'on le cense obtenir un nombre, et s'il pas , il essayera de le résoudre comme symbole. Ceci fonctionne le dans-jeu égal :
.str(dex)
Ceci placera votre force à la valeur de votre dextérité. Le str(de fonction) pense qu'il devrait obtenir un nombre, et quand vous ne lui donnez pas un, il essaye de faire un sur ce que vous lui donnez.
Les règles sur ceci sont toujours plutôt peu précises à l'heure actuelle. Voici quelques cas où je sais que <... > sont encore exigés :
· En obtenant la valeur d'une ÉTIQUETTE dans un rapport d'EVAL. (le même ne s'applique pas à VARs. Lu ci-dessous.)
· Au milieu d'une corde comme "bonjour, < src.name >"
Oui, il y a seulement de deux. Je trouverai probablement plus tard. Fondamentalement, si cela ne fonctionne pas sans <... > notation, essai en utilisant le. Si cela ne fonctionne toujours pas, essayer d'employer la notation de <?...?> décrite ci-dessous.

Obtenir la valeur d'une variété sans variété
C'est intéresser et une mise à jour plutôt impaire. Elle vous laisse vous référer à la valeur d'une variété toutes les deux sans mot "variété", et sans < >, si elle est dans un type situation d'EVAL. Ainsi, dans la théorie, nous pourrions faire ceci :
var.indexB=<eval indexB+10 >
Il prendrait CORRECTEMENT la valeur de l'indexB, et additionne 10 à lui. Je ne sais pas pourquoi, ou, mais cela fonctionne. Cependant, plus intéressant, il nous permet de faire ceci :
si (indexB < 40)
C'est parce que quelque chose suivre SI est automatiquement EVAL'd. Et oui, ceci vérifiera si la valeur de var.indexB est moins de 40. Et cela fonctionnera correctement ! Cependant, notification dans l'exemple ci-dessus que quand nous PLAÇONS la variété, nous devons toujours l'identifier comme variété en utilisant la notation de var.indexB. J'ai découvert que ne pas faire fait ainsi briser 99t2 si vous le faites assez de temps.
Plus intéressant est le fait que nous pouvons employer ce notiation dans le côté gauche de n'importe quelle commande, et la variété sera interprétée correctement, même dans-jeu :
var.indexA=1
findlayer(indexA).remove

Boucles
Hourra, hourra, elles se sont finalement ajoutées ce qu'elles m'avaient indiqué pendant presque deux années qu'il était impossible à ajouter. En fait, j'ai eu une conversation avec un membre d'équipe de développement qui m'a dit que des boucles ne seraient probablement jamais ajoutées, parce qu'il était impossible de savoir combien de temps un manuscrit donné allait fonctionner. Il m'a dit dans la même conversation que la récursion n'était pas un dispositif soutenu de SPHÈRE pour les mêmes raisons. Maintenant, elle ne doit pas être !
La SPHÈRE a finalement mis en application un mécanisme faisant une boucle. À ceux de vous qui savent d'autres langages de programmation, c'est une boucle de MOMENT. À ceux qui ne savent pas d'autres langages de programmation, c'est une boucle de MOMENT. La structure de base d'une boucle de MOMENT est comme suit :
TANDIS QU'UNE < certaine condition n'est pas vraie >
.. code ici
.. code ici
ENDWHILE
Il répétera le code au milieu aussi longtemps que la condition n'est pas vraie. Cette condition peut être quelque chose. Vous pouvez employer les mêmes opérateurs que vous emploieriez pour une condition dans SI rapport. Par exemple, ceci imprimera "bonjour" dix fois :
var.counter = 0
while ( counter < 10 )
sysmessage "Hello"
var.counter=<counter>+1
endwhile
La notification, encore, que j'emploie "la notation var"-less de variété comme décrit dans la section ci-dessus n'importe quand me juste veulent la valeur de la variété. Ce bloc de code vérifiera pour voir que var.counter est moins de 10. S'il est, il exécutera le code entre TANDIS QU'ET ENDWHILE. Quand il atteint ENDWHILE, il retournera et faire la même chose encore, jusqu'à la condition (var.counter est moins de 10) n'est pas vrai. Dans notre cas, cela prendra 10 boucles.
Les boucles sont extrêmement faciles, et extrêmement utiles, et élimineront la nécessité d'employer n'importe quelle sorte de récursion en manuscrits, dans la plupart des cas. Elles sont probablement également plus rapides, parce qu'elles sont un dispositif prévu de SPHÈRE. Apprenez à les employer bien.

La commande d'ÉCHO
C'est une nouvelle commande simple. Vous lui donnez le nom de quelque chose qui renvoie une valeur, et elle sysmessage qui évaluent. Par exemple, si mon STREPTOCOQUE est 400, puis
echo str
le sysmessage 400 sur mon écran.
Ceci a pu être utile avec VARs. Plutôt que
sysmessage <var.somestring>
vous pourriez écrire
echo somestring

Envoi des paquets adaptés aux besoins du client au client
AVERTISSEMENT D'AVERTISSEMENT ! CE DISPOSITIF N'EST PAS POUR SCRIPTEURS DEBUTANTS !
Il y a un long temps, les objets de client ont par le passé eu les possibilités pour employer une commande d'ENVOI, qui enverrait n'importe quel paquet que vous avez voulu au client. Malheureusement, ils n'ont pas analysé très bien, et il y avait des problèmes, et pour une raison ou des autres, menace (le pauvre type qui a fait sphere) décidée pour enlever le dispositif. C'était approximativement la version 45. Maintenant, dans la version 99t2, ils ont décidé de rétablir ce dispositif sous forme de fonction de SENDPACKET.
Cette fonction prend un argument, le paquet pour envoyer. Puisque ce doit être un argument, naturellement, nous devons le citer, comme dans l'exemple suivant par le pmouse :
[ Fonction Sayhello ]
l'exemple de //an de SENDPACKET colore le sysmessage
src.sendpacket "01c 00 039 00 00 00 00 00 00 00 00 035 00 03 053 079 073 074 065 06d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 048 065 06c 06c 06f 020 057 06f 072 06c 064 021 00"
Je n'ai pas eu une chance de jouer avec ceci encore, mais maintiens cet avertissement dans l'esprit : Le GÂCHER Un NOMBRE ET VOUS SIMPLES SE BRISERA Le CLIENT ! POUR LE MOINS LES CHOSES IMPAIRES SE PRODUIRONT. (en gros, fais pas de conneries garçon)
Je signalerai un cours d'instruction plus avançé sur SENDPACKET plus tard, une fois que j'obtiens une chance de jouer avec elle un peu plus. Vous pourriez faire un nombre presque illimité de choses avec ceci. Nous verrons si j'ai le temps.

syntaxe de <?..?>
C'est une nouvelle chose dans la version 99t2, et le pmouse fait un bon travail de la bâche il ici. Je suis juste joli aller beaucoup réitérer ce qu'il a dit, au cas où quelqu'un déciderait d'essuyer les panneaux de message encore, ou au cas où le poteau des pmouse perdrait dans la marée d'autres poteaux.
Dans la plupart des situations < variable > et < ?variable ? > se comportera identiquement. Par exemple :
sysmessage "This is a string, <src.name>, <?src.name?>"
Il imprimera hors de la corde correcte, avec le nom remplacé deux fois. Cependant, il y a trois situations où vous devez employer le nouveau < ?... ? > notation, ce pmouse trouvé, et un que j'ai trouvés :
1. Dans une section des textes de DIALOGUE. La vraie raison de ceci, en dépit de ce que vous avez pu avoir entendu, est de sorte que vous puissiez employer le vrai HTML dans une section de htmlgump d'un dialogue, et il ne salira pas des choses vers le haut. Employer le workaround de variété inventé par Catalan Mistral, et signalé dans mes "petites choses personne ne sait" le cours d'instruction, n'est plus nécessaire.
2. Dans les cordes. Maintenant, j'ai montré au-dessus de cela que ce n'est pas nécessairement vrai. Cependant, à l'avenir il peut être vrai, ainsi vous pourriez vouloir changer vos manuscrits en conséquence.
3. Dans les endroits où > et < ayez les différentes significations, comme des conditionals.
4. Dans des dossiers de HTML, au lieu de l'ancienne syntaxe de %variable%.
Exemples :
1. [DIALOG d_blah TEXT]
<?src.str?>
Your name is <?src.name?>
2. "Your strength is <?src.str?> and you have been killed <?src.deaths?> times."
3. IF ( <?src.mining?> < 80.0 )
Encore, il peut y avoir plus de situations dans lesquelles c'est nécessaire. Fondamentalement, si employer <... > la notation ne fonctionne pas, vous devriez employer la notation de <?...?>.

Impression à la console
Il est relativement facile d'imprimer à la console. Faites simplement un SERV.SYSMESSAGE, la même manière que vous feriez un sysmessage pour toute autre chose. Par exemple :
SERV.SYSMESSAGE Player <src.name> is trying to cheat by using the .spherecbien command!
Je pense que quelque chose écrit à la console sera également écrit aux notations, si vous avez entre. En outre, rappelez-vous que quand vous imprimez à la console, si vous voulez une ligne coupure en votre texte, vous devez employer le \n, comme "Hello\n". C'est une notation de programmation standard pour un linebreak.

La séparation de la stat
Fondamentalement, ils ont séparé des hitpoints de la force, et ainsi de suite. Il y a trois nouvelles variables :
· MAXHITS - Le nombre maximum des hitpoints que un joueur peut avoir. Ceci n'a rien à faire avec la force, bien que c'aille généralement être la même valeur dans un joueur.
· MAXSTAM - La quantité maximum de stamina que un joueur peut avoir.
· MAXMANA - La quantité maximum de mana que un joueur peut avoir.
Joli facile hein ? Rappelez-vous juste qu'il existe, la fois prochaine que vous voulez avoir un joueur avec les hitpoints 1000, mais la force seulement 125.

PROFESSION
C'est la nouvelle version de SKILLCLASS et de RACECLASS. Vous devez changer tous vos manuscrits en PROFESSION d'utilisation plutôt que l'un ou l'autre de ces deux. Cela fonctionne la même manière que des skillclasses. Vous pouvez attacher des événements aux professions la même manière que vous les avez attachées à RACECLASS et à SKILLCLASS, et c'est où vous placez les limites de compétence et les limites de statut, qui semblent maintenant fonctionner un peu mieux. Quand vous le placez, il donne un sysmessage avec de l'information de mise en point mais j'imagine pour partir avant que n'importe quelle vraie version apparaisse.
Rappelez-vous juste que Class_undeclared (skillclass 0) est maintenant Prof_undeclared (sans nombre). Ainsi ne paniquez pas quand il n'est là plus.

Commandes à bascule
Toutes les commandes à bascule exigent maintenant des 0 (au loin) ou 1 (dessus) arguments. Si vous ne fournissez pas un argument, il vous indiquera simplement la valeur courante. Ce sont les commandes à bascule le plus généralement utilisées :
· GM
· nightsight
· corrigez
· invul
· invis

La commande de COLORDLG
Si vous employez la commande de COLORDLG, elle évoquera (pour le SRC seulement) le dialogue de coloration qui vous obtenez quand vous double-déclic un ensemble de colorants à la couleur un baquet de colorant. Ceci devrait la faciliter pour qu'un joueur sélectionne une couleur pour des choses.
D'autres articles de note qui ont changé depuis 55i
· Vous pouvez maintenant RETURN 1 d'un déclenchement de @Login pour nier un joueur. Il débranchera simplement son client.
· Il y a maintenant une étiquette spéciale appelée TAG.JAIL_RELEASEPOINT, qui est placé quand un joueur est emprisonné aux coordonnées auxquelles il a été emprisonné. Quand un joueur est pardonné, il est immédiatement déplacé par télépathie de nouveau à son point de dégagement. Tandis que le joueur est en prison, vous pouvez changer le point auquel il ira quand sortant.
· Il y a maintenant une étiquette spéciale appelée TAG.PARTY_CANLOOTME qui permettra à un membre de partie de piller un joueur. Ceci est placé par le système automatiquement par l'intermédiaire du menu de partie, mais vous pouvez le changer dans un manuscrit si vous voulez à.
· Vous pouvez employer la notation de rangée comme VAR.X[1 ] avec VARs et étiquettes. Ils fonctionnent juste comme les étiquettes normales et les rangées, sauf que vous pouvez employer l'interpolation de valeur au milieu. Par exemple :

var.blah=0
var.x[0]="Test"
sysmessage x[blah] // Will sysmessage "Test"
· Vous pouvez maintenant placer la version minimum de client en employant CLIENTVERMIN
· Tous les clients ont maintenant une variable appelée CLIENTRES, qui indique quelle version d'UO ils ont. Les valeurs sont 0 = régulier, 1 = T2A/Renaissance, 2 = Third Dawn, 3 = la vengeance du prunellier (vive la traduction automatique !)
· Les caractères peuvent détail une version minimum de défaut en utilisant les valeurs ci-dessus dans le RESLEVEL variable. Ils peuvent également indiquer un corps alternatif pour montrer dans RESDISPID pour ceux qui n'atteignent pas le niveau exigé.
· Les armes peuvent maintenant (de nouveau) indiquent une vitesse, qui est indépendant de leur poids. La VITESSE variable est dans les tenths d'une seconde.
· Il y a maintenant des commandes de SYSMESSAGEU et de SMSGU pour des sysmessages d'Unicode (mais aucuns sysmessages colorés pourtant)
· Les secteurs ont maintenant des attributs de CLAIR DE LUNE et de MOONPHASE, qui peuvent être changés.
· Placez CHARTITLES à 0 dans votre dossier de sphere.ini, et aucune information (karma/fame) de titre ou honorifique ne sera montrée dans le paperdoll
· Les noms suivants d'événement ont été changés. Il est probablement joli facile de figurer hors de ce qu'étaient ils :
ON=@UserStats //nouveau (les feux quand l'utilisateur regarde sa fenêtre de stat)
ON=@UserClick
ON=@UserDClick
ON=@UserProfile
ON=@UserSkills //nouveau (les feux quand l'utilisateur ouvre son menu de compétence)
ON=@itemUserClick
ON=@itemUserDClick
· Les comptes peuvent maintenant avoir des tags.
· Employer SAFE.TAG.something renverra le ''si l'étiquette (=tag) est inadmissible. Ceci empêche l'erreur non définie de ''de symbole.
· Les régions peuvent maintenant recouvrir aussi longtemps qu'elles sont définies pour différents mapplanes
· Employer HIT mettra le feu au @GetHit et placera le drapeau criminel, tandis que les DAMAGE pas .
· Les articles ont maintenant des variables de HITS et de HITSMAX
· La liste d'admin peut maintenant être assortie. Voyez l'abrégé pour l'information sur les paramètres.
· Les caractères ont maintenant une fonction de DÉMONTAGE à la laquelle les cause, bien, démontent de quelque chose qu'elles montent
· VARs sont maintenant sauvés avec le monde. C'est complètement nouveau.
· La ligne de la vue ne s'applique plus aux objets au-dessus et au-dessous de vous, ainsi vous ne pouvez tirer par des toits plus.
· L'e_allplayer et les spk_allplayers de traiteurs d'événement existent maintenant. Non sûr dans quel dossier ils sont. Mais ils s'appliquent à tous les joueurs, qu'ils soient placés ou pas.
· Sphere.ini's CLIENTSPERIP vous permet d'indiquer le nombre de clients permis par IP (pour les personnes qui entrent en tant que plus d'un caractère en même temps).
Si cela ne vous importurne pas j'aimerais m'exprimer sur se sujet.
J'ai remarquer que sphère est facile utilisation mais une foix dans le hardcode sa devient hyper nul.Exemple je veux faire que décompte positif exemple pour les dates.
En C/C+/C++=
# include <stdio.h> //pour ceux qui le savent pas C'est pour printf
main() //naturellement
{
while (x > 0);
int i = 10; //défini la variable i pour la valeur 10
printf (''Ceci est un décompte''); //affiche à l'écran
printf (''%d'' , i--); //%d = i qui se diminue
}

Et voila mon décompte c'est hyper simple mais sur sphère sa semble être du hardcode...Bref il on encore du travail je croit...

P.S.:Pour ceux qui n'y croit pas,regardez leur système d'heure et quelqu'un de leur calendrier...si vous connaissez un peu le C vous allez vous rendre compte que le système d'heure/Date/année est vraiment simple .
j'aime bien ton decompte qui ne decompte rien lol

1 : ca compile pas parce que x est pas declaree
2 : si tu le declares le while part en boucle infinie
3 : si tu l'initialise a 0 on entre pas dans la boucle
4 : tu as mis 2 ' et pas 1 "

En gros si tu corriges toutes les fautes ton programme va juste afficher :
Ceci est un décompte10

moyen quand meme comme exemple de decompte.
on va faire ca proprement:

Code:
# include <stdio.h>

int main()
{
  int i = 10;

  printf ("Ceci est un décompte\n");
  while (i > 0)
    printf("%d\n", i--);
  return (0);
}
Le ''return (0)'' n'est pas vraiment utile mais c'est vrai que j'ai inversé le while mais bon j'ai pas fini tout mes cours et j'ai un peu oublié à cause du chapitre ''pointeur'' .Mais bon ....
 

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés