[Addon] NPC JOB

  • Initiateur de la discussion Lyfe
  • Date de début

L'addon vous plaît-il (mise à part les bugs qui, j'imagine viendront) ?


  • Total des votants
    12
  • Initiateur de la discussion
Lyfe

Lyfe

Geek
Messages
17
Score réaction
5
Points
50
Bonjour, Bonsoir.

Je débute actuellement le GLua et je vous ai disposé aujourd'hui un (comme le titre) NPC JOB,
étant encore débutant j'ai fais de mon mieux pour éviter des bugs. J'espère que vous n'êtes pas trop exigeant, si c'est le cas éviter de le télécharger pour ne pas avoir mal aux yeux. :)

En espérant également que mon Addon vous plaira. J'y ai passé au total: 2 Jours soit environ 20h de développement. (Je sais que certains d'entre-vous ferez ça en 5 minutes).

Je vous ai aussi disposé des screenshots pour voir à peu près comment est esthétiquement l'Addon.
Dans le fichier lié vous avez un Readme.txt qui vous servira de Tutoriel. (Disponible en Anglais et Français).



Screenshots LIEN 1: https://prnt.sc/j1o5j7
Screenshots LIEN 2: https://prnt.sc/j1o5bo
Lien de téléchargement (Github):
https://github.com/Carposhlag/NPC_JOBS/



PS: Pour le moment vous ne pouvez pas ajouter de boutons si vous plus de métier que de boutons disponible sur le panel. Cependant, je peux vous faire d'autres NPC JOB ayant le même Design.

REPS: Toutes les personnes me prenant de hauts, ou bien sont là uniquement pour critiquer sans construire de phrases: Je vous invites à aller vous faire cuir un œuf par la Direction Présidentiel.
 
Dernière édition:
  • J'aime
Réactions: slownls
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Pour dl il faut une clé ;)
 
  • Initiateur de la discussion
Lyfe

Lyfe

Geek
Messages
17
Score réaction
5
Points
50
Ah quel con! Je fais ça de suite, merci! :)
 
Malcolm

Malcolm

Psychopathe
Messages
1 096
Score réaction
262
Points
280
Sympa comme addon pour un premier addon ^^
Sinon c'est pas "I want to be a citizen" ?
 
  • Initiateur de la discussion
Lyfe

Lyfe

Geek
Messages
17
Score réaction
5
Points
50
Honnêtement, pour ce qui est de l'anglais j'aurais dû éviter de faire le con en classe. ^^
 
  • J'aime
  • Haha
Réactions: boubou77889 et TheGmader
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
OMGGGG

Future grand dev
 
  • J'aime
Réactions: Wabel, ZarosOVH, RazzMo et 2 autres
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
J'aime pas trop le derma mais pourquoi pas

PS: code magnifique
 
Dernière édition:
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Code:
util.AddNetworkString( "CyrilNPC5" ) net.Start( "CyrilNPC5" )
net.Receive("CyrilNPC5",function(_,ply ) ply:changeTeam(TEAM_GANG) -- EDIT THE JOB HERE
end)
net.Start("CyrilNPCX") ne sert à rien ;)
 
RazzMo

RazzMo

Geek suprême
Messages
314
Score réaction
192
Points
120
Je kiff tu vraiment un tueur mec continue bg
 
  • J'aime
Réactions: Lyfe, slownls, ZarosOVH et 1 autre personne
  • Initiateur de la discussion
Lyfe

Lyfe

Geek
Messages
17
Score réaction
5
Points
50
Mairçi maik 2 ton ssoutwin !
 
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
Salut, c'est bien de démarrer sur ce genre de choses, cependant utilise la boucle in pairs pour faire plusieurs boutons qui seront définis en config exemple :

Code:
-- Table -->
SimpleButtonTable = {}
-- reprends la table et tu la fais devenir en un numéro de table
SimpleButtonTable[1] = { -- dans celle ci indique ce que tu veux par exemple le nom du bouton
Name = "Jesaispas"
}
[code]
ensuite en client tu reviens et tu fais une boucle de la table, puis étant donné que c'est k,v tu utilise v.(CeQueTuVeux) de ta table^^
et tu répètes la table autant que tu veux, pense à faire un DScrollPanel pour éviter que les boutons sortent de la frame^^
pairs : https://wiki.garrysmod.com/page/Global/pairs

PS : Pense à aligner ton code c'est horrible à voir
 
  • Initiateur de la discussion
Lyfe

Lyfe

Geek
Messages
17
Score réaction
5
Points
50
SlownLS m'a dit la même chose, au début je commençais à organiser et je me suis dis "Osef" ça me soûle, je tâcherais de m'organiser! Merci ! :D
 
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
Lyfe à dit:
SlownLS m'a dit la même chose, au début je commençais à organiser et je me suis dis "Osef" ça me soûle, je tâcherais de m'organiser! Merci ! :D
Je me le suis dis plus d'une fois, il faut persévérer, courage !^^
 
NotIdea

NotIdea

Geek suprême
Messages
205
Score réaction
306
Points
120
Fleodon à dit:
Salut, c'est bien de démarrer sur ce genre de choses, cependant utilise la boucle in pairs pour faire plusieurs boutons qui seront définis en config exemple :

Code:
-- Table -->
SimpleButtonTable = {}
-- reprends la table et tu la fais devenir en un numéro de table
SimpleButtonTable[1] = { -- dans celle ci indique ce que tu veux par exemple le nom du bouton
Name = "Jesaispas"
}
[code]
ensuite en client tu reviens et tu fais une boucle de la table, puis étant donné que c'est k,v tu utilise v.(CeQueTuVeux) de ta table^^
et tu répètes la table autant que tu veux, pense à faire un DScrollPanel pour éviter que les boutons sortent de la frame^^
pairs : https://wiki.garrysmod.com/page/Global/pairs

PS : Pense à aligner ton code c'est horrible à voir
Sauf que la il cherche a afficher des jobs donc:
Code:
for k,v in pairs(RPExtraTeams) do
-- boutons
end
 
  • J'aime
Réactions: Spammer222 et Spammer220
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
NotIdea à dit:
Sauf que la il cherche a afficher des jobs donc:
Code:
for k,v in pairs(RPExtraTeams) do
-- boutons
end
Fleodon à dit:
-- dans celle ci indique ce que tu veux par exemple le nom du bouton
Tu sais lire ? Kappa
 
NotIdea

NotIdea

Geek suprême
Messages
205
Score réaction
306
Points
120
Fleodon à dit:
Tu sais lire ? Kappa
Sauf que la tu lui montre un exemple avec ceci:
Code:
SimpleButtonTable[1] = { -- dans celle ci indique ce que tu veux par exemple le nom du bouton
Name = "Jesaispas"
}
sauf que sa sert strictement à rien pour ce qu'il veux faire, montre lui des choses concrètes

Edit: Et au passage je commences vraiment à croire que tu ne sais vraiment pas développer (je ne le crois pas seulement) car tu parles de choses qui n'ont rien à voir avec ce que je te dit..
 
  • J'aime
Réactions: Spammer220
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
NotIdea à dit:
Sauf que la tu lui montre un exemple avec ceci:
Code:
SimpleButtonTable[1] = { -- dans celle ci indique ce que tu veux par exemple le nom du bouton
Name = "Jesaispas"
}
sauf que sa sert strictement à rien pour ce qu'il veux faire
Si car sert à quelque chose, au lieu de nous provoquer une anomalie visuelle en client et bouffer des lignes pour rien avec une simple boucle en pairs on économise facile 80Lignes.


NotIdea à dit:
montre lui des choses concrètes
A lui de trouver je lui est montré la base.

Amicalement
 
NotIdea

NotIdea

Geek suprême
Messages
205
Score réaction
306
Points
120
Fleodon à dit:
Si car sert à quelque chose, au lieu de nous provoquer une anomalie visuelle en client et bouffer des lignes pour rien avec une simple boucle en pairs on économise facile 80Lignes.



A lui de trouver je lui est montré la base.

Amicalement
Regarde l'édit.
 
  • J'aime
Réactions: Spammer222
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
NotIdea à dit:
Regarde l'édit.
Code:
SimpleButtonTable[1] = {
Team = TEAM_MAYOR
}
Waaaaaaaaaaaaouw c'était dur didonc sans mon aide il n'aurait pas trouvé, mais atteeeends

NotIdea à dit:
Edit: Et au passage je commences vraiment à croire que tu ne sais vraiment pas développer (je ne le crois pas seulement) car tu parles de choses qui n'ont rien à voir avec ce que je te dit..
Puut*** de bordel de meeeerd* en plus t'est qui pour me juger aufaites ? Ca y est t'est arrivé sur le forum 3Méssages, 1Edit tu commence à juger mes compétences, naa sheitan mon khey change de fofo, ta cru la vie c'est un kiwi ?

Non mais sérieusement, tu me prends pour un con je crois, en aucun cas tu remets mes compétences, tu ne sais pas le travail que je n'affiche pas, tu ne sais pas ce que je fais pour des gens, tu ne sais pas ce que je fais pour mon serveur, donc j'ai pas de temps à perdre, je veux aider des gens toi t'arrive en mode "oueee ton travail c'est de la merde, tu sais pas dev, tu montre pas ce qu'il faut faire", t'avais qu'a le lui montrer si tu sais juger "quelqu'un qui ne sait pas dev", breff tchao
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
Fleodon à dit:
Code:
SimpleButtonTable[1] = {
Team = TEAM_MAYOR
}
Waaaaaaaaaaaaouw c'était dur didonc sans mon aide il n'aurait pas trouvé, mais atteeeends



Puut*** de bordel de meeeerd* en plus t'est qui pour me juger aufaites ? Ca y est t'est arrivé sur le forum 3Méssages, 1Edit tu commence à juger mes compétences, naa sheitan mon khey change de fofo, ta cru la vie c'est un kiwi ?

Non mais sérieusement, tu me prends pour un con je crois, en aucun cas tu remets mes compétences, tu ne sais pas le travail que je n'affiche pas, tu ne sais pas ce que je fais pour des gens, tu ne sais pas ce que je fais pour mon serveur, donc j'ai pas de temps à perdre, je veux aider des gens toi t'arrive en mode "oueee ton travail c'est de la merde, tu sais pas dev, tu montre pas ce qu'il faut faire", t'avais qu'a le lui montrer si tu sais juger "quelqu'un qui ne sait pas dev", breff tchao
Vous savez pas dev Kappa
 
NotIdea

NotIdea

Geek suprême
Messages
205
Score réaction
306
Points
120
Fleodon à dit:
Code:
SimpleButtonTable[1] = {
Team = TEAM_MAYOR
}
Waaaaaaaaaaaaouw c'était dur didonc sans mon aide il n'aurait pas trouvé, mais atteeeends



Puut*** de bordel de meeeerd* en plus t'est qui pour me juger aufaites ? Ca y est t'est arrivé sur le forum 3Méssages, 1Edit tu commence à juger mes compétences, naa sheitan mon khey change de fofo, ta cru la vie c'est un kiwi ?

Non mais sérieusement, tu me prends pour un con je crois, en aucun cas tu remets mes compétencesk, tu ne sais pas le travail que je n'affiche pas, tu ne sais pas ce que je fais pour des gens, tu ne sais pas ce que je fais pour mon serveur, donc j'ai pas de temps à perdre, tu veux aider des gens toi t'arrive en mode "oueee ton travail c'est de la merde, tu sais pas dev, tu montre pas ce qu'il faut faire", t'avais qu'a le lui montrer si tu sais juger "quelqu'un qui ne sait pas dev", breff tchao
Ah, parce que je viens d'arriver j'ai pas le droit de juger tes knowledges en développement ? Surtout que t'es vraiment pas très fut fut quand je vois ce que tu fait, ton truc n'est toujours pas valide, il y a moyen de créer des boutons automatique pour chaque métier (for k, v in pairs(RPExtraTeams)) et c'est pas comme si je l'avais dit plus haut. Tu fait des trucs pour des gens? Je voudrais bien voir sa vu ton peu de connaissances.
 
  • J'aime
Réactions: Spammer220
  • Initiateur de la discussion
Lyfe

Lyfe

Geek
Messages
17
Score réaction
5
Points
50
MDR, vous me tuez les gars ! Pourquoi s'énerver de base j'étais là pour montrer mon Addon calmez vous MDRR xD
 
Akulla

Akulla

Helpeur Divin
Messages
3 808
Score réaction
2 240
Points
550
Fleodon à dit:
Code:
SimpleButtonTable[1] = {
Team = TEAM_MAYOR
}
Waaaaaaaaaaaaouw c'était dur didonc sans mon aide il n'aurait pas trouvé, mais atteeeends



Puut*** de bordel de meeeerd* en plus t'est qui pour me juger aufaites ? Ca y est t'est arrivé sur le forum 3Méssages, 1Edit tu commence à juger mes compétences, naa sheitan mon khey change de fofo, ta cru la vie c'est un kiwi ?

Non mais sérieusement, tu me prends pour un con je crois, en aucun cas tu remets mes compétences, tu ne sais pas le travail que je n'affiche pas, tu ne sais pas ce que je fais pour des gens, tu ne sais pas ce que je fais pour mon serveur, donc j'ai pas de temps à perdre, tu veux aider des gens toi t'arrive en mode "oueee ton travail c'est de la merde, tu sais pas dev, tu montre pas ce qu'il faut faire", t'avais qu'a le lui montrer si tu sais juger "quelqu'un qui ne sait pas dev", breff tchao
Donc car il a 3 messages il a pas le droit de parler ?

Et toi,t'es qui pour mal lui parler ?
Encore plus pour que tu montre que ta le plus gros zizi des dev lua "en aucun cas tu remets mes compétences" et puis ta pas le meilleur niveau,ne va pas me dire que tu peux refaire le vcmod donc oui,il peux te critiquer car tu n'atteint pas la perfection
 
  • J'aime
Réactions: NotIdea
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
NotIdea à dit:
for k, v in pairs(RPExtraTeams))
for k,v in pairs RPExtraTeams ..
Ok alors dis moi comment tu fais pour des jobs que tu veux sélectionner ?
 
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
Akulla à dit:
Donc car il a 3 messages il a pas le droit de parler ?

Et toi,t'es qui pour mal lui parler ?
Dieu Kappa
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
Fleodon à dit:
for k,v in pairs RPExtraTeams ..
Ok alors dis moi comment tu fais pour des jobs que tu veux sélectionner ?
if k != 2 then continue end <3
 
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
slownls à dit:
if k != 2 then continue end <3
Puteein mais arrête de souffler..

/me prends par le col SlownLS, lui fous deux baffes, le fous au sol, le martyrise, le relève et l'envoie au coin.
**SlownLS enfilera son bonnet d'ane**
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
Fleodon à dit:
Puteein mais arrête de souffler..

/me prends par le col SlownLS, lui fous deux baffes, le fous au sol, le martyrise, le relève et l'envoie au coin.
**SlownLS enfilera son bonnet d'ane**
Par contre prend pas la confiance
 
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
slownls à dit:
Par contre prend pas la confiance
Toi même t'est un p'tit mariole, tu feras rien !

tableau des heures.PNG
 
Flaaxo

Flaaxo

Psychopathe
Messages
1 602
Score réaction
771
Points
310
slownls à dit:
Par contre prend pas la confiance
Tkt gros si tu veux je peux t’apprendre à te défendre en cas d’agression
 
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
SaisPasAirpé à dit:
Tkt gros si tu veux je peux t’apprendre à te défendre en cas d’agression
Non il préfere se cacher @slownls c'est un trouillard Kappa
 
  • J'aime
Réactions: Flaaxo
Flaaxo

Flaaxo

Psychopathe
Messages
1 602
Score réaction
771
Points
310
Fleodon à dit:
Non il préfere se cacher @slownls c'est un trouillard Kappa
Oue je l’avais déjà remarqué mais tkt avec moi sa va changer, je vais le faire évoluer de fragile en Mike Tyson blanc
 
Akulla

Akulla

Helpeur Divin
Messages
3 808
Score réaction
2 240
Points
550
Flaaxo

Flaaxo

Psychopathe
Messages
1 602
Score réaction
771
Points
310
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
SaisPasAirpé à dit:
Oue je l’avais déjà remarqué mais tkt avec moi sa va changer, je vais le faire évoluer de fragile en Mike Tyson blanc
Maaais attends.. Franck Ropers confirmé ?
 
  • J'aime
Réactions: Flaaxo
Akulla

Akulla

Helpeur Divin
Messages
3 808
Score réaction
2 240
Points
550
SaisPasAirpé à dit:
Trop vif tu spam sur ton F5 rhey ?
On va dire que j'ai F5 au bon moment
 
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
Akulla à dit:
On va dire que j'ai F5 au bon moment
Non tu veux pas avouer que ta renversé ta tasse de café sur F5 Kappa
 
Akulla

Akulla

Helpeur Divin
Messages
3 808
Score réaction
2 240
Points
550
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
NotIdea

NotIdea

Geek suprême
Messages
205
Score réaction
306
Points
120
Fleodon à dit:
for k,v in pairs RPExtraTeams ..
Ok alors dis moi comment tu fais pour des jobs que tu veux sélectionner ?
Sauf que dans son truc il y a tout les jobs,
autist/20
 
  • J'aime
Réactions: Spammer222 et Spammer220
Fleodon

Fleodon

Geek suprême
Messages
819
Score réaction
193
Points
150
  • J'aime
Réactions: slownls
NotIdea

NotIdea

Geek suprême
Messages
205
Score réaction
306
Points
120
  • J'aime
Réactions: Spammer222 et Spammer220
estebandu44

estebandu44

Geek suprême
Messages
496
Score réaction
108
Points
150
cc
 
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 408
Score réaction
443
Points
300
NotIdea à dit:
Si, apprends à regarder coco :)

repartie / 20 ;)
Va faire le malin en MP
Tu pourris le post
 
Z3k4

Z3k4

Helpeur Divin
Messages
4 495
Score réaction
1 513
Points
580
Personnellement, je considère que du moment où on répond aux questions du créateur du poste, faire du HS n'est pas très grave..
 
Makss

Makss

Psychopathe
Messages
830
Score réaction
990
Points
310
C'est pas mal ça dit donc, tu commences sur les chapeaux de roux
Par contre y'a certaines choses que je ne comprends pas trop, par exemple :
Code:
util.AddNetworkString( "CyrilNPC3" ) net.Start( "CyrilNPC3" )
net.Receive("CyrilNPC3",function(_,ply ) ply:changeTeam(TEAM_MAYOR) -- EDIT THE JOB HERE
end)
Le net.Start est inutile je suppose, pis tu ne vérifies pas si la personne est proche d'un NPC donc on peux changer de métier quand on veux
Pour le réseaux au lieu de faire dix milliers de util.AddNetworkString tu peux en faire qu'un seul et le client envoie un ID au serveur, par exemple l'ID 1 = Job maire donc
Code:
net.Start("Transmorfers")
net.WriteUInt( 1, 8) -- Pour aller plus loin : http://wiki.garrysmod.com/page/net/WriteUInt // http://www.courstechinfo.be/MathInfo/NbrSignes.html
net.SendToServer()
-- cote serveur
local bonsoirJeSuisUnMetier = {}
bonsoirJeSuisUnMetier[1] = TEAM_MAYOR
net.Receive("Transmorfers", function(_, ply) local id = net.ReadUInt(8) local teamSwitch = bonsoirJeSuisUnMetier[id]
end)
Bon après évite de copier/coller ce code il est pas très bon

Sinon côté client,
Comme l'on dit @NotIdea et @Fleodon ( aka @M.Ego ) maladroitement au lieu de faire à chaque fois des lignes pour créer un bouton tu peux utiliser une boucle qui loop sur tout les métiers et créé automatiquement un bouton, en utilisant soit une variable avec des métiers inséré par celui qui modifiera le script soit en utilisant la table de tout les métiers DarkRP : RPExtraTeams
C'est pas obligatoire de déclarer une variable unique pour chaque bouton, du coup ton code peut ressembler à ça :
Code:
-- ceci est un tableau à 2 dimensions // http://wxlua.free.fr/Tutoriel_Lua/Tuto/Tables/tables3.php
local autre = { { TEAM_MAYOR, " Je veux devenir président de cette cité état " }, { TEAM_SDF, " Je choisis STMG " }, { TEAM_PYTHON, " Noraj de ma team @Taink " }
}
for k, v in pairs( autre ) do local b = vgui b:SetPos( utilise les maths exemple 20 * k ) b:SetText( v[2] )
end
Et si tu es un optiminazi au lieu de faire for k, v in pairs tu peux utiliser
Code:
for i=1, #autre do
dans ce cas i sera égal à k et il faudra faire manuellement autre[i] pour avoir la valeur, mais c'est plus optimisé

Petite aparté, ceci
Fleodon à dit:
Puut*** de bordel de meeeerd* en plus t'est qui pour me juger aufaites ? Ca y est t'est arrivé sur le forum 3Méssages, 1Edit tu commence à juger mes compétences, naa sheitan mon khey change de fofo, ta cru la vie c'est un kiwi ?

Non mais sérieusement, tu me prends pour un con je crois, en aucun cas tu remets mes compétences, tu ne sais pas le travail que je n'affiche pas, tu ne sais pas ce que je fais pour des gens, tu ne sais pas ce que je fais pour mon serveur, donc j'ai pas de temps à perdre, je veux aider des gens toi t'arrive en mode "oueee ton travail c'est de la merde, tu sais pas dev, tu montre pas ce qu'il faut faire", t'avais qu'a le lui montrer si tu sais juger "quelqu'un qui ne sait pas dev", breff tchao
m'a fait beaucoup rire non en faite j'ai convulsé mais bon
 
Dernière édition:
  • J'aime
Réactions: Yoh Sambre ♪ et NotIdea
NotIdea

NotIdea

Geek suprême
Messages
205
Score réaction
306
Points
120
Makss à dit:
C'est pas mal ça dit donc, tu commences sur les chapeaux de roux
Par contre y'a certaines choses que je ne comprends pas trop, par exemple :
Code:
util.AddNetworkString( "CyrilNPC3" ) net.Start( "CyrilNPC3" )
net.Receive("CyrilNPC3",function(_,ply ) ply:changeTeam(TEAM_MAYOR) -- EDIT THE JOB HERE
end)
Le net.Start est inutile je suppose, pis tu ne vérifies pas si la personne est proche d'un NPC donc on peux changer de métier quand on veux
Pour le réseaux au lieu de faire dix milliers de util.AddNetworkString tu peux en faire qu'un seul et le client envoie un ID au serveur, par exemple l'ID 1 = Job maire donc
Code:
net.Start("Transmorfers")
net.WriteUInt( 1, 8) -- Pour aller plus loin : http://wiki.garrysmod.com/page/net/WriteUInt // http://www.courstechinfo.be/MathInfo/NbrSignes.html
net.SendToServer()
-- cote serveur
local bonsoirJeSuisUnMetier = {}
bonsoirJeSuisUnMetier[1] = TEAM_MAYOR
net.Receive("Transmorfers", function(_, ply) local id = net.ReadUInt(8) local teamSwitch = bonsoirJeSuisUnMetier[id]
end)
Bon après évite de copier/coller ce code il est pas très bon

Sinon côté client,
Comme l'on dit @NotIdea et @Fleodon ( aka @M.Ego ) maladroitement au lieu de faire à chaque fois des lignes pour créer un bouton tu peux utiliser une boucle qui loop sur tout les métiers et créé automatiquement un bouton, en utilisant soit une variable avec des métiers inséré par celui qui modifiera le script soit en utilisant la table de tout les métiers DarkRP : RPExtraTeams
C'est pas obligatoire de déclarer une variable unique pour chaque bouton, du coup ton code peut ressembler à ça :
Code:
-- ceci est un tableau à 2 dimensions // http://wxlua.free.fr/Tutoriel_Lua/Tuto/Tables/tables3.php
local autre = { { TEAM_MAYOR, " Je veux devenir président de cette cité état " }, { TEAM_SDF, " Je choisis STMG " }, { TEAM_PYTHON, " Noraj de ma team @Taink " }
}
for k, v in pairs( autre ) do local b = vgui b:SetPos( utilise les maths exemple 20 * k ) b:SetText( v[2] )
end
Petite aparté, ceci

m'a fait beaucoup rire non en faite j'ai convulsé mais bon
Très bonne explication :)
 
  • J'aime
Réactions: Spammer222, Spammer220, Wabel et 2 autres
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
16 288
Score réaction
9 687
Points
1 845
Makss à dit:
C'est pas mal ça dit donc, tu commences sur les chapeaux de roux
Par contre y'a certaines choses que je ne comprends pas trop, par exemple :
Code:
util.AddNetworkString( "CyrilNPC3" ) net.Start( "CyrilNPC3" )
net.Receive("CyrilNPC3",function(_,ply ) ply:changeTeam(TEAM_MAYOR) -- EDIT THE JOB HERE
end)
Le net.Start est inutile je suppose, pis tu ne vérifies pas si la personne est proche d'un NPC donc on peux changer de métier quand on veux
Pour le réseaux au lieu de faire dix milliers de util.AddNetworkString tu peux en faire qu'un seul et le client envoie un ID au serveur, par exemple l'ID 1 = Job maire donc
Code:
net.Start("Transmorfers")
net.WriteUInt( 1, 8) -- Pour aller plus loin : http://wiki.garrysmod.com/page/net/WriteUInt // http://www.courstechinfo.be/MathInfo/NbrSignes.html
net.SendToServer()
-- cote serveur
local bonsoirJeSuisUnMetier = {}
bonsoirJeSuisUnMetier[1] = TEAM_MAYOR
net.Receive("Transmorfers", function(_, ply) local id = net.ReadUInt(8) local teamSwitch = bonsoirJeSuisUnMetier[id]
end)
Bon après évite de copier/coller ce code il est pas très bon

Sinon côté client,
Comme l'on dit @NotIdea et @Fleodon ( aka @M.Ego ) maladroitement au lieu de faire à chaque fois des lignes pour créer un bouton tu peux utiliser une boucle qui loop sur tout les métiers et créé automatiquement un bouton, en utilisant soit une variable avec des métiers inséré par celui qui modifiera le script soit en utilisant la table de tout les métiers DarkRP : RPExtraTeams
C'est pas obligatoire de déclarer une variable unique pour chaque bouton, du coup ton code peut ressembler à ça :
Code:
-- ceci est un tableau à 2 dimensions // http://wxlua.free.fr/Tutoriel_Lua/Tuto/Tables/tables3.php
local autre = { { TEAM_MAYOR, " Je veux devenir président de cette cité état " }, { TEAM_SDF, " Je choisis STMG " }, { TEAM_PYTHON, " Noraj de ma team @Taink " }
}
for k, v in pairs( autre ) do local b = vgui b:SetPos( utilise les maths exemple 20 * k ) b:SetText( v[2] )
end
Et si tu es un optiminazi au lieu de faire for k, v in pairs tu peux utiliser
Code:
for i=1, #autre do
dans ce cas i sera égal à k et il faudra faire manuellement autre[i] pour avoir la valeur, mais c'est plus optimisé

Petite aparté, ceci

m'a fait beaucoup rire non en faite j'ai convulsé mais bon
dat tuto
 
  • J'aime
Réactions: Wabel
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
Makss à dit:
C'est pas mal ça dit donc, tu commences sur les chapeaux de roux
Par contre y'a certaines choses que je ne comprends pas trop, par exemple :
Code:
util.AddNetworkString( "CyrilNPC3" ) net.Start( "CyrilNPC3" )
net.Receive("CyrilNPC3",function(_,ply ) ply:changeTeam(TEAM_MAYOR) -- EDIT THE JOB HERE
end)
Le net.Start est inutile je suppose, pis tu ne vérifies pas si la personne est proche d'un NPC donc on peux changer de métier quand on veux
Pour le réseaux au lieu de faire dix milliers de util.AddNetworkString tu peux en faire qu'un seul et le client envoie un ID au serveur, par exemple l'ID 1 = Job maire donc
Code:
net.Start("Transmorfers")
net.WriteUInt( 1, 8) -- Pour aller plus loin : http://wiki.garrysmod.com/page/net/WriteUInt // http://www.courstechinfo.be/MathInfo/NbrSignes.html
net.SendToServer()
-- cote serveur
local bonsoirJeSuisUnMetier = {}
bonsoirJeSuisUnMetier[1] = TEAM_MAYOR
net.Receive("Transmorfers", function(_, ply) local id = net.ReadUInt(8) local teamSwitch = bonsoirJeSuisUnMetier[id]
end)
Bon après évite de copier/coller ce code il est pas très bon

Sinon côté client,
Comme l'on dit @NotIdea et @Fleodon ( aka @M.Ego ) maladroitement au lieu de faire à chaque fois des lignes pour créer un bouton tu peux utiliser une boucle qui loop sur tout les métiers et créé automatiquement un bouton, en utilisant soit une variable avec des métiers inséré par celui qui modifiera le script soit en utilisant la table de tout les métiers DarkRP : RPExtraTeams
C'est pas obligatoire de déclarer une variable unique pour chaque bouton, du coup ton code peut ressembler à ça :
Code:
-- ceci est un tableau à 2 dimensions // http://wxlua.free.fr/Tutoriel_Lua/Tuto/Tables/tables3.php
local autre = { { TEAM_MAYOR, " Je veux devenir président de cette cité état " }, { TEAM_SDF, " Je choisis STMG " }, { TEAM_PYTHON, " Noraj de ma team @Taink " }
}
for k, v in pairs( autre ) do local b = vgui b:SetPos( utilise les maths exemple 20 * k ) b:SetText( v[2] )
end
Et si tu es un optiminazi au lieu de faire for k, v in pairs tu peux utiliser
Code:
for i=1, #autre do
dans ce cas i sera égal à k et il faudra faire manuellement autre[i] pour avoir la valeur, mais c'est plus optimisé

Petite aparté, ceci

m'a fait beaucoup rire non en faite j'ai convulsé mais bon
SeemsGood
 
  • J'aime
Réactions: Wabel, NotIdea et Yoh Sambre ♪
Discord d'entraide
Rejoignz-nous sur Discord