[LUA]Problème avec un script très important
Ha ok l'erreur apparait en console quand tu tape quelque chose en jeu. Elle n'apparait pas au chargement des scripts LUA ou je me trompe ? AscentFR et Arcemu utilise le même LUAEngine Clin.
Non, elle apparait pas lors d'un "reloadscripts", donc au chargement le script semble niquel, c'est lorsqu'on tape #spell en jeu qu'on a un souci dans la console.
Oui mais moi je suis dans l'incapacité d'aller en jeu pour le moment. Et je parie que tu n'a pas cette erreur avec les autres scripts de ce sujet ? C'est bizarre pourtant la variable de texte et la manière de vérifier que le texte entré est le bon ben c'est les mêmes Blink.
(30-04-2010 17:45)KaiosOwn a écrit :  Go apex, ArcEmu c'est de la merde only memory leak

Plus tard , mais c'est vrai que les quêtes Debug ça donne envie Langue Et puis j'ai des problèmes a up les sources sur le SVN
A voir. Pas ce week-end.
@Sadikum : Ben si tu parle du script #revivre, il marche parfaitement bien, sauf le SendBroadcastMessage qui ne marche pas lorsque tu ressuscite.
Code :
pPlayer:SpawnCreature(entry[pPlayer:GetPlayerClass() + pPlayer:GetTeam()], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 0, 120000)
ne pourrait pas être divisé en variables pour n'avoir que (entry[a], x, y, z, o ...) ?
A quoi bon faire des tonnes de variable si c'est pour sans servir une seul fois ?
[code=lua]local entry = { 16771, 4594, 5491, 16681, 8308, 3039, 4215, 4582, 4090, 16658, 28474, 28474, 17520, 3032, 17514, 4568, 5171, 16646, 0, 0, 4217, 16655 }[/code]

[code=lua][pPlayer:GetPlayerClass() + pPlayer:GetTeam()][/code]

Bien vu Huh J'y aurais jamais pensé
C'est juste un tableau, ça évite de faire 10000 lignes pour faire la même chose.
@Sadikum : le fait de diviser un peu les variables permettrait de localiser mieux le problème, lorsqu'on aura trouvé on pourra toujours les re-fusionner Clin
Étant donné que je ne peut pas aller en jeu et donc pas faire de test libre à toi de faire ce que tu veut pour trouver le problème Clin.
Code corrigé, testé et fonctionnel. Enfait suffit de savoir comment marche une fonction pour résoudre le problème.
Le :GetPlayerClass renvoie une chaine de caractère de la classe en anglais, et non pas un nombre.
Code :
local SPELL_MSG = "#spell"

function PlayerOnChat2(event, pPlayer, message, type, language)
    local LCM = message:lower()
    local entry = { 16771, 4594, 5491, 16681, 8308, 3039, 4215, 4582, 4090, 16658, 28474, 28474, 17520, 3032, 17514, 4568, 5171, 16646, 0, 0, 4217, 16655 }
    if(LCM == SPELL_MSG) then
-- pPlayer:SpawnCreature(16771, pPlayer:GetX(), pPlayer:GetY(), pPlayer:GetZ(), pPlayer:GetO(), 35, 120000)
        if pPlayer:GetTeam()~=1 then
            if pPlayer:GetPlayerClass()=="Warrior" then
            pPlayer:SpawnCreature(entry[1], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Paladin" then
            pPlayer:SpawnCreature(entry[3], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Hunter" then
            pPlayer:SpawnCreature(entry[5], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Rogue" then
            pPlayer:SpawnCreature(entry[7], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Priest" then
            pPlayer:SpawnCreature(entry[9], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Death Knight" then
            pPlayer:SpawnCreature(entry[11], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Shaman" then
            pPlayer:SpawnCreature(entry[13], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Mage" then
            pPlayer:SpawnCreature(entry[15], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Warlock" then
            pPlayer:SpawnCreature(entry[17], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Druid" then
            pPlayer:SpawnCreature(entry[19], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end    
        elseif pPlayer:GetTeam()==1 then
            if pPlayer:GetPlayerClass()=="Warrior" then
            pPlayer:SpawnCreature(entry[2], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Paladin" then
            pPlayer:SpawnCreature(entry[4], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Hunter" then
            pPlayer:SpawnCreature(entry[6], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Rogue" then
            pPlayer:SpawnCreature(entry[8], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Priest" then
            pPlayer:SpawnCreature(entry[10], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Death Knight" then
            pPlayer:SpawnCreature(entry[12], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Shaman" then
            pPlayer:SpawnCreature(entry[14], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Mage" then
            pPlayer:SpawnCreature(entry[16], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Warlock" then
            pPlayer:SpawnCreature(entry[18], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end
            if pPlayer:GetPlayerClass()=="Druid" then
            pPlayer:SpawnCreature(entry[20], pPlayer:GetX() + 1, pPlayer:GetY() + 1, pPlayer:GetZ(), pPlayer:GetO()*3.14, 35, 120000)
            end    
        end
    end
end

RegisterServerHook(16, "PlayerOnChat2")

Retourner en haut Accueil