Mettre un spawn de mort

  • Initiateur de la discussion Membre supprimé 130063
  • Date de début
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
Bonjour,

J'ai besoin d'aide pour le développement de mon serveur, je vous explique :

J'aimerai bien mettre un point d'apparition à l'hopital de la ville lorsqu'une personne est morte.
J'aurai pu en effet mettre simplement le /setspawn du métier Citizen, mais je ne veux pas qu'ils apparaissent à l'hopital quand ils rejoignent le serveur ou changent de métiers...

Est-ce que vous avez un code lua permettant de faire ceci ou un addon spécial ?

Merci d'avance,
Maxime.
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Bonjour ,

Essaie ceci dans un fichier côté serveur ( lua/autorun/server/lefichierquetuveux.lua )

Code:
local function SpawnHopital( victim ) victim:Spawn() victim:SetPos( Vector(0, 0, 0 ) ) -- A configurer par la position
end
hook.Add( "PlayerDeath', "SpawnHopital", SpawnHopital )
hook.Add( "PlayerSay", "GetPos", function( ply, text ) text = string.lower( text ) if text == "!getpos" then return ply:GetPos end
end)
Pour savoir la position tu peux faire "!getpos" dans le chat ou bien getpos dans ta console f10

EDIT : je viens de voir qu'il manque un end
 
Dernière édition:
  • J'aime
Réactions: Swxn™
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
thepsyca à dit:
Bonjour ,

Essaie ceci dans un fichier côté serveur ( lua/autorun/server/lefichierquetuveux.lua )

Code:
local function SpawnHopital( victim ) victim:Spawn() victim:SetPos( Vector(0, 0, 0 ) ) -- A configurer par la position
hook.Add( "PlayerDeath', "SpawnHopital", SpawnHopital )
hook.Add( "PlayerSay", "GetPos", function( ply, text ) text = string.lower( text ) if text == "!getpos" then return ply:GetPos end
end)
Pour savoir la position tu peux faire "!getpos" dans le chat ou bien getpos dans ta console f10
Merci beaucoup, j'essaye ça tout de suite !
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
DewMax à dit:
Merci beaucoup,

Je mets où la pos dans le code?
Vector(0, 0, 0 ), tu remplace les 0 par les nombres dans l’ordre
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
Si ça fonctionne dis-le nous
 
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
Ca ne fonctionne pas..

Voici mon code
Capture.PNG


Je réapparais au spawn, comme d'habitude..
J'ai l'impression que tous les codes qu'on m'envoie et que je met dans mon lua/autorun ne fonctionne jamais..
La dernière fois j'ai essayé de mettre un code pour supprimer les véhicules de police lors de leur changement de job mais ça n'avait pas fonctionné non plus.

Une idée ?
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
tu l'a placé ou ?
 
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
Pierre97 à dit:
tu l'a placé ou ?
Tu peux voir le FTP sur le screen
lua/autorun/server/deathspawn.lua
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
j'ai testé aussi ca ne fonctionne pas
 
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
DewMax à dit:
Ca ne fonctionne pas..

Voici mon code
Regarde la pièce jointe 7929

Je réapparais au spawn, comme d'habitude..
J'ai l'impression que tous les codes qu'on m'envoie et que je met dans mon lua/autorun ne fonctionne jamais..
La dernière fois j'ai essayé de mettre un code pour supprimer les véhicules de police lors de leur changement de job mais ça n'avait pas fonctionné non plus.

Une idée ?
Forcément, son code est pas fonctionnel.
 
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
Wabel

Wabel

Je ne sais pas quoi mettre
Messages
2 262
Score réaction
707
Points
330
DewMax à dit:
Tu sais le corriger ou pas ? :p
Code:
hook.Add("PlayerDeath", "SpawnHopital", function(ply) ply:Spawn() ply:SetPos(Vector(0, 0, 0))
end)
 
  • J'aime
Réactions: Yoh Sambre ♪ et thepsyca
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
@WabelGame
Merci pour la correction je viens de voir qu'il manque le end, j'ai une question y'a vraiment une différence notable niveau opti entre :

Code:
local fuction XXX()
end
hook.Add( "XX", "XXX", XX)
--[[ Ou bien ]] --
hook.Add( "XX", "XXX", function()
end)
 
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
thepsyca à dit:
@WabelGame
Merci pour la correction je viens de voir qu'il manque le end, j'ai une question y'a vraiment une différence notable niveau opti entre :

Code:
local fuction XXX()
end
hook.Add( "XX", "XXX", XX)
--[[ Ou bien ]] --
hook.Add( "XX", "XXX", function()
end)
On sait me remettre le code que je dois mettre au final, je m'y perd un peu ? :p
 
Reply.

Reply.

Geek
Messages
111
Score réaction
50
Points
70
DewMax à dit:
On sait me remettre le code que je dois mettre au final, je m'y perd un peu ? :p
Attends la confirmation de WabelGame et on te repassera le code en entier ^^.
 
  • J'aime
Réactions: Membre supprimé 130063
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
Le code n'est pas fonctionnel, quelqu'un a une idée ?
 
UnCaribou

UnCaribou

Geek
Messages
82
Score réaction
35
Points
70
thepsyca à dit:
@WabelGame
Merci pour la correction je viens de voir qu'il manque le end, j'ai une question y'a vraiment une différence notable niveau opti entre :

Code:
local fuction XXX()
end
hook.Add( "XX", "XXX", XX)
--[[ Ou bien ]] --
hook.Add( "XX", "XXX", function()
end)
Non, la seul différence c'est que dans le premier cas tu peux apeller la fonction autre part.
 
  • J'aime
Réactions: thepsyca
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Code:
hook.Add("PlayerDeath", "Spawn-SetDead", function(ply) ply.IsNormalDead = true
end)
hook.Add("PlayerSpawn", "Spawn-Hospital", function(ply) timer.Simple(0.1, function() if ply.IsNormalDead then ply:SetPos(Vector(3233.378906, 863.443054, 200.031250)) ply.IsNormalDead = nil end end)
end)
 
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
thepsyca à dit:
Code:
hook.Add("PlayerDeath", "Spawn-SetDead", function(ply) ply.IsNormalDead = true
end)
hook.Add("PlayerSpawn", "Spawn-Hospital", function(ply) timer.Simple(0.1, function() if ply.IsNormalDead then ply:SetPos(Vector(3233.378906, 863.443054, 200.031250)) ply.IsNormalDead = nil end end)
end)
Code fonctionnel
Merci beaucoup :D

Maxime.
 
  • J'aime
Réactions: thepsyca
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
hook.Add("PlayerDeath", "Spawn-SetDead", function(ply)

ply.IsDead = true

end)

hook.Add("PlayerSpawn", "Spawn-Hospital", function(ply)

timer.Simple(0.1, function()
if ply.IsDead then
ply:SetPos(Vector(-1886.350098, -5660.564941, -178.702057))
ply.IsDead = nil
end
end)

end)
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
Pierre97 à dit:
hook.Add("PlayerDeath", "Spawn-SetDead", function(ply)

ply.IsDead = true

end)

hook.Add("PlayerSpawn", "Spawn-Hospital", function(ply)

timer.Simple(0.1, function()
if ply.IsDead then
ply:SetPos(Vector(-1886.350098, -5660.564941, -178.702057))
ply.IsDead = nil
end
end)

end)
pourquoi ca marche pas moi ?x)
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Pierre97 à dit:
pourquoi ca marche pas moi ?x)
Normalement si tu la bien mis côté server et que tu te suicide le code fonctionne
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
je l'ai mis dans autorun/serveur/dossier_spawn
le probleme viens donc de mon code getpos ?
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
setpos -1896.299072 -5656.924316 -178.668396;setang 26.465845 -92.243858 0.000315

je choisi le quelle ?
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Normal c'est pas serveur mais server

tu choisis les trois premiers
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
thepsyca à dit:
Normal c'est pas serveur mais server

tu choisis les trois premiers
ply:SetPos(Vector(-1886.350098, -5660.564941, -178.702057))
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
c'est possible que medic mod empêche ca ?
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Pierre97 à dit:
c'est possible que medic mod empêche ca ?
Je t'ai dis c'est pas serveur mais server !

Ce qui donne lua/autorun/server/lefichierquetuveux.lua
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
je l'ai mis là : /srcds/garrysmod/lua/autorun/server
 
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
Pierre97 à dit:
je l'ai mis là : /srcds/garrysmod/lua/autorun/server
1. Copie ce code-ci :
Code:
-- Ce fichier permet de faire apparaitre les joueurs à l'hopital après leur mort en jeu
-- Code par thepsyca sur Mtxserv.fr
hook.Add("PlayerDeath", "Spawn-SetDead", function(ply) ply.IsNormalDead = true
end)
hook.Add("PlayerSpawn", "Spawn-Hospital", function(ply) timer.Simple(0.1, function() if ply.IsNormalDead then ply:SetPos(Vector(553.477112 7934.646973 675.031250)) -- Il faut changer ces chiffres-ci ! ply.IsNormalDead = nil end end)
end)
2. Va dans le dossier lua/autorun/server

3. Créé un fichier nommé deathspawn.lua

4. Colle le code que je t'ai envoyé dedans

5. Va dans ton jeu, à l'endroit que tu désires et marque "getpos" dans la console (F10)

6. Les 3 premières coordonnées (entre le "setpos" et ";setang") tu les copies

7. Tu les remplace par les miennes dans le code, là où j'ai mis le commentaire "-- Il faut changer ces chiffres-ci !"

8. Tu redémarres ton serveur

En espérant t'avoir aidé
Merci, Maxime.
 
  • J'aime
Réactions: PierreB et Reply.
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
ah j'ai oublier le .lua (pour le fichier) ! je vais tester merci ;)
 
Pierre97

Pierre97

Geek
Messages
360
Score réaction
68
Points
70
CA FONCTIONNE MERCI
 
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
PierreB

PierreB

Geek suprême
Messages
342
Score réaction
64
Points
130
@DewMax Si tu veux je peux te faire en sorte que si il est superadmin ca ne prend pas en compte ;)
 
  • Initiateur de la discussion
M

Membre supprimé 130063

Anonyme
PierreB à dit:
@DewMax Si tu veux je peux te faire en sorte que si il est superadmin ca ne prend pas en compte ;)
Pourquoi pas, bonne idée :D
 
PierreB

PierreB

Geek suprême
Messages
342
Score réaction
64
Points
130
Essaye ca :
Code:
-- Ce fichier permet de faire apparaitre les joueurs à l'hopital après leur mort en jeu
-- Code par thepsyca sur Mtxserv.fr
hook.Add("PlayerDeath", "Spawn-SetDead", function(ply) ply.IsNormalDead = true
end)
hook.Add("PlayerSpawn", "Spawn-Hospital", function(ply) timer.Simple(0.1, function() if ply.IsNormalDead and not ply.IsUserGroup("superadmin") then ply:SetPos(Vector(553.477112 7934.646973 675.031250)) -- Il faut changer ces chiffres-ci ! ply.IsNormalDead = nil end end)
end)
 
Discord d'entraide
Rejoignz-nous sur Discord