Besoin de vous pour un customcheck

  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Salut,

J'ai finit un petit addon d'xp que je vais release dès que j'aurait résolu mon problème,
Donc, j'ai dans le data du serveur l'XP du joueur dans le fichier: "dead_xp/STEAMID64.txt" j'ai donc essayer ça:

Code:
 customcheck = function(ply) if file.Read("dead_xp/"..ply:SteamID64()..".txt") >= 1000 then return true else return false end CustomCheckFailMsg = "Vous devez avoir plus d'XP pour prendre ce job"
Mais ça ne marche pas, j'ai essayer aussi cette méthode:

Code:
 customCheck = function(ply) return file.Read("dead_xp/"..ply:SteamID64()..".txt") >= 1000 or ply:IsAdmin() end, CustomCheckFailMsg = "You must have at least two hours to play as this job!"
Qui ne marche pas non plus :/


Merci de votre aide
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Deadman69330 à dit:
Salut,

J'ai finit un petit addon d'xp que je vais release dès que j'aurait résolu mon problème,
Donc, j'ai dans le data du serveur l'XP du joueur dans le fichier: "dead_xp/STEAMID64.txt" j'ai donc essayer ça:

Code:
 customcheck = function(ply) if file.Read("dead_xp/"..ply:SteamID64()..".txt") >= 1000 then return true else return false end CustomCheckFailMsg = "Vous devez avoir plus d'XP pour prendre ce job"
Mais ça ne marche pas, j'ai essayer aussi cette méthode:

Code:
 customCheck = function(ply) return file.Read("dead_xp/"..ply:SteamID64()..".txt") >= 1000 or ply:IsAdmin() end, CustomCheckFailMsg = "You must have at least two hours to play as this job!"
Qui ne marche pas non plus :/


Merci de votre aide
Psq ton file read sort sous forme de string et pas en nombre
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
thepsyca à dit:
Psq ton file read sort sous forme de string et pas en nombre
Bah pourtant à chaque fois que je fait ça dans mon init.lua il me sort un nombre et pas un string
 
M

Membre supprimé 98332

Anonyme
Deadman69330 à dit:
Bah pourtant à chaque fois que je fait ça dans mon init.lua il me sort un nombre et pas un string
Non, tu fais erreur. https://wiki.garrysmod.com/page/File/Read
Pour le vérifier, tu peux utiliser type()

Il est bien marqué que cette fonction retourne une string.
Donc il faut que tu utilises la fonction standard tonumber() http://www.lua.org/manual/5.1/manual.html#pdf-tonumber

Après, tu peux faire une petite vérification au cas où il y aurait une erreur dans la conversion :
C-like:
if not tonumber("string") then
else
end
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Deadman69330 à dit:
Bah pourtant à chaque fois que je fait ça dans mon init.lua il me sort un nombre et pas un string
Un string peut contenir des nombres mais ça n'est pas un nombre : ça reste des caractères sous forme de message (string).
 
  • J'aime
Réactions: Deadman69330
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
EpicGaby à dit:
Non, tu fais erreur. https://wiki.garrysmod.com/page/File/Read
Pour le vérifier, tu peux utiliser type()
Autant pour moi ^^'


EpicGaby à dit:
if not tonumber("string") then // Message d'erreur else // Ton code end
Donc ce code est bon ?
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
  • J'aime
Réactions: Membre supprimé 98332
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Maintenant ça marche niquel (j'ai plus d'erreur) mais le customcheck ne marche pas, pourtant j'ai bien mis les return:

Code:
 customcheck = function(ply) if tonumber(file.Read("dead_xp/"..ply:SteamID64()..".txt")) >= 5000 then print("It's Okay") return true else print("You can't become") return false end end
 
Feytone

Feytone

Chuck Norris
Messages
4 741
Score réaction
1 301
Points
600
Tes print fonctionnent ou pas ?
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Deadman69330 à dit:
Maintenant ça marche niquel (j'ai plus d'erreur) mais le customcheck ne marche pas, pourtant j'ai bien mis les return:

Code:
 customcheck = function(ply) if tonumber(file.Read("dead_xp/"..ply:SteamID64()..".txt")) >= 5000 then print("It's Okay") return true else print("You can't become") return false end end
C'est tout à fait normal, regarde bien le wiki http://wiki.garrysmod.com/page/file/Read
 
  • J'aime
Réactions: Membre supprimé 98332
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
thepsyca à dit:
C'est tout à fait normal, regarde bien le wiki http://wiki.garrysmod.com/page/file/Read
Olalala quel con, j'avais oublier le "DATA" :oops:

Mais même en ajoutant le ", "DATA" " ça marche pas :/
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Deadman69330 à dit:
Olalala quel con, j'avais oublier le "DATA" :oops:

Mais même en ajoutant le ", "DATA" " ça marche pas :/
Aucun print ?
Essaye de print le file.read
Au passage tu devrais crée une fonction ply:GetXP() ça serait déjà plus simple pour les futur utilisateurs de ton addons
 
  • J'aime
Réactions: Feytone
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
thepsyca à dit:
Aucun print ?
Essaye de print le file.read
Quand je fait ça:
Code:
 customcheck = function(ply) print(file.Read("dead_xp/"..ply:SteamID64()..".txt", "DATA")) end
Et que je deviens le job en question, j'obtient aucun print dans la console :/


thepsyca à dit:
Au passage tu devrais crée une fonction ply:GetXP() ça serait déjà plus simple pour les futur utilisateurs de ton addons
Bonne idée Captain' mais jsp faire ça moi XD








PS: Même quand je print un truc random genre print("Test") il n'est pas print
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Deadman69330 à dit:
Quand je fait ça:
Code:
 customcheck = function(ply) print(file.Read("dead_xp/"..ply:SteamID64()..".txt", "DATA")) end
Et que je deviens le job en question, j'obtient aucun print dans la console :/



Bonne idée Captain' mais jsp faire ça moi XD








PS: Même quand je print un truc random genre print("Test") il n'est pas print
Tu devrais faire ta fonction ( exemple : https://hastebin.com/mivezafimi.php )

Test la comme je fais et une fois que t'es sur qu'elle fonctionne intègre la dans ton custom check
 
  • J'aime
Réactions: Deadman69330
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
thepsyca à dit:
Tu devrais faire ta fonction ( exemple : https://hastebin.com/mivezafimi.php )

Test la comme je fais et une fois que t'es sur qu'elle fonctionne intègre la dans ton custom check
Je vais essayer, merci :)
 
Discord d'entraide
Rejoignz-nous sur Discord