Le /job

  • Initiateur de la discussion Dawaklawak
  • Date de début
  • Initiateur de la discussion
D

Dawaklawak

Geek
Messages
261
Score réaction
22
Points
95
Bonjour,

J'aurai besoin de votre aide.
J'ai un addons qui permet de payé pour avoir une licence d'arme. Et je veux m'en servir de base pour en faire autre chose.
C'est a dire devoir payé pour changer de nom de job. Je ne trouve pas de fonction (je crois qu'on dit comme ca) après je me démerderai a comprendre mais si quelqu'un l'aurait ....
Et ensuite sa je sais pas si c'est possible mais seriez vous si on peut interdire le /job pcq s'il y a un pnj...

Merci à vous.

Bonne soirée
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
Au pire achète l’addon Ou tu dois payé pour changer de nom..
 
  • Initiateur de la discussion
D

Dawaklawak

Geek
Messages
261
Score réaction
22
Points
95
Pierre97 à dit:
Au pire achète l’addon Ou tu dois payé pour changer de nom..
Sa existe pour changer de nom de job ? Si oui, as tu un nom ?
Merci
 
  • Initiateur de la discussion
D

Dawaklawak

Geek
Messages
261
Score réaction
22
Points
95
up discret
 
Ant00ine

Ant00ine

Geek suprême
Messages
455
Score réaction
225
Points
150
UP = plusieurs jours
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
Dawaklawak à dit:
Sa existe pour changer de nom de job ? Si oui, as tu un nom ?
Merci
J’en ai déjà entendu parlé il me semble je recherche et je te tien au courant
 
wil.95

wil.95

Geek
Messages
33
Score réaction
3
Points
45
Va dans darkrp modification master / lua / darkrp_config et dans setting.lua go a la ligne 58-59 et remplace par sa :
Code:
-- customjobs - Enable/disable the /job command (personalized job names).
GM.Config.customjobs = false
 
ALTA

ALTA

Geek suprême
Messages
449
Score réaction
212
Points
150
Il veut que le joueur paie pour changer le nom de son job, pas désactiver la fonctionnalité.

Il te faut un script qui réécrit le /job.
 
  • Initiateur de la discussion
D

Dawaklawak

Geek
Messages
261
Score réaction
22
Points
95
Ant00ine à dit:
UP = plusieurs jours
Ok dsl
Pierre97 à dit:
J’en ai déjà entendu parlé il me semble je recherche et je te tien au courant
Dac merci
ALTA à dit:
Il veut que le joueur paie pour changer le nom de son job, pas désactiver la fonctionnalité.

Il te faut un script qui réécrit le /job.
Ah c'est pas aussi facile du coup ...
 
ALTA

ALTA

Geek suprême
Messages
449
Score réaction
212
Points
150
Bah, si ça l'est à vrai dire.

Allez, je t'aide et je te donne les fonctions, j'suis sympa, je sais.

defineChatCommand pour redéfinir ta commande /job, dans l'argument function(ply,args), tu utilisera:
canAfford Vérifie si le joueur peut se permettre le changement de job financièrement
updateJob Changement du job fictivement du joueur
addMoney On enlève de l'argent au joueur (peut être négatif pour soustraire de la monnaie)​

Si tu veux te mettre au scripting, c'est ce qu'il faut faire, doucement commencer à faire des petit scripts comme celui-ci, l'améliorer, petit à petit.
 
  • Initiateur de la discussion
D

Dawaklawak

Geek
Messages
261
Score réaction
22
Points
95
ALTA à dit:
Bah, si ça l'est à vrai dire.

Allez, je t'aide et je te donne les fonctions, j'suis sympa, je sais.

defineChatCommand pour redéfinir ta commande /job, dans l'argument function(ply,args), tu utilisera:
canAfford Vérifie si le joueur peut se permettre le changement de job financièrement
updateJob Changement du job fictivement du joueur
addMoney On enlève de l'argent au joueur (peut être négatif pour soustraire de la monnaie)​

Si tu veux te mettre au scripting, c'est ce qu'il faut faire, doucement commencer à faire des petit scripts comme celui-ci, l'améliorer, petit à petit.
Merci sa ma permis de comprendre le code de l'addon déja.
Mais je n'arrive pas à comprendre certaine chose (que j'ai changé en plus et suprimé)
Si tu pouvais m'en dire plus ...

Code:
util.AddNetworkString("OpenRPNameMenu")
net.Receive("OpenRPNameMenu", function(len, ply) local steamid = string.Replace(ply:SteamID(), ":", "_") if (!file.Exists("job", "DATA")) then file.CreateDir("job") end ply:updateJob(net.ReadString()) file.Write("job/"..steamid..".txt", ply:updateJob())
end)
DarkRP.defineChatCommand("job", function(ply) //There's no need to check if he has a Roleplay Name since he can't type this without one. if (ply:canAfford(RPNameConfig["ChangeNameCost"])) then net.Start("OpenRPNameMenu") net.WriteTable(string.Explode(" ", ply:updateJob())) net.Send(ply) ply:addMoney(-RPNameConfig["ChangeNameCost"]) DarkRP.notify(ply, 0, 5, "You payed "..DarkRP.formatMoney(RPNameConfig["ChangeNameCost"]).." to change your name!") file.Delete("job/"..string.Replace(ply:SteamID(), ":", "_")..".txt") else DarkRP.notify(ply, 1, 5, "You can't afford to change your name!") end
end)

Et

Code:
net.Receive("OpenRPNameMenu", function() if (!GAMEMODE.Config.allowrpnames) then Derma_Message( "A-M-A-Z-I-N-G-!\nIt seems like the stupid owner of this server doesn't read descriptions and disabled /rpname.\nThis won't work without it, stop kissing his ass and go swear at him!", "GG ANALPHABETISM", "What a Dumbfuck!" ) return end local Name = net.ReadTable() if (#Name > 0) then NameTable = { ["FirstName"] = Name[1] } else NameTable = { ["FirstName"] = "First Name" } end local base = vgui.Create("DFrame") base:SetTitle("Set Your Roleplay Name") base:SetSize(ScrW() *0.190, ScrH() *0.135) base:SetSkin("DarkRP") base:ShowCloseButton(false) base:Center() base:MakePopup() local panel = vgui.Create("DPanel", base) panel:SetSize(ScrW() *0.074, ScrH() *0.090) panel:SetPos(ScrW() *0.006, ScrH() *0.037) local icon = vgui.Create("AvatarImage", panel) icon:SetSize(ScrW() *0.070, ScrH() *0.085) icon:SetPos(ScrW() *0.002, ScrH() *0.003) icon:SetPlayer(LocalPlayer(), 84) local name = vgui.Create("DTextEntry", base) name:SetText(NameTable["FirstName"]) name:SetSize(ScrW() *0.099, ScrH() *0.020) name:SetPos(ScrW() *0.084, ScrH() *0.040) local button = vgui.Create("DButton", base) button:SetText("Confirm") button:SetSize(ScrW() *0.099, ScrH() *0.030) button:SetPos(ScrW() *0.084, ScrH() *0.097) function button:DoClick() if (string.len(name:GetValue()) > RPNameConfig["MaxCaracters"]) then Derma_Message( "The first name you entered is too long!", "Notification", "OK" ) return elseif (string.len(name:GetValue()) < RPNameConfig["MinCaracters"]) then Derma_Message( "The first name you entered is too short!", "Notification", "OK" ) return elseif (string.find(name:GetValue(), " ")) then Derma_Message( "Your first name can't contain spaces!", "Notification", "OK" ) return else for _, caracters in pairs(RPNameConfig["NotAllowed"]) do if (!string.find(string.lower(name:GetValue()), caracters)) then NameTable["FirstName"] = name:GetValue() else Derma_Message( "The first name you entered contains prohibited caracters!", "Notification", "OK" ) return end end end if (LocalPlayer():updateJob() == NameTable["FirstName"]) then Derma_Message( "You haven't changed your name!", "Notification", "OK" ) return else for k, v in pairs(player.GetAll()) do if (v:updateJob() == NameTable["FirstName"]) && v != LocalPlayer()) then Derma_Message( "Someone already has your name!", "Notification", "OK" ) return end end end net.Start("OpenRPNameMenu") net.WriteString(NameTable["FirstName"]..") net.SendToServer() Derma_Message( "Congratulations!\nYour name is now: "..NameTable["FirstName"].\nThe only way of changing it it's by paying "..DarkRP.formatMoney(RPNameConfig["ChangeNameCost"])..".", "Notification", "OK" ) base:Close() end
end)
Pour l'instant j'ai suprimé le Last Name et remplacé quelque fonctions ...
 
Discord d'entraide
Rejoignz-nous sur Discord