- Initiateur de la discussion
thepsyca
Psychopathe
- Messages
- 2 164
- Score réaction
- 648
- Points
- 365
Bonjour,
Avant tout, oui je modifie un addon présent en vente, j'utilise la version gratuite de l'addon donc pas leak .
Il s'agit d'une modification pour ajouter au warn un system de ban prédèfinis, (https://mtxserv.com/forums/threads/recherche-addon-de-bannissement.42853/page-2 )
Il ne me reste plus qu'un soucis : "attempt to index a string value with bad key ('SteamID' is not part of the string library)"
Je récupère le player choisis "AWarn.activeplayer" et récupère ainsi son steamID afin de pouvoir le ban/kick
Si quelqu'un a une solution ^^
Avant tout, oui je modifie un addon présent en vente, j'utilise la version gratuite de l'addon donc pas leak .
Code:
fonction 1 ------------ AWarn.MenuFrame.PlayerList.OnRowRightClick = function( PlayerList, line ) local DropDown = DermaMenu() DropDown:AddOption(AWarn.localizations[loc].cl15, function() AWarn.activeplayer = AWarn.MenuFrame.PlayerList:GetLine( line ):GetValue( 1 ) awarn_playerwarnmenu() end ) DropDown:AddSpacer() DropDown:Open() end for _, v in pairs( player.GetAll() ) do AWarn.MenuFrame.PlayerList:AddLine( v:Nick() ) end
fonction 2 -------------------------
local hl = vgui.Create( "DComboBox", MenuPanel) hl:SetPos( 5 , 70) hl:SetSize( 360, 20 )
for k,v in pairs(configTimeComboBox) do hl:AddChoice(v.title) hl.OnSelect = function(panel, id, value) choicecombobox = value action = configTimeComboBox[id].action time = configTimeComboBox[id].time chat.AddText("Vous avez choisi: "..value.." et la valeur time est de: "..time .. " minutes et l'action est :" .. action) end
end local MenuPanelButton1 = vgui.Create( "DButton", MenuPanel ) MenuPanelButton1:SetSize( 80, 30 ) MenuPanelButton1:SetPos( 5, 150 ) MenuPanelButton1:SetText( AWarn.localizations[loc].cl23 ) MenuPanelButton1.DoClick = function( MenuPanelButton1 ) if action == "ban" then awarn_sendwarning( HiddenLabel:GetText(), choicecombobox ) timer.Simple(1, function() awarn_ban( AWarn.activeplayer:SteamID(), time, choicecombobox ) end ) chat.AddText("mdr le ban passe") end if action == "kick" then awarn_sendwarning( HiddenLabel:GetText(), MenuPanelTextEntry1:GetValue() ) timer.Simple(1, function() awarn_kick( AWarn.activeplayer:SteamID(), MenuPanelTextEntry1:GetValue() ) end ) chat.AddText("mdr le kick passe") end if action == "warn" then awarn_sendwarning( HiddenLabel:GetText(), MenuPanelTextEntry1:GetValue() ) end MenuFrame:Close() end
Il ne me reste plus qu'un soucis : "attempt to index a string value with bad key ('SteamID' is not part of the string library)"
Je récupère le player choisis "AWarn.activeplayer" et récupère ainsi son steamID afin de pouvoir le ban/kick
Code:
function awarn_kick( ply, message ) if ulx then ULib.kick( ply, message ) else ply:Kick( message ) end
end
function awarn_ban( ply, time, message ) if ulx then ULib.kickban( ply, time, message ) else ply:Ban( time, true, message ) end
end