Jump to content
×
×
  • Create New...
  • 0

beug quette mysql de ban


Mandrilux
 Share

Question

[Message d'introduction]

 

Version des files : 2013

Domaine (Base de données, Core, etc.) : core

Votre niveau (débutant, intermédiaire, avancé) : intermediaire

 

Description du problème : ma quette ne se compile pas et affiche une erreur mysql lors de la compilation

 

Message d'erreur, capture d'écran :

j'ai voulu mettre la quette de bannisement IG de smoke : voir le lien suivant

https://funky-emu.net/topic/9908-objet-bannir-depuis-le-jeu/

641398Capture.png

mais elle ne se compile pas et affiche une erreur

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Link to comment
Share on other sites

  • Answers 11
  • Created
  • Last Reply

Top Posters For This Question

11 answers to this question

Recommended Posts

  • 0

if name=="" or name=="0" or name=""..pc.name.."" then --- Vérifie si l'input box est correctement remplit

 

 

Petit oubli d'un "=" au 3ème or

 

if name=="" or name=="0" or name==""..pc.name.."" then --- Vérifie si l'input box est correctement remplit

 

Ah oui, j'oubliais, finir un say/chat par un accent ça "masque" la quête dirons-nous ce qui veut dire que ici la quête ne se lancera pas car il y a ceci :

 chat("Ce nom n'est pas attribué")

Suffira donc juste de mettre un "e" normal sans accent pour réparer.

 

bonjour , je pense que la réponse est dans le poste , as tu vérifier la quest avec les modifications que cite (agronaque512) ?

Link to comment
Share on other sites

  • 0
  • Developer

L'erreur est tout autre, elle dit que la quête appelle des fonctions non déclarées.

 

Rajoute les fonctions "mysql_select" et "mysql_notselect" dans ton fichier "questlib.lua".

Normalement, on devrait te les avoir donné dans le post où tu as trouvé cette quête.

Link to comment
Share on other sites

  • 0

"Calls undeclared function" veut tout simplement dire que tu as des fonctions non déclarées, à savoir: "mysql_select" et "mysql_notselect"

Tu dois donc les ajouter dans ton fichier quest_functions, même si ce n'est pas écrit sur le topic d'où vient cette quête.

Link to comment
Share on other sites

  • 0

Allez dans /usr/metin2/share/locale/france/quest/

Editez le fichier questlib.lua et ajoutez y le code suivant tout à la fin en laissant un espace avant et après le copier-coller:

 

function split(str, delim, maxNb)
   if str == nil then return str end
   if string.find(str, delim) == nil then return { str } end
   if maxNb == nil or maxNb < 1 then maxNb = 0 end
   local result = {}
   local pat = "(.-)" .. delim .. "()"
   local nb = 0
   local lastPos
   for part, pos in string.gfind(str, pat) do
       nb = nb + 1
       result[nb] = part
       lastPos = pos
       if nb == maxNb then break end
   end
   if nb ~= maxNb then result[nb + 1] = string.sub(str, lastPos) end
   return result
end



mysql_query = function(query)
   if not pre then
       local rt = io.open('CONFIG','r'):read('*all')
       pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')
   end
   math.randomseed(os.time())
   local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
   os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi) -- pour MySQL51
   -- os.execute('mysql '..pre..' -e='..string.format('%q',query)..' > '..fi) -- pour MySQL55
   for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi);
   for i = 2, table.getn(t) do table.foreach(t[i],function(a,b)
       out[i-1]               = out[i-1] or {}
       out[i-1][a]            = tonumber(b) or b or 'NULL'
       out[t[1][a]]           = out[t[1][a]] or {}
       out[t[1][a]][i-1]      = tonumber(b) or b or 'NULL'
   end) end
   return out
end  

 

Fermez et sauvez, éditez ensuite le fichier quest_functions en laissant un espace après le copier-coller:

 

mysql_query

 

Voila, faites un reboot et la mysql_query dans les quêtes est installée.

Link to comment
Share on other sites

  • 0
  • Retraité

Bonjour,

 

Le sujet contient la balise [glow=#800000][Résolu][/glow] ou reste sans réponse depuis deux semaines ou plus, de ce fait il a été déplacé dans la section "Résolu ou sans réponse".

 

Cordialement.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.