Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

thomasx3

Membre
  • Compteur de contenus

    232
  • Inscription

  • Dernière visite

  • Jours gagnés

    3

Tout ce qui a été posté par thomasx3

  1. Les dédié Kimsufi sont pas très performant, mais bon pour développer ton serveur. Je ne te conseille pas pour ouvrir un serveur
  2. Salut, Moi je te conseil de prendre un dédie chez OVH de la gamme Rise. Pour hébergement tu le fais directement avec ton dédie que tu relie a ton domaine
  3. thomasx3

    Contre sort

    Merci a tous pous vos réponses ! Mais comment faire sa Antok ? @_Sufhal Je vais demandez aux joueur de filmer ça !
  4. thomasx3

    Contre sort

    Plusieurs joueurs m'en on parlé et m'on dit que mon serveur n'etais pas le seul a l'avoir....
  5. thomasx3

    Contre sort

    Version des fichiers/ Type d'émulateur : Files 2014 By FE Domaine (Base de données, Client, Core...) : Bonne question Votre niveau (Débutant, Intermédiaire, Avancé..) : Intermédiaire Bonjour, Bonsoir. J'ai un petit problème sur mon serveur et je ne suis pas le seul, je pense que la résolution ferait plaisir à plusieurs personnes ! Le voici en image, ça concerne le skill Contre-sortilège des Suras AM. Merci à tous pour votre aide ! En postant ma demande d'aide, j'affirme avoir lu et accepté le Règlement de Funky-Emulation.
  6. thomasx3

    bd59140

    Bienvenu beau gosse !
  7. En effet, ce n'est pas la quête en elle même, J'ai tester la fonction mysql_query et il s'avere bien que celle ci bug, j'ai exactement la même erreur sur putty. Merci a tous pour votre aide ! :-)
  8. Oui je ne sais pas du tout d'ou vient ce probleme ! De l'execution de la query ?Donc de la fonction dans Questlib ? 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) -- f? MySQL51 os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi) -- f? 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
  9. En tapant sh make, voici ce que j'obtien pour la quête concerné ! La quête proviens d'ici. [Hidden Content] J'ai effectué quelques nouvelles fonctions dans les root afin de la relier a la piece en bas a Gauche.
  10. Montre est-ce que tu as récupéré cette quête ? J'ai pas compris ta réponses @ASIKOO
  11. J'ai uniquement ça sur putty, rien dans les syserr !
  12. Domaine (Base de données, Client, Core...) : Base de donnée/Core Votre niveau (Débutant, Intermédiaire, Avancé..) : Intermédiaire Bonjour, Bonsoir, J'ai un petit soucis auquel je ne trouve aucune réponse malgré de nombreuses recherches. Lors de l'execution d'une quête utilisant MYSQL, j'ai une erreur qui s'affiche sur putty Et la quête ne s’exécute pas du tout, savez vous d'ou cela peut t'il provenir ? Voici la quête en question ! -- Quest File written by Kilroy. -- Function: AnyShop Lua/Python/Sql -- Questpart: 1/1 quest AnyShop begin state start begin when login begin cmdchat(string.format("AnyShop index/%d", q.getcurrentquestindex())) end when button begin cmdchat("getinputbegin") local INPUT = AnyShop.stringSplit(input(cmdchat("AnyShop input/")), "/") cmdchat("getinputend") if INPUT[1]=="open" then if not AnyShop.AntiFlood_(1, 3) then return end local stringTable, tableItems = {}, mysql_query("SELECT shopitems.vnum, shops.shop_id, categories.name as category, shopitems.preis, shopitems.rabatt, IFNULL(TIMESTAMPDIFF(second, NOW(), shopitems.angebot),0) as seconds, shops.suffix, categories.cat_id FROM anyshop.shopitems JOIN anyshop.shops ON shops.shop_id = shopitems.shop_id JOIN anyshop.categories ON categories.cat_id = shopitems.cat_id ORDER BY verkauft DESC;") if (tableItems==nil or tableItems[1]==nil) then syschat("Erreur. Configuration incorrecte dans la table 1") return end local tableCount = table.getn(tableItems) cmdchat("AnyShop ClearBoard/") local moneyQuery, cashs = "", mysql_query("SELECT coin_column, suffix, name, shop_id FROM anyshop.shops;") if (cashs==nil or cashs[1]==nil) then syschat("Erreur. Configuration incorrecte dans la table 2") return end for i=1, table.getn(cashs), 1 do moneyQuery = moneyQuery..(i==1 and "" or ",")..cashs[i][1] end local money = mysql_query("SELECT "..moneyQuery.." FROM account.account WHERE id = "..pc.get_account_id()..";") if (money==nil or money[1]==nil) then syschat("Erreur. Configuration incorrecte dans la table 3") return end local moneyCMD = "AnyShop config/" for i=1, table.getn(money[1]), 1 do moneyCMD = moneyCMD..(i==1 and "" or "|")..money[1][i]..","..cashs[i][2]..","..cashs[i][3]..","..cashs[i][4] end cmdchat(moneyCMD) item.select_cell(204) money = item.get_socket(0) cmdchat("AnyShop setmoney/3/"..money) if tableCount==0 then return end for i=1, tableCount, 1 do table.insert(stringTable, string.format("%d,%d,%s,%d,%d,%d,%s,%d", unpack(tableItems[i]))) end local AddToListCMD = "AnyShop AddToList/"..stringTable[1] for i=2, tableCount, 1 do if string.len(AddToListCMD)+string.len(stringTable[i])>=490 then cmdchat(AddToListCMD) AddToListCMD = "AnyShop AddToList/"..stringTable[i] else AddToListCMD = AddToListCMD.."|"..stringTable[i] end if i==tableCount then cmdchat(AddToListCMD) break end end cmdchat("AnyShop FinishSending/") elseif INPUT[1]=="buy" then if not AnyShop.AntiFlood_(2, 3) then return end local itemVnum = tonumber(INPUT[2]) local itemCount = tonumber(INPUT[3]) local shopId = tonumber(INPUT[4]) if (itemVnum==nil or itemVnum<10) or (itemCount==nil or itemCount<1) then return end local choosenItem = mysql_query("SELECT shopitems.vnum, shopitems.preis, shopitems.rabatt, IFNULL(TIMESTAMPDIFF(second, NOW(), shopitems.angebot),0) as seconds, shops.coin_column, shops.suffix, shops.shop_id FROM anyshop.shopitems JOIN anyshop.shops ON shops.shop_id = shopitems.shop_id WHERE shopitems.vnum="..itemVnum.." and shopitems.shop_id="..shopId..";") if (choosenItem[1]~=nil or table.getn(choosenItem[1]))==0 then syschat("L'article n'est plus disponible !") return end local sqlVnum, itemPrice, itemRabatt, itemAngebotSek, cash, Suffix, sqlShopId = tonumber(choosenItem[1][1]),tonumber(choosenItem[1][2]),tonumber(choosenItem[1][3]),tonumber(choosenItem[1][4]),choosenItem[1][5],choosenItem[1][6],tonumber(choosenItem[1][7]) if (sqlVnum~=itemVnum) or (sqlShopId~=shopId) then return end itemPrice = itemPrice * itemCount if (itemAngebotSek>=0 and itemRabatt>0) then itemPrice = itemPrice-math.floor(itemPrice*(itemRabatt/100)) end if shopId == 1 then local money = mysql_query("SELECT cash FROM account.account WHERE id = "..pc.get_account_id()..";")[1][1] if money < itemPrice then syschat("<Shop> Vous n'avez pas assez de "..Suffix.." pour cette article !") cmdchat("AnyShop setmoney/"..shopId.."/"..money) return end mysql_query("UPDATE account.account, anyshop.shopitems SET account.cash = account.cash-"..itemPrice..", shopitems.verkauft = shopitems.verkauft+1 WHERE account.id = "..pc.get_account_id().." AND (shopitems.vnum="..itemVnum.." AND shopitems.shop_id="..shopId..") ;") money = mysql_query("SELECT cash FROM account.account WHERE id = "..pc.get_account_id()..";")[1][1] cmdchat("AnyShop setmoney/"..shopId.."/"..money) -- mysql_query("INSERT INTO anyshop.islog (pseudo, id_compte, id_item, prix_item, quantite) VALUES('"..pc.get_name().."', '"..pc.get_account_id().."', '"..itemVnum.."', '"..itemPrice.."', '"..itemCount.."') ;") if itemVnum != 80014 and itemVnum != 80015 and itemVnum != 80016 then mysql_query("UPDATE account.account SET account.mileage = account.mileage+"..itemPrice.." WHERE account.id = "..pc.get_account_id()..";") money2 = mysql_query("SELECT mileage FROM account.account WHERE id = "..pc.get_account_id()..";")[1][1] local shopId2 = 2 cmdchat("AnyShop setmoney/"..shopId2.."/"..money2) end pc.give_item2_select(itemVnum, 1) itemCount = itemCount - 1 if item.has_flag(4) and itemCount>0 then for i=1, math.floor(itemCount/200), 1 do pc.give_item2(itemVnum, 200) end pc.give_item2(itemVnum, (itemCount - math.floor(itemCount/200)*200)) else for i=1, itemCount, 1 do pc.give_item2(itemVnum) end end end if shopId == 2 then local money = mysql_query("SELECT mileage FROM account.account WHERE id = "..pc.get_account_id()..";")[1][1] if money < itemPrice then syschat("<Shop> Vous n'avez pas assez de "..Suffix.." pour cette article !") cmdchat("AnyShop setmoney/"..shopId.."/"..money) return end mysql_query("UPDATE account.account, anyshop.shopitems SET account.mileage = account.mileage-"..itemPrice..", shopitems.verkauft = shopitems.verkauft+1 WHERE account.id = "..pc.get_account_id().." AND (shopitems.vnum="..itemVnum.." AND shopitems.shop_id="..shopId..") ;") money = mysql_query("SELECT mileage FROM account.account WHERE id = "..pc.get_account_id()..";")[1][1] cmdchat("AnyShop setmoney/"..shopId.."/"..money) mysql_query("INSERT INTO anyshop.islog (pseudo, id_compte, id_item, prix_item, quantite) VALUES('"..pc.get_name().."', '"..pc.get_account_id().."', '"..itemVnum.."', '"..itemPrice.."', '"..itemCount.."') ;") pc.give_item2_select(itemVnum, 1) itemCount = itemCount - 1 if item.has_flag(4) and itemCount>0 then for i=1, math.floor(itemCount/200), 1 do pc.give_item2(itemVnum, 200) end pc.give_item2(itemVnum, (itemCount - math.floor(itemCount/200)*200)) else for i=1, itemCount, 1 do pc.give_item2(itemVnum) end end end if shopId == 3 then item.select_cell(204) local money = item.get_socket(0) if money < itemPrice then syschat("<Shop> Vous n'avez pas assez de "..Suffix.." pour cette article !") cmdchat("AnyShop setmoney/"..shopId.."/"..money) return end item.set_socket(0, (item.get_socket(0)-itemPrice)) money = item.get_socket(0) cmdchat("AnyShop setmoney/"..shopId.."/"..money) mysql_query("INSERT INTO anyshop.islog (pseudo, id_compte, id_item, prix_item, quantite) VALUES('"..pc.get_name().."', '"..pc.get_account_id().."', '"..itemVnum.."', '"..itemPrice.."', '"..itemCount.."') ;") pc.give_item2_select(itemVnum, 1) itemCount = itemCount - 1 if item.has_flag(4) and itemCount>0 then for i=1, math.floor(itemCount/200), 1 do pc.give_item2(itemVnum, 200) end pc.give_item2(itemVnum, (itemCount - math.floor(itemCount/200)*200)) else for i=1, itemCount, 1 do pc.give_item2(itemVnum) end end end end end function stringSplit(str, sep) local sep, fields = sep or ",", {} local pattern = string.format("([^%s]+)", sep) string.gsub(str, pattern, function(c) table.insert(fields, c) end) return fields end function AntiFlood_(n, t) if pc.getqf("AntiFlood"..n)>get_time() then syschat(string.format("Veuillez patientez %d seconde avant de pouvoir effectuer un autre achat.", pc.getqf("AntiFlood"..n)-get_time())) return false end pc.setqf("AntiFlood"..n, get_time()+t) return true end end end Merci à tous pour vos réponses En postant ma demande d'aide, j'affirme avoir lu et accepté le Règlement de Funky-Emulation.
  13. Voila ce qu'il y a dans mon qc.core (Lecture a partir de la VM de compilation, non du dedié) [Hidden Content]
  14. Même aprés modification, j'obtien une nouvelle erreur : RunState: LUA_ERROR: locale/france/quest/questlib.lua:2676: attempt to index a nil value La ligne 2676 correspond a celle ci ! math.randomseed(os.time())
  15. Exactement, lors de l'application sur putty, elle renvoie un empty set. Jepossede actuellement 3item dans celui ci. Merci
  16. Lors de l'execution de cette requete, j'obtiens un empty set, SELECT shopitems.vnum, shops.shop_id, categories.name as category, shopitems.preis, shopitems.rabatt, IFNULL(TIMESTAMPDIFF(second, NOW(), shopitems.angebot),0) as seconds, shops.suffix, categories.cat_id FROM anyshop.shopitems JOIN anyshop.shops ON shops.shop_id = shopitems.shop_id JOIN anyshop.categories ON categories.cat_id = shopitems.cat_id ORDER BY verkauft DESC; Or les tables sont bel et bien remplie !
  17. Oui ! Voici ce que j'obtien lors d'un mysql -V : Server version: 5.5.60-log Source distribution Merci pour vos réponses.
  18. Bonjour, Merci pour votre réponses, oui la table shops existe bien et elle est remplie !

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.