[GLUA] Timer RPNAME

  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
Salut,

j'ai un problème quand je fait un timer pour le changement de nom RP.
Voici l'erreur:
Code:
[ERROR] addons/ws_prefecture/lua/entities/npc_wsprefecture/cl_init.lua:176: Tried to use invalid object (type Panel) (Object was NULL or not of the right type) 1. GetValue - [C]:-1 2. unknown - addons/ws_prefecture/lua/entities/npc_wsprefecture/cl_init.lua:176
Timer Failed! [Simple][@addons/ws_prefecture/lua/entities/npc_wsprefecture/cl_init.lua (line 174)]
Voici le code:
Code:
 ACCEPT.DoClick = function() NPCNAME:Close() timer.Simple( 5, function() net.Start("WS:NPC:Name:NewName") net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() ) net.SendToServer() end ) end
Merci de l'aide.
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Salut,

j'ai un problème quand je fait un timer pour le changement de nom RP.
Voici l'erreur:
Code:
[ERROR] addons/ws_prefecture/lua/entities/npc_wsprefecture/cl_init.lua:176: Tried to use invalid object (type Panel) (Object was NULL or not of the right type) 1. GetValue - [C]:-1 2. unknown - addons/ws_prefecture/lua/entities/npc_wsprefecture/cl_init.lua:176
Timer Failed! [Simple][@addons/ws_prefecture/lua/entities/npc_wsprefecture/cl_init.lua (line 174)]
Voici le code:
Code:
 ACCEPT.DoClick = function() NPCNAME:Close() timer.Simple( 5, function() net.Start("WS:NPC:Name:NewName") net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() ) net.SendToServer() end ) end
Merci de l'aide.
Plus de code ne serais pas de refus :)
 
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Plus de code ne serais pas de refus :)
Code:
 local Firstname = vgui.Create( "DTextEntry", NPCNAME ) Firstname:SetPos( ScrW() / 14, ScrH() / 8 ) Firstname:SetSize( ScrW() / 12, ScrH() / 40 ) Firstname:SetText( "Prénom..." ) local Lastname = vgui.Create( "DTextEntry", NPCNAME ) Lastname:SetPos( ScrW() / 6, ScrH() / 8 ) Lastname:SetSize( ScrW() / 12, ScrH() / 40 ) Lastname:SetText( "Nom..." ) local ACCEPT = vgui.Create( "DButton", NPCNAME ) ACCEPT:SetSize( ScrW() / 10, ScrH() / 24.5 ) ACCEPT:SetPos(ScrW() / 9, ScrH() / 5) ACCEPT:SetText("") ACCEPT.Paint = function(self) if ACCEPT:IsHovered() then lerp = Lerp(FrameTime()*12, lerp, w) else lerp = Lerp(FrameTime()*12, lerp, 0) end draw.RoundedBox( 0, 0, 0, ScrW() / 10, ScrH() / 24.5 , Color(45, 45, 48, 255)) draw.RoundedBox( 0, 0, 0, ScrW() / 10, ScrH() / 27.5 , Color(60, 60, 68, 255)) draw.RoundedBox( 0, w-lerp, 0, ScrW() / 10, ScrH() / 24.5 , Color(65, 65, 68, 255)) draw.RoundedBox( 0, w-lerp, 0, lerp, ScrH() / 27.5 , Color(80, 80, 88, 255)) draw.SimpleText("CONFIRMER", "Trebuchet24", ScrW() / 20, ScrH() / 55 , Color(176, 176, 176, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER) end ACCEPT.DoClick = function() NPCNAME:Close() net.Start("WS:NPC:Name:NewName") net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() ) net.SendToServer() end
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Code:
 local Firstname = vgui.Create( "DTextEntry", NPCNAME ) Firstname:SetPos( ScrW() / 14, ScrH() / 8 ) Firstname:SetSize( ScrW() / 12, ScrH() / 40 ) Firstname:SetText( "Prénom..." ) local Lastname = vgui.Create( "DTextEntry", NPCNAME ) Lastname:SetPos( ScrW() / 6, ScrH() / 8 ) Lastname:SetSize( ScrW() / 12, ScrH() / 40 ) Lastname:SetText( "Nom..." ) local ACCEPT = vgui.Create( "DButton", NPCNAME ) ACCEPT:SetSize( ScrW() / 10, ScrH() / 24.5 ) ACCEPT:SetPos(ScrW() / 9, ScrH() / 5) ACCEPT:SetText("") ACCEPT.Paint = function(self) if ACCEPT:IsHovered() then lerp = Lerp(FrameTime()*12, lerp, w) else lerp = Lerp(FrameTime()*12, lerp, 0) end draw.RoundedBox( 0, 0, 0, ScrW() / 10, ScrH() / 24.5 , Color(45, 45, 48, 255)) draw.RoundedBox( 0, 0, 0, ScrW() / 10, ScrH() / 27.5 , Color(60, 60, 68, 255)) draw.RoundedBox( 0, w-lerp, 0, ScrW() / 10, ScrH() / 24.5 , Color(65, 65, 68, 255)) draw.RoundedBox( 0, w-lerp, 0, lerp, ScrH() / 27.5 , Color(80, 80, 88, 255)) draw.SimpleText("CONFIRMER", "Trebuchet24", ScrW() / 20, ScrH() / 55 , Color(176, 176, 176, 255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER) end ACCEPT.DoClick = function() NPCNAME:Close() net.Start("WS:NPC:Name:NewName") net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() ) net.SendToServer() end
EDIT : Change l'ordre de ton close()
 
Dernière édition:
RazzMo

RazzMo

Geek suprême
Messages
314
Score réaction
192
Points
120
Bonjour,

En fait il faut que tu Close ta frame après avoir pris les valeurs sinon ton code ne peux pas fonctionner les DTexEntry sont parent de la frame principal donc comme tu la ferme il n'existe plus.

PS: je viens de donner la solution a Slownls il c'est dépêcher de l’écrire plus vite que moi

Cordialement,
Razz Mo
 
  • J'aime
Réactions: brh450
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
RazzMo à dit:
Bonjour,

En fait il faut que tu Close ta frame après avoir pris les valeurs sinon ton code ne peux pas fonctionner les DTexEntry sont parent de la frame principal donc comme tu la ferme il n'existe plus.

PS: je viens de donner la solution a Slownls il c'est dépêcher de l’écrire plus vite que moi

Cordialement,
Razz Mo
Ptdr t ki ?
 
RazzMo

RazzMo

Geek suprême
Messages
314
Score réaction
192
Points
120
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
De vu je ne vois pas vraiment d'erreur o_O

@RazzMo @brh450 ?

EDIT : Change l'ordre de ton close()
Change rien
RazzMo à dit:
Bonjour,

En fait il faut que tu Close ta frame après avoir pris les valeurs sinon ton code ne peux pas fonctionner les DTexEntry sont parent de la frame principal donc comme tu la ferme il n'existe plus.

PS: je viens de donner la solution a Slownls il c'est dépêcher de l’écrire plus vite que moi

Cordialement,
Razz Mo
Pareil :/
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
RazzMo

RazzMo

Geek suprême
Messages
314
Score réaction
192
Points
120
Sa te dit slown on fait un serveur enssemble
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Quand tu veut bb <3

Tu peut donner ton code total ?
Bah sa ne servirait a rien de tout donner sachant que le problème doit venir de ce que j'ai donné :/
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Bah sa ne servirait a rien de tout donner sachant que le problème doit venir de ce que j'ai donné :/
C'est quoi la ligne 176 ?
 
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
C'est quoi la ligne 176 ?
Ceci:
Code:
 ACCEPT.DoClick = function() net.Start("WS:NPC:Name:NewName") net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() ) net.SendToServer() NPCNAME:Close() end
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
WabelGame à dit:
Ceci:
Code:
 ACCEPT.DoClick = function() net.Start("WS:NPC:Name:NewName") net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() ) net.SendToServer() NPCNAME:Close() end
Bah désoler, mais je ne vois pas d'erreur :/
 
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
slownls à dit:
Bah désoler, mais je ne vois pas d'erreur :/
Bah d'après l'erreur, en gros c'est que sa trouve rien car le derma est fermé donc du coup faudrais que le derma se ferme après que le temps soit terminé mais le problème c'est que j'aimerais qu'on doive attendre assez longtemps, ce qui serait chiant pour les joueurs car ils devraient attendre dans le derma quoi :/
 
T

ToTheHospital

Geek suprême
Messages
224
Score réaction
88
Points
120
WabelGame à dit:
Bah d'après l'erreur, en gros c'est que sa trouve rien car le derma est fermé donc du coup faudrais que le derma se ferme après que le temps soit terminé mais le problème c'est que j'aimerais qu'on doive attendre assez longtemps, ce qui serait chiant pour les joueurs car ils devraient attendre dans le derma quoi :/
En gros tu veux que le panel se ferme avec un délai après avoir cliqué sur le bouton? (si j'ai bien compris)
 
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
ToTheHospital à dit:
En gros tu veux que le panel se ferme avec un délai après avoir cliqué sur le bouton? (si j'ai bien compris)
Oui mais c'est résolu ^^
 
T

ToTheHospital

Geek suprême
Messages
224
Score réaction
88
Points
120
WabelGame à dit:
Oui mais c'est résolu ^^
Ah, bon alors si d'autres personnes cherchent la même chose et tombent sur ce post je met ça ici ^^

Code:
ACCEPT.DoClick = function()
net.Start("WS:NPC:Name:NewName")
net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() )
net.SendToServer()
timer.Create( "NomDeLaFonction", 2, 0, function() NPCNAME:Close() end ) -- Délai de 2 secondes avant la fermeture du panel
end
 
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
ToTheHospital à dit:
Ah, bon alors si d'autres personnes cherchent la même chose et tombent sur ce post je met ça ici ^^

Code:
ACCEPT.DoClick = function()
net.Start("WS:NPC:Name:NewName")
net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() )
net.SendToServer()
timer.Create( "NomDeLaFonction", 2, 0, function() NPCNAME:Close() end ) -- Délai de 2 secondes avant la fermeture du panel
end
AH NON en fait, j’ai mal compris ce que tu avait compris. Enfaite je voulais mettre un timer pour que sa nous change de Nom RP et que sa ferme directement le panel mais sa generait une erreur lua
 
slownls

slownls

Helpeur Divin
Messages
1 853
Score réaction
1 079
Points
465
ToTheHospital à dit:
Ah, bon alors si d'autres personnes cherchent la même chose et tombent sur ce post je met ça ici ^^

Code:
ACCEPT.DoClick = function()
net.Start("WS:NPC:Name:NewName")
net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() )
net.SendToServer()
timer.Create( "NomDeLaFonction", 2, 0, function() NPCNAME:Close() end ) -- Délai de 2 secondes avant la fermeture du panel
end
Ton timer se répétera à l'infini là.
 
T

ToTheHospital

Geek suprême
Messages
224
Score réaction
88
Points
120
slownls à dit:
Ton timer se répétera à l'infini là.
Ah oui j'avais pas fait gaffe, je rectifie ça :

Code:
ACCEPT.DoClick = function()
net.Start("WS:NPC:Name:NewName")
net.WriteString( Firstname:GetValue() .. " " .. Lastname:GetValue() )
net.SendToServer()
timer.Create( "NomDeLaFonction", 2, 1, function() NPCNAME:Close() end ) -- Délai de 2 secondes avant la fermeture du panel, se répète 1 fois
end
 
T

ToTheHospital

Geek suprême
Messages
224
Score réaction
88
Points
120
slownls à dit:
Ton timer se répétera à l'infini là.
Mais dans le cas ou ça ferme la frame parent ça ne doit pas poser de soucis normalement, même si c'est pas très propre ^^
 
Dernière édition:
  • Initiateur de la discussion
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
Pour ceux qui voudraient la solution, il suffisait de mettre une variable global qui récupère les valeurs des DTextEntry. :)
 
Discord d'entraide
Rejoignz-nous sur Discord