Erreur (j'essai de modifier un """script""")

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

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
Salut, j'essai de modifier un truc avec mes connaissances, sauf que j'ai une erreur que j'avais déjà eu:
Code:
[ERROR] addons/x/lua/autorun/server/test.lua:2: table index is nil 1. unknown - addons/x/lua/autorun/server/test.lua:2
Les ligne en question:
Code:
local tblTeams = {
[TEAM_BANK] = true
}
Je n'arrive donc pas à résoudre cette erreur :x
J'ai aussi un problème du à ce code, je SetTeam, il est bien set team, mais j'ai pas l'impression qu'il soit set team en darkrp, car son nom de job ne change pas ^^'
Merci d'avance à tout ceux qui auront une solution (ou qui auront essayé)
 
Dernière édition:
Caesarovich

Caesarovich

Geek
Messages
182
Score réaction
31
Points
85
NoaGamingFR à dit:
Salut, j'essai de modifier un truc avec mes connaissances, sauf que j'ai une erreur que j'avais déjà eu:
Code:
[ERROR] addons/x/lua/autorun/server/test.lua:2: table index is nil 1. unknown - addons/x/lua/autorun/server/test.lua:2
Les ligne en question:
Code:
local tblTeams = {
[TEAM_BANK] = true
}
Je n'arrive donc pas à résoudre cette erreur :x
J'ai aussi un problème du à ce code, je SetTeam, il est bien set team, mais j'ai pas l'impression qu'il soit set team en darkrp, car son nom de job ne change pas ^^'
Merci d'avance à tout ceux qui auront une solution (ou qui auront essayé)
Pour créer un table il est plus courant de faire comme ça:
local table = {}
table["TEAM_BANK"] = true

Be pas oublier les guillemets !
 
  • Banni
DrTortue

DrTortue

Geek
Messages
69
Score réaction
16
Points
95
directement ça sinon
Code:
local table = { ["TEAM_BANK"] = true }
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Caesarovich à dit:
Pour créer un table il est plus courant de faire comme ça:
local table = {}
table["TEAM_BANK"] = true

Be pas oublier les guillemets !
Non

DrTortue à dit:
directement ça sinon
Code:
local table = { ["TEAM_BANK"] = true }
Non

Ici TEAM_BANK n’a pas besoin de guillemets car il veux utiliser la variable TEAM_BANK qui prend une valeur quand le job est crée.

@NoaGamingFR ton code est chargé avant les jobs darkrp, ce qui fais que TEAM_BANK n’a pas de valeur. Pour fix cela, check sur le wiki darkrp le nom du hook qui est appelé lorsque darkrp a fini de charger, et dans ce hook tu ajoute les éléments dans ta table ;)
 
  • Banni
DrTortue

DrTortue

Geek
Messages
69
Score réaction
16
Points
95
ZarosOVH à dit:
Non


Non

Ici TEAM_BANK n’a pas besoin de guillemets car il veux utiliser la variable TEAM_BANK qui prend une valeur quand le job est crée.

@NoaGamingFR ton code est chargé avant les jobs darkrp, ce qui fais que TEAM_BANK n’a pas de valeur. Pour fix cela, check sur le wiki darkrp le nom du hook qui est appelé lorsque darkrp a fini de charger, et dans ce hook tu ajoute les éléments dans ta table ;)
Pardon Papa :c
 
  • Initiateur de la discussion
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
ZarosOVH à dit:
Non


Non

Ici TEAM_BANK n’a pas besoin de guillemets car il veux utiliser la variable TEAM_BANK qui prend une valeur quand le job est crée.

@NoaGamingFR ton code est chargé avant les jobs darkrp, ce qui fais que TEAM_BANK n’a pas de valeur. Pour fix cela, check sur le wiki darkrp le nom du hook qui est appelé lorsque darkrp a fini de charger, et dans ce hook tu ajoute les éléments dans ta table ;)
Yeay, merci !

Je vais regarder ca sur le wiki :p
Donc je load le hook quand le darkrp à fini de charger et je met ce code dedans ?
Si je veut mettre plusieurs jobs ? et faire pareil pour les armes ? (plusieurs armes)
Caesarovich à dit:
Pour créer un table il est plus courant de faire comme ça:
local table = {}
table["TEAM_BANK"] = true

Be pas oublier les guillemets !
DrTortue à dit:
directement ça sinon
Code:
local table = { ["TEAM_BANK"] = true }
Merci à vous deux, je pense test le truc de Zaros car je pense que c'est pour ça que ca ne fonctionne pas ^^'

PS: J'ai essayé, mais j'ai pas réussi avec le hook.Add, je pense qu'il faut hook.call car j'ai vu quelqu'un aussi essayer pour le darkrp, mais je ne sait pas ou mettre mon code...
 
Dernière édition:
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Salut,

Alors oui comme Zaros l'a dit c'est parce que les jobs n'ont pas encore été chargés.
Tu peux soit mettre un timer de 1s pour ta table, c'est plus rapide..
Ou alors à la place de mettre "TEAM_BANQUIER", mettre plutôt le nom du métier "Banquier" et cette erreur n'aura plus lieu ;-)
 
  • Initiateur de la discussion
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
Wasied à dit:
Salut,

Alors oui comme Zaros l'a dit c'est parce que les jobs n'ont pas encore été chargés.
Tu peux soit mettre un timer de 1s pour ta table, c'est plus rapide..
Ou alors à la place de mettre "TEAM_BANQUIER", mettre plutôt le nom du métier "Banquier" et cette erreur n'aura plus lieu ;-)
D'accord, je vais essayer ce que tu me dit, cependant j'ai quelques question à ce propos :

- Si je met un timer de 1s, comment être sûr que le DarkRP seras chargé moins d'une seconde après l'exécution de l'"addons" ?
- Si je met juste banquier cela détecteras comme un job ? (Tout fonctionneras comme si c'était TEAM_...) ?
- Concernant le hook.Call j'arrive pas à call le darkrpfinish..... donc j'aimerais éventuellement avoir une petite aide car j'ai pas compris avec la doc.

Merci d'avoir répondu :p
 
While True

While True

Geek suprême
Messages
445
Score réaction
395
Points
190
Tes jobs sont théoriquement dans DarkRP modifications, le hook DarkRPFinishedLoading est executé au chargement du gamemode mais avant le chargement des modules custom (DarkRP modifs).

Il faut utiliser le hook loadCustomDarkRPItems, qui est appelé juste après, comme tu peux le constater ici.

Appeler un hook (.Call) c'est le fait de déclencher l'appel des fonctions liées à l’événement envoyé en paramètres.
Ajouter un hook (.Add) c'est le fait d'enregistrer une fonction à exécuter lors de l'événement concerné.

Par exemple :
Tu écris dans un script :
Code:
hook.Add("PlayerDeath", "Test", function(victim, inflictor, attacker) print(victime:Name() .. " est mort.")
end)
Quand un joueur meurt, le gamemode exécute l'instruction :
hook.Call("PlayerDeath", GAMEMODE, victim, inflictor, attacker)
Ce qui a pour effet d'appeler la fonction fournie dans l'appel de hook.Add, à savoir :
function(victim, inflictor, attacker) print(victime:Name() .. " est mort.") end
 
  • Oula
Réactions: NoaGamingFR
  • Initiateur de la discussion
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
While True à dit:
Tes jobs sont théoriquement dans DarkRP modifications, le hook DarkRPFinishedLoading est executé au chargement du gamemode mais avant le chargement des modules custom (DarkRP modifs).

Il faut utiliser le hook loadCustomDarkRPItems, qui est appelé juste après, comme tu peux le constater ici.

Appeler un hook (.Call) c'est le fait de déclencher l'appel des fonctions liées à l’événement envoyé en paramètres.
Ajouter un hook (.Add) c'est le fait d'enregistrer une fonction à exécuter lors de l'événement concerné.

Par exemple :
Tu écris dans un script :
Code:
hook.Add("PlayerDeath", "Test", function(victim, inflictor, attacker) print(victime:Name() .. " est mort.")
end)
Quand un joueur meurt, le gamemode exécute l'instruction :
hook.Call("PlayerDeath", GAMEMODE, victim, inflictor, attacker)
Ce qui a pour effet d'appeler la fonction fournie dans l'appel de hook.Add, à savoir :
function(victim, inflictor, attacker) print(victime:Name() .. " est mort.") end
Ah, merci pour le hook, je doit donc le mettre en add et non en call d'après ce que j'ai compris, je vais essayer cela et je vous donne des nouvelles.
Pour les fonctions etc dans les hooks, je n'ai pas de soucis j'avais juste mal compris pour le hook call :)
 
Discord d'entraide
Rejoignz-nous sur Discord