aide Glua (oui encore et toujours moi)

  • Initiateur de la discussion anthonin lahterman
  • Date de début
  • Initiateur de la discussion
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
Re salut, je fait toujours un pnj medecin mais je l'ai finaliser blabla mais j'ai remarquer que quand on avait 0€ et que l'on prenait des soins, sa nous mettait a -200, du coup j'ai fait un truc comme sa a la place:
Code:
net.Receive('jimmynet2',function(lenght, ply) if ply:Monney < boutton1 then chat.Addtext("Désoler, tu es trop pauvre, se soin coute:".. boutton1) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton1) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-200) end end
end)
En gros j'ai voulu faire que sa vérifie si le jouer a bien les fonds nécessaire mais sur le wiki du darkrp, il n'y a pas de ply:Monney pour savoir combien a-t-il sur lui, il n'y a que le addMonney, c'est pourquoi je vient ici, quelqu’un connaîtrait peut être par hasard le mot?
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
faut check l'argent du joueur via getDarkRPVar("money") et l'add dans ton if
 
  • Initiateur de la discussion
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
ce qui donnerait donc:

Code:
net.Receive('jimmynet2',function(lenght, ply) if getDarkRPVar("money") < boutton1 then chat.Addtext("Désoler, tu es trop pauvre, se soin coute:".. boutton1) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton1) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-200) end end
end)
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
anthonin lahterman à dit:
ce qui donnerait donc:

Code:
net.Receive('jimmynet2',function(lenght, ply) if getDarkRPVar("money") < boutton1 then chat.Addtext("Désoler, tu es trop pauvre, se soin coute:".. boutton1) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton1) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-200) end end
end)
Déjà boutton1 fais ref à quoi ?
Ensuite tu dois ajouter ply: devant le get.
 
  • Initiateur de la discussion
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
JE te donne tout le code:
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include('shared.lua')
util.AddNetworkString("jimmynet1")
util.AddNetworkString("jimmynet2")
util.AddNetworkString("jimmynet3")
util.AddNetworkString("jimmynet4")
function ENT:Initialize() self:SetModel("models/Kleiner.mdl") self:SetHullType(HULL_HUMAN) self:SetHullSizeNormal() self:SetNPCState(NPC_STATE_SCRIPT) self:SetSolid(SOLID_BBOX) self:CapabilitiesAdd(CAP_ANIMATEDFACE) self:SetUseType(SIMPLE_USE) local buyerText = ents.Create("inscription_medecin"); buyerText:SetPos(self:GetPos() + Vector(0, 0, 70)); buyerText:SetParent(self); buyerText:Spawn();
end
function ENT:OnTakeDamage() return false
end
local boutton1 = 25 -- Combien de soins lui atribuer pour le premier boutton?
local boutton2 = 50 -- Combien de soins lui atribuer pour le second boutton?
local boutton3 = 75 -- Combien de soins lui atribuer pour le troisieme boutton?
function ENT:AcceptInput(Name, Activator, Caller) if Name == 'Use' and Caller:IsPlayer() then net.Start('jimmynet1') net.Send(Caller) end
end
net.Receive('jimmynet2',function(lenght, ply) if ply:getDarkRPVar("money") < boutton1 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton1) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton1) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-200) end end
end)
net.Receive('jimmynet3',function(lenght, ply) if ply:getDarkRPVar("money") < boutton2 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton2) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton2) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-400) end end
end)
net.Receive('jimmynet4',function(lenght, ply) if ply:getDarkRPVar("money") < boutton1 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton3) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton3) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-1000) end end
end)
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
beh ça devrais marcher,après le code est pas hyper propre mais bon
 
  • Initiateur de la discussion
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
Amane à dit:
beh ça devrais marcher,après le code est pas hyper propre mais bon
Comment sa?
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
anthonin lahterman à dit:
J'vais te refaire le code en te commentant les trucs pas propres,wait
 
NicolasStr_

NicolasStr_

Geek
Messages
74
Score réaction
44
Points
80
/!\ Il faut check aussi si le joueur est à coté du NPC, exploit possible:

Fais ca dans ta console: lua_run_cl net.Start("jimmynet4") net.SendToServer()
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include('shared.lua')
util.AddNetworkString("jimmynet1")
util.AddNetworkString("jimmynet2")
util.AddNetworkString("jimmynet3")
util.AddNetworkString("jimmynet4")
function ENT:Initialize() self:SetModel("models/Kleiner.mdl") self:SetHullType(HULL_HUMAN) self:SetHullSizeNormal() self:SetNPCState(NPC_STATE_SCRIPT) self:SetSolid(SOLID_BBOX) self:CapabilitiesAdd(CAP_ANIMATEDFACE) self:SetUseType(SIMPLE_USE) local buyerText = ents.Create("inscription_medecin"); buyerText:SetPos(self:GetPos() + Vector(0, 0, 70)); buyerText:SetParent(self); buyerText:Spawn();
end
function ENT:OnTakeDamage() return false
end
local boutton1 = 25 -- Combien de soins lui atribuer pour le premier boutton?
local boutton2 = 50 -- Combien de soins lui atribuer pour le second boutton?
local boutton3 = 75 -- Combien de soins lui atribuer pour le troisieme boutton?
function ENT:AcceptInput(Name, Activator, Caller) if Name == 'Use' and Caller:IsPlayer() then net.Start('jimmynet1') net.Send(Caller) end
end
net.Receive('jimmynet2',function(lenght, ply) if ply:getDarkRPVar("money") < boutton1 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton1) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton1) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-200) end end
end)
net.Receive('jimmynet3',function(lenght, ply) if ply:getDarkRPVar("money") < boutton2 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton2) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton2) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-400) end end
end)
net.Receive('jimmynet4',function(lenght, ply) if ply:getDarkRPVar("money") < boutton1 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton3) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton3) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-1000) end end
end)
 
NicolasStr_

NicolasStr_

Geek
Messages
74
Score réaction
44
Points
80
Amane à dit:
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include('shared.lua')
util.AddNetworkString("jimmynet1")
util.AddNetworkString("jimmynet2")
util.AddNetworkString("jimmynet3")
util.AddNetworkString("jimmynet4")
function ENT:Initialize() self:SetModel("models/Kleiner.mdl") self:SetHullType(HULL_HUMAN) self:SetHullSizeNormal() self:SetNPCState(NPC_STATE_SCRIPT) self:SetSolid(SOLID_BBOX) self:CapabilitiesAdd(CAP_ANIMATEDFACE) self:SetUseType(SIMPLE_USE) local buyerText = ents.Create("inscription_medecin"); buyerText:SetPos(self:GetPos() + Vector(0, 0, 70)); buyerText:SetParent(self); buyerText:Spawn();
end
function ENT:OnTakeDamage() return false
end
local boutton1 = 25 -- Combien de soins lui atribuer pour le premier boutton?
local boutton2 = 50 -- Combien de soins lui atribuer pour le second boutton?
local boutton3 = 75 -- Combien de soins lui atribuer pour le troisieme boutton?
function ENT:AcceptInput(Name, Activator, Caller) if Name == 'Use' and Caller:IsPlayer() then net.Start('jimmynet1') net.Send(Caller) end
end
net.Receive('jimmynet2',function(lenght, ply) if ply:getDarkRPVar("money") < boutton1 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton1) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton1) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-200) end end
end)
net.Receive('jimmynet3',function(lenght, ply) if ply:getDarkRPVar("money") < boutton2 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton2) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton2) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-400) end end
end)
net.Receive('jimmynet4',function(lenght, ply) if ply:getDarkRPVar("money") < boutton1 then chat.AddText("Désoler, tu es trop pauvre, se soin coute:".. boutton3) else if ply:Health() < 100 then ply:SetHealth(ply:Health() + boutton3) if ply:Health() > 100 then ply:SetHealth(100) end ply:addMoney(-1000) end end
end)
toujours le même exploit possible.
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
NicolasStr_ à dit:
toujours le même exploit possible.
J'ai pas refais sont code,j'lui ai juste expliquer les erreures ensuite "exploit",sachant que 90% des serveurs ont le CaC,c'est un exploit très mineur. Puis même si le mec la pas,il peut juste ce soigner à distance. Le mec est débutant et j'pense qu'un check de Vector ça le mettrait en PLS pour une faille aussi mineure. Donc allons pas trop vite.
 
NicolasStr_

NicolasStr_

Geek
Messages
74
Score réaction
44
Points
80
90% ont un CAC leak. Et CAC leak = exploits
Attention, c'est pas la même ;)

Maintenant, si l'on peut se soigner à distance je pense que c’est tout de même embêtant au vu du prix que ça coûte...
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
NicolasStr_ à dit:
90% ont un CAC leak. Et CAC leak = exploits
Attention, c'est pas la même ;)

Maintenant, si l'on peut se soigner à distance je pense que c’est tout de même embêtant au vu du prix que ça coûte...
Le CAC leak ça stop quand même les pyjs de 12 ans "olol je v shité"
+ c'est embêtant mais le mec débute,donc bon,lui demandé de faire une vérif quand il peine à faire un if,mauvaise idée aussi
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
Bon après j'ai du temps libre donc voilà un code que j'avais fais pour check ça :

Code:
local Centre = Vector( Result du GetPos ici) //center of the box
local TailleBoite = Vector(150,150,150)
local Corner1 = Centre-Vector(TailleBoite.x,TailleBoite.y, 0)
local Corner2 = Centre+TailleBoite
concommand.Add("checkPos",function(ply)
print(ply:GetPos():WithinAABox(Corner1,Corner2)) // Return si il est dans la boite,si oui go coder un if
end)
hook.Add("PostDrawOpaqueRenderables", "drawBoite", function() // Uniquement pour voir si la boite est bien faite,une option de debug quoi
render.DrawWireframeBox(Centre, Angle(), -Vector(TailleBoite.x,TailleBoite.y, 0), TailleBoite, Color(0,0,255), true)
end)
En gros tu modifie la boite (pour le Centre fais un getPos au centre du PNJ),ensuite tu modifie la taille de la boite),tu regarde si tout va bien via le render IG et quand c'est bon tu enlève le hook & le conCommand & tu fais un if avec le contenu du print
 
NicolasStr_

NicolasStr_

Geek
Messages
74
Score réaction
44
Points
80
maisss whaaat
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
NicolasStr_ à dit:
maisss whaaat
beh poste la solution alors à la place de faire le mystérieux depuis toute à l'heure "olol regarde y a une faille mais jte di pa comen la corrigé",perso jlui ai dis de faire comme ça car je taff sur un gamemode qui fonctionne par zone pour des actions,mais si ta mieux pour un pnj,beh envoie lui
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
Déjà, tu peut pas faire un "chat.AddText" dans le coté server ...
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
slownls à dit:
Déjà, tu peut pas faire un "chat.AddText" dans le coté server ...
ah ui bien vu,j'avais pas vu ce petit détail
btw si tu tiens vraiment à avoir le chat.Addtext serverside : https://facepunch.com/showthread.php?t=768062
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
Amane à dit:
ah ui bien vu,j'avais pas vu ce petit détail
btw si tu tiens vraiment à avoir le chat.Addtext serverside : https://facepunch.com/showthread.php?t=768062
Ou sinon, tu fait un SendLua....
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
Amane à dit:
Limité à 254 bytes & pas propre
Ouais mais bon ^^, pour lui il débute donc sa seras plus simple x)
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
slownls à dit:
Ouais mais bon ^^, pour lui il débute donc sa seras plus simple x)
Beh au pire le compromis entre les deux c'est un net.Start qui produis un chat.Addtext
 
  • J'aime
Réactions: slownls
NicolasStr_

NicolasStr_

Geek
Messages
74
Score réaction
44
Points
80
Donne moi le code de ta frame que je regarde ça.
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
NicolasStr_ à dit:
Donne moi le code de ta frame que je regarde ça.
???
c'quoi le rapport entre la frame et un bout de code pour la protection ?
 
NicolasStr_

NicolasStr_

Geek
Messages
74
Score réaction
44
Points
80
Amane à dit:
???
c'quoi le rapport entre la frame et un bout de code pour la protection ?
Je vais lui refaire tout l'entité.
 
  • J'aime
Réactions: Swarzox
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
NicolasStr_ à dit:
Je vais lui refaire tout l'entité.
Sa sert à rien il vas rien apprendre ...
 
  • Initiateur de la discussion
anthonin lahterman

anthonin lahterman

Geek suprême
Messages
589
Score réaction
124
Points
150
slownls à dit:
Sa sert à rien il vas rien apprendre ...
Ouais, je l'ai fait huer avec l'aide de SlownLS, a quoi sert de simplifier le code? Je sait m'y retrouver, si je le met sur un serveur, cela va changer quoi qu'il soit mal opti?

NicolasStr_ à dit:
Je vais lui refaire tout l'entité.
Je n'ai pas besoin, je prefere faire moi meme, mais je ne comprends pas le but de l'opti.
 
A

Amane

Geek
Messages
216
Score réaction
51
Points
75
anthonin lahterman à dit:
Ouais, je l'ai fait huer avec l'aide de SlownLS, a quoi sert de simplifier le code? Je sait m'y retrouver, si je le met sur un serveur, cela va changer quoi qu'il soit mal opti?


Je n'ai pas besoin, je prefere faire moi meme, mais je ne comprends pas le but de l'opti.
"ça va changer quoi qu'il sois mal opti ?"
Beh ton code sera dégueulasse,pas pratique à lire,long à exécuter,des erreures d'optis quoi
 
Discord d'entraide
Rejoignz-nous sur Discord