Jump to content

Skin privé [Help]


Recommended Posts

Bonsoir,

Va peut-être falloir essayer de comprendre le LUA car c'est vraiment pas compliqué. Mais bon, je t'es fait le script :

A mettre côté client :

  
function checkPlayerSkin() 
   triggerServerEvent("goCheckSkin", getLocalPlayer()) 
end 
setTimer(checkPlayerSkin, 5000, 0) 
  

A mettre côté server :

  
function checkSkin(thePlayer) 
    if not isObjectInACLGroup("user." getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Admin")) then -- Si il n'est pas admin alors 
        local id = getElementModel(thePlayer) -- Permet de regarder l'ID du skin du joueur 
        if id == 217 then -- Si l'ID du vêtement est 217 alors 
           setElementModel(thePlayer, 0) -- Met le skin de CJ 
        end 
    end 
end 
addEvent("goCheckSkin", true) 
addEventHandler("goCheckSkin", getRootElement(), checkSkin) 
  

C'est pas le code le plus optimisé, mais au moins, normalement ça devrai marcher.

Rémi

Link to comment

Bonjour,

Ah d'accord.. Essais ça (normalement ça réglera ton problème) :

  
function checkSkin(thePlayer) 
    if isObjectInACLGroup("user." getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Everyone")) then -- Si il n'est pas admin alors 
        local id = getElementModel(thePlayer) -- Permet de regarder l'ID du skin du joueur 
        if id == 217 then -- Si l'ID du vêtement est 217 alors 
           setElementModel(thePlayer, 0) -- Met le skin de CJ 
        end 
    end 
end 
addEvent("goCheckSkin", true) 
addEventHandler("goCheckSkin", getRootElement(), checkSkin) 

Link to comment
  • Moderators
Bonsoir,

Va peut-être falloir essayer de comprendre le LUA car c'est vraiment pas compliqué. Mais bon, je t'es fait le script :

A mettre côté client :

  
function checkPlayerSkin() 
   triggerServerEvent("goCheckSkin", getLocalPlayer()) 
end 
setTimer(checkPlayerSkin, 5000, 0) 
  

A mettre côté server :

  
function checkSkin(thePlayer) 
    if not isObjectInACLGroup("user." getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Admin")) then -- Si il n'est pas admin alors 
        local id = getElementModel(thePlayer) -- Permet de regarder l'ID du skin du joueur 
        if id == 217 then -- Si l'ID du vêtement est 217 alors 
           setElementModel(thePlayer, 0) -- Met le skin de CJ 
        end 
    end 
end 
addEvent("goCheckSkin", true) 
addEventHandler("goCheckSkin", getRootElement(), checkSkin) 
  

C'est pas le code le plus optimisé, mais au moins, normalement ça devrai marcher.

Rémi

Dit moi Rémi, les conseils que je te donnes, tu t'en fou ? (ton "anticheat" sur github)

Les triggers ne sont pas fait pour ça ! Les triggers sont les fonctions les plus gourmandes en ressources cpu et réseaux.

Nouvelle version (côté serveur):

function checkSkin(thePlayer) 
    if isObjectInACLGroup("user." getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Everyone")) then -- Si il n'est pas admin alors 
        local id = getElementModel(thePlayer) -- Permet de regarder l'ID du skin du joueur 
        if id == 217 then -- Si l'ID du vêtement est 217 alors 
            setElementModel(thePlayer, 0) -- Met le skin de CJ 
        end 
    end 
end 
  
setTimer( function () 
    for k, player in ipairs(getElementsByType("player")) do 
        checkSkin( player ) 
    end 
end, 5000, 0) 

Je suis pas méchant mais voir quelqu'un continuer a faire ce genre de code crade et en plus de le partager à d'autres comme étant une bonne solution de le faire alors qu'on lui explique le contraire.

Link to comment

Bonjour Citizen,

J'ai bien précisé que ce n'est absolument pas le code le plus optimisé plus haut :

"C'est pas le code le plus optimisé, mais au moins, normalement ça devrai marcher."

Et si, j'ai dis ça, c'est tout simplement parce que tu m'a partagé la méthode que tu montre ci-dessus sur GitHub.

Je reconnais que ma méthode est crade, absolument crade d'ailleurs. Mais la dernière fois que j'avais fait des essais avec ta méthode ça n'a pas fonctionné (J'ai pas eu le temps de regarder encore d'avantage le problème par ailleurs, je le reconnais).

Rémi

Link to comment
  • Moderators

Ouai je me suis un peu emporté aussi, c'est juste que ça m'énerve de voir des personnes donner de mauvaises pratiques à ceux qui apprennent et qu'on va se retrouver avec soit de nouveau topic sur le forum qu'on aurait pu éviter ou d'avoir des serveurs français qui laguent parce que le serveur se prends trop de trigger dans la figure. :)

Link to comment
Ouai je me suis un peu emporté aussi, c'est juste que ça m'énerve de voir des personnes donner de mauvaises pratiques à ceux qui apprennent et qu'on va se retrouver avec soit de nouveau topic sur le forum qu'on aurait pu éviter ou d'avoir des serveurs français qui laguent parce que le serveur se prends trop de trigger dans la figure. :)

Pas de soucis, c'est parfaitement compréhensible ta réaction. :)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...