Code de retrait d'argent lors de la mort

  • Initiateur de la discussion
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Bonjour à tous,

Je suis actuellement fondateur d'un serveur DarkRP en développement.
Nous désirons nous orienter vers un RolePlay assez sérieux, et nous voulons donc optimiser un maximum le serveur pour une bonne expérience de jeu.

Je fais ce post pour demander de l'aide à propos d'un code qui permettrait que lorsqu'un joueur meurt, son argent en poche soit supprimé (et n'apparaisse pas au sol comme le gamemode de base peut le faire).

N'étant qu'un simple débutant dans le langage, je n'ai pas réussi à trouver comment faire le code.
Je fais donc appel aux développeurs GLua de mTxServ qui auraient les compétences et la gentillesse de me faire le code :)

Je ne sais pas si cela est possible, mais si oui, est-ce qu'il serait possible d'afficher un message dans les logs du serveur lorsque l'argent d'un joueur se remet à 0 suite à son décès, ce qui permettrait d'avoir une preuve pour rembourser la victime en cas d'une scène non-roleplay.

Au cas où, vous pouvez rejoindre mon discord privé en cliquant sur ce lien : https://discord.gg/Q5sU56g

Merci d'avance,
Wasied.
 
  • Initiateur de la discussion
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Je viens d'y penser à l'instant, mais si un développeur ayant les compétences nécessaires pouvait faire l'addon suivant (toujours en rapport avec ce que j'ai cité ci-dessus) ça serait top :

Un menu que seulement les membres du staff puissent ouvrir via une commande (exemple : !remboursement) qui permettrait de voir toutes les morts (et pertes d'argent du coup) et avoir un bouton sur le côté nommé "Rembourser" qui permettrait de rendre directement l'argent au joueur visé via le menu.

Par exemple, je suis Maxime et je me fait tuer par un freekiller.
Je fais un ticket, le freekiller est banni par un staff mais pour éviter que je mente ou que le staff use son argent personnel, il ouvre le menu !remboursement et clique sur rembourser à côté de mon message de mort.
Maxime est donc content parce qu'il n'a pas perdu son argent et donc Maxime ne va quitter le serveur à cause de sa rage extrême :)


J'ai l'addon "blogs" si jamais ça peut servir..

Si quelqu'un pouvait me faire ça pour les environ de 5€ ça serait vraiment top :p
Pour plus d'informations vous pouvez toujours rejoindre mon discord dans le post au dessus !


Merci,
Wasied.
 
KinGo

KinGo

Antho
Messages
312
Score réaction
32
Points
130
Bonjour, sur ce site il n'y a pas mal de code pour améliorer le Roleplay : https://g-box.fr/g-help/
 
Enixy

Enixy

Geek suprême
Messages
199
Score réaction
35
Points
100
KinGo à dit:
Bonjour, sur ce site il n'y a pas mal de code pour améliorer le Roleplay : https://g-box.fr/g-help/
Salut ou je dois mettre les code , je sais il y a marqué lua/autorun/serveur , mais je créer un fichier dedans ?
 
ChristopheVH

ChristopheVH

Geek
Messages
111
Score réaction
17
Points
95
EnixyGMOD à dit:
Salut ou je dois mettre les code , je sais il y a marqué lua/autorun/serveur , mais je créer un fichier dedans ?
Hello,

oui, par exemple, tu peux l’appeler comme çà: "argent_retirer_portefeuille.lua"

Bonne journée à toi.
 
Swxn™

Swxn™

Geek suprême
Messages
585
Score réaction
318
Points
135
lua/autorun/server/lefichierquetuveux.lua
 
Enixy

Enixy

Geek suprême
Messages
199
Score réaction
35
Points
100
Ok , mercii
 
  • Initiateur de la discussion
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
KinGo à dit:
Bonjour, sur ce site il n'y a pas mal de code pour améliorer le Roleplay : https://g-box.fr/g-help/
Bonjour,

Merci pour le site qui m'a quand même été utile,
Mais le code que je voudrais n'est pas dedans...

C'est un addon que j'aimerai qu'un développeur fasse car il est assez complexe et ce n'est pas un simple code à incruster dans l'autorun/server
C'est pour ça que je suis à la recherche d'un développeur qui puisse m'aider et échange d'une rénumération
 
KinGo

KinGo

Antho
Messages
312
Score réaction
32
Points
130
@Zaros_Live
 
  • Initiateur de la discussion
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Gladiateur45 à dit:
Bonjours , Je pense que cela pourrais fonctionné : Désactiver le drop de money et dans lua/autorun/server , tu créer un fichier par exemple "removemoneyondeath.lua" puis dans ce fichier tu met ca :
Code:
hook.Add("PlayerDeath" , "removemoney" , function(ply , inflicator , attacker)
ply:SetDarkRPVar( "money", 0 )
end)
Je ne suis pas sur que ce code fonctionne.
Par contre ce donne ne fait pas de logs

En espérant t'avoir aider.
Salut,

Le drop de money peut directement être désactivé dans le darkrpmodification, et je l'ai fait.

Ce n'est pas ceci que je demande, lis bien ce que j'ai mis :p

Merci quand même !
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
KinGo à dit:
Bonjour,
Le service ZarosOVH est actuellement fermé pour cause de vacances.
Notre service sera à nouveau disponible à partir du 6 août 2018.

Pour plus d’informations, rendez vous sur notre Discord: https://discord.gg/TGqhxKn
 
  • J'aime
Réactions: KinGo et Swxn™
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
nicolas4712 à dit:
Je recherche pareil mais moi avec le remboursement d'arme intégrée, donc si quelqu'un est prêt à le faire mp!
Recréer un sujet, vous êtes relou a reposter dans des sujets qui n'ont pas rapport ou qui sont résolu ^^'
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
nicolas4712 à dit:
Cela a un total rapport
Même, recréer un sujet et non remboursement d'arme et drop de money = aucun rapport.
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
nicolas4712 à dit:
Si car je veux remboursement d argent et en plus les armes
Sauf que la ont ne rembourse pas pu----.
récréer un sujet et c'est tout.
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Wasied à dit:
Bonjour à tous,

Je suis actuellement fondateur d'un serveur DarkRP en développement.
Nous désirons nous orienter vers un RolePlay assez sérieux, et nous voulons donc optimiser un maximum le serveur pour une bonne expérience de jeu.

Je fais ce post pour demander de l'aide à propos d'un code qui permettrait que lorsqu'un joueur meurt, son argent en poche soit supprimé (et n'apparaisse pas au sol comme le gamemode de base peut le faire).

N'étant qu'un simple débutant dans le langage, je n'ai pas réussi à trouver comment faire le code.
Je fais donc appel aux développeurs GLua de mTxServ qui auraient les compétences et la gentillesse de me faire le code :)

Je ne sais pas si cela est possible, mais si oui, est-ce qu'il serait possible d'afficher un message dans les logs du serveur lorsque l'argent d'un joueur se remet à 0 suite à son décès, ce qui permettrait d'avoir une preuve pour rembourser la victime en cas d'une scène non-roleplay.

Au cas où, vous pouvez rejoindre mon discord privé en cliquant sur ce lien : https://discord.gg/Q5sU56g

Merci d'avance,
Wasied.
Bonjours , tu chercher toujours le script ?
 
  • Initiateur de la discussion
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Wasied à dit:
Oui, toujours.
Dans lua/autorun ,créer un fichier et y mettre
Code:
useraccesremboursment = useraccesremboursment or {}
useraccesremboursment.RestrictGroup = { ["superadmin"] = true, -- ici mettre les groupes qui auront acces a la commande de remboursement ["admin"] = true
}
Dans lua/autorun/server ,créer un fichier et y mettre :
Code:
hook.Add("PlayerDeath" ,"CheckMoneyWeaponondeath", function(ply,inflicator,attacker)
local weapons = {}
for k , v in pairs(ply:GetWeapons()) do table.insert(weapons , v:GetClass())
end
ply.remboursement = { money = ply:getDarkRPVar("money"), weapons = weapons
}
ply:setDarkRPVar("money" , 0)
end)
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then -- Ici La commande pour ouvrir le panel if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName()) -- ici le message quand tu a remboursé quelqu'un
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)
Et pour finir dans lua/autorun/client , créer un fichier et y mettre :
Code:
surface.CreateFont("Gladiateur45remboursement", { font = "Arial", size = 18, weight = 800, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false,
})
net.Receive("Remboursmement::OpenStaffpanel", function()
if useraccesremboursment.RestrictGroup[LocalPlayer():GetUserGroup()] then
local tbl = net.ReadTable() local frameremb = vgui.Create( "DFrame" ) frameremb:SetTitle("") frameremb:SetSize( 500, 625 ) frameremb:Center() frameremb:SetVisible( true ) frameremb:SetDraggable( false ) frameremb:ShowCloseButton( false ) frameremb:MakePopup() frameremb.Paint = function( self, w, h ) draw.RoundedBox( 5, 0, 0, w, h, Color( 48, 48, 48, 255 ) ) draw.RoundedBox( 0, 0, 0, w, h - 592 , Color( 0, 147, 255, 255 ) ) draw.DrawText( "Menu Remboursement", "Trebuchet24", 250, 5, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER ) draw.DrawText( "Merci de sélectionner l'a personne que vous shouaitez remboursé.", "Gladiateur45remboursement", 250, 50, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER ) end local closeButton = vgui.Create("DButton" , frameremb) closeButton:SetPos(467,0) closeButton:SetSize(33,33) closeButton:SetText("X") closeButton:SetTextColor(Color(255,255,255)) closeButton.DoClick = function() frameremb:Close() end closeButton.Paint = function(s , w , h) draw.RoundedBox(0,0,0,w , h,Color(255, 0, 0)) end closeButton.OnCursorEntered = function() surface.PlaySound("UI/buttonrollover.wav") end local CScroolremb = vgui.Create("DScrollPanel", frameremb) CScroolremb:SetSize(480,500) CScroolremb:SetPos( 10 , 100) local scrollbar = CScroolremb:GetVBar() function scrollbar:Paint(w, h) draw.RoundedBox( 0, 0, 0, w, h, Color( 0, 0, 0, 110 ) ) end function scrollbar.btnUp:Paint(w, h) draw.RoundedBox( 2, 0, 0, w, h, Color(32, 32, 32) ) end function scrollbar.btnDown:Paint(w, h) draw.RoundedBox( 2, 0, 0, w, h, Color(32, 32, 32) ) end function scrollbar.btnGrip:Paint(w, h) draw.RoundedBox( 6, 0, 0, w, h, Color(0, 137, 255) ) end for _,ply in pairs(player.GetAll()) do if not tbl[ply:EntIndex()] then continue end local xpremb = vgui.Create("DPanel", CScroolremb) xpremb:SetSize(0, 80) xpremb:DockMargin(0, 0, 0, 5) xpremb:SetParent(CScroolremb) xpremb:Dock(TOP) function xpremb:Paint(w, h) draw.RoundedBox(5, 0, 0, w, h, Color(26, 30, 39)) draw.SimpleText("Nom : " .. ply:GetName(), "Trebuchet18", 80, 10, Color(255, 255, 255)) draw.SimpleText("Argent avant la mort : " .. tbl[ply:EntIndex()].money .."€", "Trebuchet18", 80, 25, Color(255, 255, 255)) local weapons = table.concat(tbl[ply:EntIndex()].weapons,",") draw.DrawText( "Armes avant la mort :\n" .. weapons, "Trebuchet18", 80, 40, Color( 255, 255, 255, 255 )) end local ic = vgui.Create( "DModelPanel", xpremb ) ic:SetSize( 70, 70 ) ic:SetPos( 5,5 ) ic:SetModel( ply:GetModel() ) ic:SetFOV(15) ic:SetCamPos(Vector(50, 0, 55)) ic:SetLookAt( ply:OBBCenter() + Vector( 0 , 0 ,25) ) function ic:LayoutEntity( ) return end function ic.Entity:GetPlayerColor() return ply:GetPlayerColor() end local buttonaccpet = vgui.Create("DButton" , xpremb) buttonaccpet:SetText( "Rembourser" ) buttonaccpet:SetParent( xpremb ) buttonaccpet:SetTextColor( Color( 255, 255, 255, 255 ) ) buttonaccpet:SetFont("Trebuchet24") buttonaccpet:SetPos( 270, 15 ) buttonaccpet:SetSize( 150, 30 ) buttonaccpet.OnCursorEntered = function(self) surface.PlaySound("UI/buttonrollover.wav") self.hover = true end buttonaccpet.OnCursorExited = function(self) self.hover = false end buttonaccpet.Paint = function( self, w, h ) draw.RoundedBox(6, 0, 0, w, h, Color(255, 102, 0, 170)) if self.hover then draw.RoundedBox(6, 0, 0, w, h, Color(6, 84, 3)) end end buttonaccpet.DoClick = function() net.Start("Remboursement::GiveWeaponandMoney") net.WriteEntity(ply) net.WriteEntity(LocalPlayer()) net.WriteTable(tbl) net.SendToServer() frameremb:Close() surface.PlaySound("buttons/button14.wav") end end
end
end)
Voila le code Fonctionne uniquement en darkRP ( Sauf si on change la variable de l'argent et les notifications ) Je l'ai tester et il fonctionne de mon côté :p , J'espère t'avoir aidez , si le code fonctionne n'hésite pas à mettre le sujet en résolu
 
  • J'aime
Réactions: Malcolm et edouard292
Offshorp

Offshorp

Amazonia Studio
Messages
704
Score réaction
256
Points
210
Gladiateur45 à dit:
Dans lua/autorun ,créer un fichier et y mettre
Code:
useraccesremboursment = useraccesremboursment or {}
useraccesremboursment.RestrictGroup = { ["superadmin"] = true, -- ici mettre les groupes qui auront acces a la commande de remboursement ["admin"] = true
}
Dans lua/autorun/server ,créer un fichier et y mettre :
Code:
hook.Add("PlayerDeath" ,"CheckMoneyWeaponondeath", function(ply,inflicator,attacker)
local weapons = {}
for k , v in pairs(ply:GetWeapons()) do table.insert(weapons , v:GetClass())
end
ply.remboursement = { money = ply:getDarkRPVar("money"), weapons = weapons
}
ply:setDarkRPVar("money" , 0)
end)
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then -- Ici La commande pour ouvrir le panel if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName()) -- ici le message quand tu a remboursé quelqu'un
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)
Et pour finir dans lua/autorun/client , créer un fichier et y mettre :
Code:
surface.CreateFont("Gladiateur45remboursement", { font = "Arial", size = 18, weight = 800, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false,
})
net.Receive("Remboursmement::OpenStaffpanel", function()
if useraccesremboursment.RestrictGroup[LocalPlayer():GetUserGroup()] then
local tbl = net.ReadTable() local frameremb = vgui.Create( "DFrame" ) frameremb:SetTitle("") frameremb:SetSize( 500, 625 ) frameremb:Center() frameremb:SetVisible( true ) frameremb:SetDraggable( false ) frameremb:ShowCloseButton( false ) frameremb:MakePopup() frameremb.Paint = function( self, w, h ) draw.RoundedBox( 5, 0, 0, w, h, Color( 48, 48, 48, 255 ) ) draw.RoundedBox( 0, 0, 0, w, h - 592 , Color( 0, 147, 255, 255 ) ) draw.DrawText( "Menu Remboursement", "Trebuchet24", 250, 5, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER ) draw.DrawText( "Merci de sélectionner l'a personne que vous shouaitez remboursé.", "Gladiateur45remboursement", 250, 50, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER ) end local closeButton = vgui.Create("DButton" , frameremb) closeButton:SetPos(467,0) closeButton:SetSize(33,33) closeButton:SetText("X") closeButton:SetTextColor(Color(255,255,255)) closeButton.DoClick = function() frameremb:Close() end closeButton.Paint = function(s , w , h) draw.RoundedBox(0,0,0,w , h,Color(255, 0, 0)) end closeButton.OnCursorEntered = function() surface.PlaySound("UI/buttonrollover.wav") end local CScroolremb = vgui.Create("DScrollPanel", frameremb) CScroolremb:SetSize(480,500) CScroolremb:SetPos( 10 , 100) local scrollbar = CScroolremb:GetVBar() function scrollbar:Paint(w, h) draw.RoundedBox( 0, 0, 0, w, h, Color( 0, 0, 0, 110 ) ) end function scrollbar.btnUp:Paint(w, h) draw.RoundedBox( 2, 0, 0, w, h, Color(32, 32, 32) ) end function scrollbar.btnDown:Paint(w, h) draw.RoundedBox( 2, 0, 0, w, h, Color(32, 32, 32) ) end function scrollbar.btnGrip:Paint(w, h) draw.RoundedBox( 6, 0, 0, w, h, Color(0, 137, 255) ) end for _,ply in pairs(player.GetAll()) do if not tbl[ply:EntIndex()] then continue end local xpremb = vgui.Create("DPanel", CScroolremb) xpremb:SetSize(0, 80) xpremb:DockMargin(0, 0, 0, 5) xpremb:SetParent(CScroolremb) xpremb:Dock(TOP) function xpremb:Paint(w, h) draw.RoundedBox(5, 0, 0, w, h, Color(26, 30, 39)) draw.SimpleText("Nom : " .. ply:GetName(), "Trebuchet18", 80, 10, Color(255, 255, 255)) draw.SimpleText("Argent avant la mort : " .. tbl[ply:EntIndex()].money .."€", "Trebuchet18", 80, 25, Color(255, 255, 255)) local weapons = table.concat(tbl[ply:EntIndex()].weapons,",") draw.DrawText( "Armes avant la mort :\n" .. weapons, "Trebuchet18", 80, 40, Color( 255, 255, 255, 255 )) end local ic = vgui.Create( "DModelPanel", xpremb ) ic:SetSize( 70, 70 ) ic:SetPos( 5,5 ) ic:SetModel( ply:GetModel() ) ic:SetFOV(15) ic:SetCamPos(Vector(50, 0, 55)) ic:SetLookAt( ply:OBBCenter() + Vector( 0 , 0 ,25) ) function ic:LayoutEntity( ) return end function ic.Entity:GetPlayerColor() return ply:GetPlayerColor() end local buttonaccpet = vgui.Create("DButton" , xpremb) buttonaccpet:SetText( "Rembourser" ) buttonaccpet:SetParent( xpremb ) buttonaccpet:SetTextColor( Color( 255, 255, 255, 255 ) ) buttonaccpet:SetFont("Trebuchet24") buttonaccpet:SetPos( 270, 15 ) buttonaccpet:SetSize( 150, 30 ) buttonaccpet.OnCursorEntered = function(self) surface.PlaySound("UI/buttonrollover.wav") self.hover = true end buttonaccpet.OnCursorExited = function(self) self.hover = false end buttonaccpet.Paint = function( self, w, h ) draw.RoundedBox(6, 0, 0, w, h, Color(255, 102, 0, 170)) if self.hover then draw.RoundedBox(6, 0, 0, w, h, Color(6, 84, 3)) end end buttonaccpet.DoClick = function() net.Start("Remboursement::GiveWeaponandMoney") net.WriteEntity(ply) net.WriteEntity(LocalPlayer()) net.WriteTable(tbl) net.SendToServer() frameremb:Close() surface.PlaySound("buttons/button14.wav") end end
end
end)
Voila le code Fonctionne uniquement en darkRP ( Sauf si on change la variable de l'argent et les notifications ) Je l'ai tester et il fonctionne de mon côté :p , J'espère t'avoir aidez , si le code fonctionne n'hésite pas à mettre le sujet en résolu
Cé nul Kappa
 
  • J'aime
Réactions: Gladiateur45
  • Initiateur de la discussion
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Gladiateur45 à dit:
Dans lua/autorun ,créer un fichier et y mettre
Code:
useraccesremboursment = useraccesremboursment or {}
useraccesremboursment.RestrictGroup = { ["superadmin"] = true, -- ici mettre les groupes qui auront acces a la commande de remboursement ["admin"] = true
}
Dans lua/autorun/server ,créer un fichier et y mettre :
Code:
hook.Add("PlayerDeath" ,"CheckMoneyWeaponondeath", function(ply,inflicator,attacker)
local weapons = {}
for k , v in pairs(ply:GetWeapons()) do table.insert(weapons , v:GetClass())
end
ply.remboursement = { money = ply:getDarkRPVar("money"), weapons = weapons
}
ply:setDarkRPVar("money" , 0)
end)
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then -- Ici La commande pour ouvrir le panel if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName()) -- ici le message quand tu a remboursé quelqu'un
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)
Et pour finir dans lua/autorun/client , créer un fichier et y mettre :
Code:
surface.CreateFont("Gladiateur45remboursement", { font = "Arial", size = 18, weight = 800, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false,
})
net.Receive("Remboursmement::OpenStaffpanel", function()
if useraccesremboursment.RestrictGroup[LocalPlayer():GetUserGroup()] then
local tbl = net.ReadTable() local frameremb = vgui.Create( "DFrame" ) frameremb:SetTitle("") frameremb:SetSize( 500, 625 ) frameremb:Center() frameremb:SetVisible( true ) frameremb:SetDraggable( false ) frameremb:ShowCloseButton( false ) frameremb:MakePopup() frameremb.Paint = function( self, w, h ) draw.RoundedBox( 5, 0, 0, w, h, Color( 48, 48, 48, 255 ) ) draw.RoundedBox( 0, 0, 0, w, h - 592 , Color( 0, 147, 255, 255 ) ) draw.DrawText( "Menu Remboursement", "Trebuchet24", 250, 5, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER ) draw.DrawText( "Merci de sélectionner l'a personne que vous shouaitez remboursé.", "Gladiateur45remboursement", 250, 50, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER ) end local closeButton = vgui.Create("DButton" , frameremb) closeButton:SetPos(467,0) closeButton:SetSize(33,33) closeButton:SetText("X") closeButton:SetTextColor(Color(255,255,255)) closeButton.DoClick = function() frameremb:Close() end closeButton.Paint = function(s , w , h) draw.RoundedBox(0,0,0,w , h,Color(255, 0, 0)) end closeButton.OnCursorEntered = function() surface.PlaySound("UI/buttonrollover.wav") end local CScroolremb = vgui.Create("DScrollPanel", frameremb) CScroolremb:SetSize(480,500) CScroolremb:SetPos( 10 , 100) local scrollbar = CScroolremb:GetVBar() function scrollbar:Paint(w, h) draw.RoundedBox( 0, 0, 0, w, h, Color( 0, 0, 0, 110 ) ) end function scrollbar.btnUp:Paint(w, h) draw.RoundedBox( 2, 0, 0, w, h, Color(32, 32, 32) ) end function scrollbar.btnDown:Paint(w, h) draw.RoundedBox( 2, 0, 0, w, h, Color(32, 32, 32) ) end function scrollbar.btnGrip:Paint(w, h) draw.RoundedBox( 6, 0, 0, w, h, Color(0, 137, 255) ) end for _,ply in pairs(player.GetAll()) do if not tbl[ply:EntIndex()] then continue end local xpremb = vgui.Create("DPanel", CScroolremb) xpremb:SetSize(0, 80) xpremb:DockMargin(0, 0, 0, 5) xpremb:SetParent(CScroolremb) xpremb:Dock(TOP) function xpremb:Paint(w, h) draw.RoundedBox(5, 0, 0, w, h, Color(26, 30, 39)) draw.SimpleText("Nom : " .. ply:GetName(), "Trebuchet18", 80, 10, Color(255, 255, 255)) draw.SimpleText("Argent avant la mort : " .. tbl[ply:EntIndex()].money .."€", "Trebuchet18", 80, 25, Color(255, 255, 255)) local weapons = table.concat(tbl[ply:EntIndex()].weapons,",") draw.DrawText( "Armes avant la mort :\n" .. weapons, "Trebuchet18", 80, 40, Color( 255, 255, 255, 255 )) end local ic = vgui.Create( "DModelPanel", xpremb ) ic:SetSize( 70, 70 ) ic:SetPos( 5,5 ) ic:SetModel( ply:GetModel() ) ic:SetFOV(15) ic:SetCamPos(Vector(50, 0, 55)) ic:SetLookAt( ply:OBBCenter() + Vector( 0 , 0 ,25) ) function ic:LayoutEntity( ) return end function ic.Entity:GetPlayerColor() return ply:GetPlayerColor() end local buttonaccpet = vgui.Create("DButton" , xpremb) buttonaccpet:SetText( "Rembourser" ) buttonaccpet:SetParent( xpremb ) buttonaccpet:SetTextColor( Color( 255, 255, 255, 255 ) ) buttonaccpet:SetFont("Trebuchet24") buttonaccpet:SetPos( 270, 15 ) buttonaccpet:SetSize( 150, 30 ) buttonaccpet.OnCursorEntered = function(self) surface.PlaySound("UI/buttonrollover.wav") self.hover = true end buttonaccpet.OnCursorExited = function(self) self.hover = false end buttonaccpet.Paint = function( self, w, h ) draw.RoundedBox(6, 0, 0, w, h, Color(255, 102, 0, 170)) if self.hover then draw.RoundedBox(6, 0, 0, w, h, Color(6, 84, 3)) end end buttonaccpet.DoClick = function() net.Start("Remboursement::GiveWeaponandMoney") net.WriteEntity(ply) net.WriteEntity(LocalPlayer()) net.WriteTable(tbl) net.SendToServer() frameremb:Close() surface.PlaySound("buttons/button14.wav") end end
end
end)
Voila le code Fonctionne uniquement en darkRP ( Sauf si on change la variable de l'argent et les notifications ) Je l'ai tester et il fonctionne de mon côté :p , J'espère t'avoir aidez , si le code fonctionne n'hésite pas à mettre le sujet en résolu
Wow merci beaucoup !
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
Dans lua/autorun ,créer un fichier et y mettre
Code:
useraccesremboursment = useraccesremboursment or {}
useraccesremboursment.RestrictGroup = { ["superadmin"] = true, -- ici mettre les groupes qui auront acces a la commande de remboursement ["admin"] = true
}
Dans lua/autorun/server ,créer un fichier et y mettre :
Code:
hook.Add("PlayerDeath" ,"CheckMoneyWeaponondeath", function(ply,inflicator,attacker)
local weapons = {}
for k , v in pairs(ply:GetWeapons()) do table.insert(weapons , v:GetClass())
end
ply.remboursement = { money = ply:getDarkRPVar("money"), weapons = weapons
}
ply:setDarkRPVar("money" , 0)
end)
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then -- Ici La commande pour ouvrir le panel if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName()) -- ici le message quand tu a remboursé quelqu'un
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)
Et pour finir dans lua/autorun/client , créer un fichier et y mettre :
Code:
surface.CreateFont("Gladiateur45remboursement", { font = "Arial", size = 18, weight = 800, blursize = 0, scanlines = 0, antialias = true, underline = false, italic = false, strikeout = false, symbol = false, rotary = false, shadow = false, additive = false, outline = false,
})
net.Receive("Remboursmement::OpenStaffpanel", function()
if useraccesremboursment.RestrictGroup[LocalPlayer():GetUserGroup()] then
local tbl = net.ReadTable() local frameremb = vgui.Create( "DFrame" ) frameremb:SetTitle("") frameremb:SetSize( 500, 625 ) frameremb:Center() frameremb:SetVisible( true ) frameremb:SetDraggable( false ) frameremb:ShowCloseButton( false ) frameremb:MakePopup() frameremb.Paint = function( self, w, h ) draw.RoundedBox( 5, 0, 0, w, h, Color( 48, 48, 48, 255 ) ) draw.RoundedBox( 0, 0, 0, w, h - 592 , Color( 0, 147, 255, 255 ) ) draw.DrawText( "Menu Remboursement", "Trebuchet24", 250, 5, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER ) draw.DrawText( "Merci de sélectionner l'a personne que vous shouaitez remboursé.", "Gladiateur45remboursement", 250, 50, Color( 255, 255, 255, 255 ), TEXT_ALIGN_CENTER ) end local closeButton = vgui.Create("DButton" , frameremb) closeButton:SetPos(467,0) closeButton:SetSize(33,33) closeButton:SetText("X") closeButton:SetTextColor(Color(255,255,255)) closeButton.DoClick = function() frameremb:Close() end closeButton.Paint = function(s , w , h) draw.RoundedBox(0,0,0,w , h,Color(255, 0, 0)) end closeButton.OnCursorEntered = function() surface.PlaySound("UI/buttonrollover.wav") end local CScroolremb = vgui.Create("DScrollPanel", frameremb) CScroolremb:SetSize(480,500) CScroolremb:SetPos( 10 , 100) local scrollbar = CScroolremb:GetVBar() function scrollbar:Paint(w, h) draw.RoundedBox( 0, 0, 0, w, h, Color( 0, 0, 0, 110 ) ) end function scrollbar.btnUp:Paint(w, h) draw.RoundedBox( 2, 0, 0, w, h, Color(32, 32, 32) ) end function scrollbar.btnDown:Paint(w, h) draw.RoundedBox( 2, 0, 0, w, h, Color(32, 32, 32) ) end function scrollbar.btnGrip:Paint(w, h) draw.RoundedBox( 6, 0, 0, w, h, Color(0, 137, 255) ) end for _,ply in pairs(player.GetAll()) do if not tbl[ply:EntIndex()] then continue end local xpremb = vgui.Create("DPanel", CScroolremb) xpremb:SetSize(0, 80) xpremb:DockMargin(0, 0, 0, 5) xpremb:SetParent(CScroolremb) xpremb:Dock(TOP) function xpremb:Paint(w, h) draw.RoundedBox(5, 0, 0, w, h, Color(26, 30, 39)) draw.SimpleText("Nom : " .. ply:GetName(), "Trebuchet18", 80, 10, Color(255, 255, 255)) draw.SimpleText("Argent avant la mort : " .. tbl[ply:EntIndex()].money .."€", "Trebuchet18", 80, 25, Color(255, 255, 255)) local weapons = table.concat(tbl[ply:EntIndex()].weapons,",") draw.DrawText( "Armes avant la mort :\n" .. weapons, "Trebuchet18", 80, 40, Color( 255, 255, 255, 255 )) end local ic = vgui.Create( "DModelPanel", xpremb ) ic:SetSize( 70, 70 ) ic:SetPos( 5,5 ) ic:SetModel( ply:GetModel() ) ic:SetFOV(15) ic:SetCamPos(Vector(50, 0, 55)) ic:SetLookAt( ply:OBBCenter() + Vector( 0 , 0 ,25) ) function ic:LayoutEntity( ) return end function ic.Entity:GetPlayerColor() return ply:GetPlayerColor() end local buttonaccpet = vgui.Create("DButton" , xpremb) buttonaccpet:SetText( "Rembourser" ) buttonaccpet:SetParent( xpremb ) buttonaccpet:SetTextColor( Color( 255, 255, 255, 255 ) ) buttonaccpet:SetFont("Trebuchet24") buttonaccpet:SetPos( 270, 15 ) buttonaccpet:SetSize( 150, 30 ) buttonaccpet.OnCursorEntered = function(self) surface.PlaySound("UI/buttonrollover.wav") self.hover = true end buttonaccpet.OnCursorExited = function(self) self.hover = false end buttonaccpet.Paint = function( self, w, h ) draw.RoundedBox(6, 0, 0, w, h, Color(255, 102, 0, 170)) if self.hover then draw.RoundedBox(6, 0, 0, w, h, Color(6, 84, 3)) end end buttonaccpet.DoClick = function() net.Start("Remboursement::GiveWeaponandMoney") net.WriteEntity(ply) net.WriteEntity(LocalPlayer()) net.WriteTable(tbl) net.SendToServer() frameremb:Close() surface.PlaySound("buttons/button14.wav") end end
end
end)
Voila le code Fonctionne uniquement en darkRP ( Sauf si on change la variable de l'argent et les notifications ) Je l'ai tester et il fonctionne de mon côté :p , J'espère t'avoir aidez , si le code fonctionne n'hésite pas à mettre le sujet en résolu

Bonsoir,

Peux-tu juste isoler le code pour la commande de remboursement please :3
 
  • Initiateur de la discussion
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Résolu,
Merci.
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
RayZz à dit:
Bonsoir,

Peux-tu juste isoler le code pour la commande de remboursement please :3
Peut tu expliquer par isoler le code , tu veut le pannel ?
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
Peut tu expliquer par isoler le code , tu veut le pannel ?
Oui afin d'avoir la possibilité de voir la perte d'argent de joueur :)
 
NoaGamingFR

NoaGamingFR

Wait :)
Messages
3 650
Score réaction
625
Points
340
Des news ?
RayZz à dit:
Oui afin d'avoir la possibilité de voir la perte d'argent de joueur :)
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
RayZz à dit:
Oui afin d'avoir la possibilité de voir la perte d'argent de joueur :)
je t'avoue que je n'ai pas tous compris
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
je t'avoue que je n'ai pas tous compris
Si je ne me trompes pas tout ton code plus haut fait en sorte d'avoir la commande de remboursement mais aussi de suppimer l'argent etc etc ?
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
RayZz à dit:
Si je ne me trompes pas tout ton code plus haut fait en sorte d'avoir la commande de remboursement mais aussi de suppimer l'argent etc etc ?
Oui , quand ils meurt ca suprime l'argent :p et puis quand il faut la commande !remboursement ben ca ouvre un panel :p
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
Oui , quand ils meurt ca suprime l'argent :p et puis quand il faut la commande !remboursement ben ca ouvre un panel :p
Donc ma question :

Peux tu me donner juste le code pour avoir la commande de remboursement :3
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
Ok , tout les fichiers sont les même faut juste remplacer le fichier dans lua/autorun/server par ca :
Code:
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName())
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)

Je suis un peu con ce soir, je crois, je prends donc tout les codes ( même ceux en haut ) et je change juste par celui que tu m'as donné dans lua/autorun/server ? :3
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
RayZz à dit:
Je suis un peu con ce soir, je crois, je prends donc tout les codes ( même ceux en haut ) et je change juste par celui que tu m'as donné dans lua/autorun/server ? :3
Oui :D
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
Me revoilà, donc tout fonctionne, juste que lorsque j'ouvre le menu, il n'y a pas la liste des joueurs :/
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
RayZz à dit:
Me revoilà, donc tout fonctionne, juste que lorsque j'ouvre le menu, il n'y a pas la liste des joueurs :/
Oui c'est normal car il faut mourir pour pouvoir remboursé un joueur :p;)
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
Oui c'est normal car il faut mourir pour pouvoir remboursé un joueur :p;)
C'est ce qu'on a fait haha :3
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
RayZz à dit:
Me revoilà, donc tout fonctionne, juste que lorsque j'ouvre le menu, il n'y a pas la liste des joueurs :/
rectification , je me suis trompé dans le code que je t'ai envoyer
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
rectification , je me suis trompé dans le code que je t'ai envoyer
Ah :/
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
RayZz à dit:
Voila donc dans lua/autorun/serveur , tu remplace tout par ca
Code:
hook.Add("PlayerDeath" ,"CheckMoneyWeaponondeath", function(ply,inflicator,attacker)
local weapons = {}
for k , v in pairs(ply:GetWeapons()) do table.insert(weapons , v:GetClass())
end
ply.remboursement = { money = ply:getDarkRPVar("money"), weapons = weapons
}
end)
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName())
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
Voila donc dans lua/autorun/serveur , tu remplace tout par ca
Code:
hook.Add("PlayerDeath" ,"CheckMoneyWeaponondeath", function(ply,inflicator,attacker)
local weapons = {}
for k , v in pairs(ply:GetWeapons()) do table.insert(weapons , v:GetClass())
end
ply.remboursement = { money = ply:getDarkRPVar("money"), weapons = weapons
}
end)
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName())
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)
J'essaye cela d'ici quelques minutes et je te dit :)
 
RayZz

RayZz

Geek suprême
Messages
565
Score réaction
77
Points
140
Gladiateur45 à dit:
Voila donc dans lua/autorun/serveur , tu remplace tout par ca
Code:
hook.Add("PlayerDeath" ,"CheckMoneyWeaponondeath", function(ply,inflicator,attacker)
local weapons = {}
for k , v in pairs(ply:GetWeapons()) do table.insert(weapons , v:GetClass())
end
ply.remboursement = { money = ply:getDarkRPVar("money"), weapons = weapons
}
end)
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName())
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)
Magnifique !

Dis moi, je suis vraiment très casse couilles vois-tu... As tu la possibilité d'ajouter au panel de remboursement une croix afin de fermer certaines propositions de remboursement ? Afin d'éviter d'en avoir 40.000 :3 please
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Gladiateur45 à dit:
Voila donc dans lua/autorun/serveur , tu remplace tout par ca
Code:
hook.Add("PlayerDeath" ,"CheckMoneyWeaponondeath", function(ply,inflicator,attacker)
local weapons = {}
for k , v in pairs(ply:GetWeapons()) do table.insert(weapons , v:GetClass())
end
ply.remboursement = { money = ply:getDarkRPVar("money"), weapons = weapons
}
end)
util.AddNetworkString("Remboursmement::OpenStaffpanel")
util.AddNetworkString("Remboursement::GiveWeaponandMoney")
hook.Add( "PlayerSay", "staffremboursementcommande", function( ply, text, team ) if text == "!remboursement" then if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
local tbl = {}
for k , v in pairs(player.GetAll()) do if not v.remboursement then continue end tbl[v:EntIndex()] = v.remboursement
end net.Start("Remboursmement::OpenStaffpanel") net.WriteTable(tbl) net.Send(ply) end end end)
net.Receive("Remboursement::GiveWeaponandMoney",function()
local remboursedplayer = net.ReadEntity()
local ply = net.ReadEntity()
local tbl = net.ReadTable()
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
if not tbl[remboursedplayer:EntIndex()] then return end
if remboursedplayer:IsConnected() then remboursedplayer:setDarkRPVar("money" , tbl[remboursedplayer:EntIndex()].money) for k , v in pairs(tbl[remboursedplayer:EntIndex()].weapons) do remboursedplayer:Give(v) end remboursedplayer.remboursement = nil DarkRP.notify(remboursedplayer, 0, 7, "[ Remboursement ] : Vous venez de vous faire remboursé votre argent et vos armes par : ".. ply:GetName())
else
DarkRP.notify(ply, 0, 7, "[ Remboursement ] : La Personne qui vous avez sélectionné c'est déconnecté")
end
end
end)
Attention avec ton net Remboursement::GiveWeaponandMoneyb on peux se give des armes et money comme on veux 4Head
 
  • J'aime
Réactions: thepsyca
nicolas4712

nicolas4712

Geek
Messages
175
Score réaction
8
Points
85
Zaros_Live à dit:
Attention avec ton net Remboursement::GiveWeaponandMoneyb on peux se give des armes et money comme on veux 4Head
Chhuut fallait rien dire :)
 
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Zaros_Live à dit:
Attention avec ton net Remboursement::GiveWeaponandMoneyb on peux se give des armes et money comme on veux 4Head
Merci de m'avoir précisé cela :D , je vais le réglér
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
Zaros_Live à dit:
Attention avec ton net Remboursement::GiveWeaponandMoneyb on peux se give des armes et money comme on veux 4Head
Mais Pourtant je fait une verification pour regarder si le joueur ( ply ) est dans un group ulx ici :
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
 
  • Initiateur de la discussion
Wasied

Wasied

Psychopathe
Messages
911
Score réaction
398
Points
210
Zaros_Live à dit:
Attention avec ton net Remboursement::GiveWeaponandMoneyb on peux se give des armes et money comme on veux 4Head
Tu sais comment régler ça ?
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Gladiateur45 à dit:
Mais Pourtant je fait une verification pour regarder si le joueur ( ply ) est dans un group ulx ici :
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
Seul le joueur qui passe cette vérification pourra se give, mais ça fait qu'il peut quand même give :)
 
Gladiateur45

Gladiateur45

Geek suprême
Messages
472
Score réaction
39
Points
140
thepsyca à dit:
Seul le joueur qui passe cette vérification pourra se give, mais ça fait qu'il peut quand même give :)
Ok merci , serais tu comment je pourrais réglé ce problème ?
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Gladiateur45 à dit:
Ok merci , serais tu comment je pourrais réglé ce problème ?
Ne jamais faire confiance aux données venant côté client

EDIT : Au passage local ply = net.ReadEntity() dans un net.Receive c'est vraiment pas beau du tout
 
Dernière édition:
ZarosOVH

ZarosOVH

Modérateur
Membre du Staff
Messages
6 527
Score réaction
5 488
Points
1 295
Gladiateur45 à dit:
Mais Pourtant je fait une verification pour regarder si le joueur ( ply ) est dans un group ulx ici :
if useraccesremboursment.RestrictGroup[ply:GetUserGroup()] then
ply n’est pas forcément le joueur vu que tu utilise net.ReadEntity() donc je peux très bien envoyer un joueur superadmin sans problème
 
Discord d'entraide
Rejoignz-nous sur Discord