Supprimer une entité après utilisation

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

Daykew

Geek suprême
Messages
503
Score réaction
32
Points
140
Bonjour j'aimerai ajouter une fonctionnalité à mon entité qui après s'être fait fouiller, se supprime.
On m'a aussi dit que le code était exploitable, comment régler ces deux soucis svp (PS: J'y connais rien du tout)

Merci à vous !

Code:
net.Receive("GETPRICE", function(len, ply) local moneygive = math.random( dili_min , dili_max ) ply:addMoney(moneygive) DarkRP.notify(ply, 0, 4, "Wow ! Vous avez trouvé " .. moneygive.. " dollars !")
end)
function ENT:AcceptInput( name, activator, caller ) if name == "Use" and caller:IsPlayer() then net.Start("DILIGENCE") net.Send(caller) end
end
c'est les deux dernières parenthèses
 
SkaaYz

SkaaYz

Geek
Messages
8
Score réaction
-1
Points
80
Salut,

Tout d'abord (personnellement) je ne conseille pas de faire des "net." pour récupérer le prix de ton entité. (Du côté serveur donc)
Tes prix devraient être configurés dans une table, comme ça tu fais directement le code que tu as utilisé dans ton .net dans le AcceptInput()

Exemple:
Code:
 --> Money table
local mtbl = {10, 15, 20, 25, 30, 35, 40}
--> Accept Input()
function ENT:AcceptInput(name, activator, caller) if name == "Use" and caller:IsPlayer() then caller:addMoney(mtbl[math.random(1, #mtb)]) -- J'ajoute une valeur aléatoire comprise dans ma table self:Remove() end
end
Pour le fait que le code soit exploitable, cela venait sûrement du .net, car les net venant des clients sont en effet exploitable (Si je dis des bêtises corrigez-moi)
Donc, dans ce cas, pour éviter cela il faut "protéger" ton code, par exemple:
Code:
 --> Money table
local mtbl = {10, 15, 20, 25, 30, 35, 40}
--> Accept Input()
function ENT:AcceptInput(name, activator, caller) if name == "Use" and caller:IsPlayer() then local tRandom = mtbl[math.random(1, #mtbl)] if tRandom < mtbl[1] || tRandom > mtbl[#mtbl] then return end -- Annule le reste du code si la valeur tRandom est en dessous ou au dessus des limites caller:addMoney(tRandom) -- J'ajoute une valeur aléatoire comprise dans ma table self:Remove() end
end
--> Prend le code de dessus au pire, en théorie si y'a pas de net commme avant ça devrait aller :)
 
Dernière édition:
  • Initiateur de la discussion
Daykew

Daykew

Geek suprême
Messages
503
Score réaction
32
Points
140
Je remplace par ce que tu as fait ?
 
SkaaYz

SkaaYz

Geek
Messages
8
Score réaction
-1
Points
80
Oui, j'ai ajouté un "self:Remove()" pour supprimer l'entité à l'instant, mais ça devrait fonctionner
 
  • Initiateur de la discussion
Daykew

Daykew

Geek suprême
Messages
503
Score réaction
32
Points
140
D'accord je te remercie :)
 
  • J'aime
Réactions: SkaaYz
  • Initiateur de la discussion
Daykew

Daykew

Geek suprême
Messages
503
Score réaction
32
Points
140
J'ai remplacé l'entièreté du init parce que tu m'as envoyé, mais dans le cl_init je mets quoi ? J'ai un texte qui tourne au-dessus et j'ai aussi une frame avec une ancienne variable qui permettait de recevoir le montant aléatoire, je fais quoi du coup ?
 
  • Initiateur de la discussion
Daykew

Daykew

Geek suprême
Messages
503
Score réaction
32
Points
140
Et le texte est en une seule ligne, c'est pas ça non XD !?
 
SkaaYz

SkaaYz

Geek
Messages
8
Score réaction
-1
Points
80
Ajoute moi sur Discord (Je te l'envois en privé) je vais voir ça
 
Discord d'entraide
Rejoignz-nous sur Discord