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

marllow

Membre
  • Compteur de contenus

    232
  • Inscription

  • Dernière visite

Messages posté(e)s par marllow

  1. Bonjour, voilà j'aimerais implanté le code php ci-dessous à mon MT2-CMS cependant je n'arrive à rien ou je n'ai qu'une page vide ou il me demande de me connecter alors que je suis déjà connecter...

     

    Version des files :2016

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

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

     

    Description du problème

     
    <?php if(isset($_SESSION['logged']) AND $_SESSION['logged'] == true) { ?>
    Resetare caractere
         
    
    
    <?PHP   
       if(isset($_GET['char']) && checkInt($_GET['char'])) {
         $sqlCmd = "SELECT player.name, player_index.empire, UNIX_TIMESTAMP(player.last_play) AS timeStamp 
           FROM player.player
           INNER JOIN player.player_index ON player.account_id = player_index.id
           WHERE player.id = '".$_GET['char']."'
           AND player.account_id = '".$_SESSION['user_id']."'
           LIMIT 1";
         $sqlQry = mysqli_query($sqlServ, $sqlCmd);
       
         if(mysqli_num_rows($sqlQry)>0) {
           $getChar = mysqli_fetch_object($sqlQry);
           $difSpielzeit = time()-$getChar->timeStamp;
           $toGoTime = (5*60)-($difSpielzeit);
           $toGoMin = floor(($toGoTime)/60);
           $toGoSek = ($toGoTime)%60;
           if(($difSpielzeit/60)>=5) {
           		
    	if($getChar->empire=='1') { $mapindex = "0"; $x = "459770"; $y = "953980";} //regat rosu
    	elseif($getChar->empire=='2') { $mapindex = "21"; $x = "52043"; $y = "166304";} //regat galben
    	elseif($getChar->empire=='3') { $mapindex = "41"; $x = "957291"; $y = "255221";} //regat albastru
    
    
             $sqlUpdate = "UPDATE player.player SET map_index='".$mapindex."', x='".$x."', y='".$y."', exit_x='0', exit_y='0', exit_map_index='".$mapindex."', horse_riding='0' WHERE id='".$_GET['char']."' LIMIT 1";
             $updatePos = mysqli_query($sqlServ, $sqlUpdate);
             if($updatePos) {
               echo '
    
       
            Caracterul «'.$getChar->name.'» a fost teleportat cu succes în prima hartă. Dacă nu merge, daţi ieşire joc şi aşteptaţi puţin apoi încercaţi din nou.
         
      
    		';
             }
             else { echo'
       
           O  eroare a aparut, vă rugăm contactaţi un Administrator.
         
    	  '; }
             
           }
           else {
             echo'
       
           Trebuie  să fi delogat de cel puţin 5 minute. Trebuie sa aştepţi '.$toGoMin.' minute şi '.$toGoSek.' secunde.
         
    	  ';
           }
           
         }
         else {
           echo'
       
           Caracterul specificat nu există.
         
    	';
         }
       
       }
       echo'« Înapoi';
     }
     else {
       echo'
      
           Trebuie  să fi logat pentru a accesa această zonă.
         
    ';
     }
    ?>

     

    Comment reproduire le problème : Rien ne s'affiche

    Recherches et tests effectué : Sur tout le forum j'ai trouvé un topic concernant le même soucis que moi sauf que on à donné la solution par skype...

    Résultat des recherches et tests : Aucun

     

    Message d'erreur, capture d'écran :

     

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

  2. C'est-à dire je pourrais avoir plus d'explication comme je n'ai jamais eu ce problème j'aimerais savoir quel genre de configuration tu parle merci ^^ car au début les mysql connect était rare mais là sa s'amplifie avec le nombre de joueur....

  3. J'ai trouvé une solution mais malheureusement j'ai une nouvelle érreur qui arrive aussi un peut comme les maintenance :

     

    Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

     

    Cordialement.

  4. Comme je l'ai dit je suis sûr que ça vient de Mysql... ça peut pas venir d'un firewall ou d'autre chose, j'en suis sûr qu'il doit y avoir une limite de connexion par utilisateur et je ne sais plus comment débrider les connexion max ou les socket je sais plus comment ça s'appel, et c'est ça qui doit surement faire que le site ce met en maintenance tout le temps car il n'arrive pas à ce connecter à la bdd.

  5. Le packet filter je sais pas j'utilise celui qui est dans les tutos et le firewall IPFW il me semble que c'est ça. Mais comme je l'ai dit plus haut il me semble que cela n'a rien à voir avec ça vu que j'ai déjà fais des test sans...

  6. Déjà essayer d'enlever les protections déjà essayer de tout réinstaller 4 fois, déjà essayer de changer d'hébergement, déjà essayer sur 2 dédier différents de 2 hébergeurs différents, et bien-sûr des dixaine de CMS différents y compris des site web Allemand etc... Rien à faire.

     

    Cordialement.

  7. Déjà essayer sur différents hébergeur c'est le même résultat, je me demandais si un update vers Mysql5.6 changerais quelque chose ? Sachant que sur le 5.1 tout fonctionnait niquel sans aucun bug depuis le 5.5 tout bug et fonctionne mal

  8. C'est très lent parfois seulement, pas tout le temps ! En gros parfois le site va fonctionner niquel pendant 5-6 minutes ensuite il va ce mettre en maintenance et là c'est finit... Comme si il y avait trop de connexion simultanée sur l'utilisateur BDD...

     

    Cordialement.

  9. Bonjour, j'avais déjà poster à ce sujet précédemment, en pensant que mon nouveau dédier règlerais les soucis mais ça ne les à pas du tout régler... du coup je poste ici car ça fait un bon moment que j'ai d'énormes soucis avec mon site web...

     

    Je vous explique, lorsqu'on veut y accéder déjà il faut avoir de la chance pour pas tombé sur un site soit disant en maintenance, cela met environs 2-3 minutes pour accéder au site web et lorsque ça charge trop longtemps le site est apparemment en maintenance et ça le fait tout le temps, bref en gros impossible de s'inscrire sans avoir un gros coup de chance ou appuyer sur F5 comme un retard...

     

    Ma BDD est sous Mysql5.5 et est parfaitement fonctionnelle, je suis sous dédier : SoYouStart, CPU : Intel Xeon E3 1225v2 (3.2Ghz) RAM : 16Go : Disque dur : 2x2000Go donc IMPOSSIBLE que cela vienne de là, le site web est héberger chez OVH encore une fois impossible que ça vienne de là, la BDD est super rapide, il n'y à aucun soucis sur le jeu ni rien sauf sur le site web qui met des plombes à charger et qui ne fonctionne que quand il en à envie ayant déjà essayer des dixaine de CMS en ayant toujours le même résultat je ne vois pas du tout d'ou cela pourrais venir.

     

    En espérant que vous pourrez m'aider je vous laisse juger par vous même de la rapiditée extraordinaire du site web : http://reptiliummt2.fr/

     

    Cordialement.

     

     

     

    Version des files : 2012

    Domaine (Base de données, Core, etc.) : Site Web / BDD

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

     

    Description du problème : Peu de chance d'accéder au site web

    Comment reproduire le problème : Page de maintenance

    Recherches et tests effectué : Tous les forums d'émulation, Google etc...

    Résultat des recherches et tests : Aucun fonctionnel.

     

    Message d'erreur, capture d'écran : Page de maintenance du site web.

     

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

  10. Bonjour, Bonsoir.

     

    J'ai un soucis au niveau de Mysql_query en gros euh la fonction insert_into et select fonctionnent niquel mais la fonction UPDATE ne fonctionne pas... J'ai testé 2 quêtes différentes qui utilise cette fonction et aucune des deux ne fonctionnent.

    J'aimerais savoir pourquoi il y à un truc à rajouter dans le module mysql_query ou une fonction dans le quest_fonction je sais pas...

     

    Voici tous les détails :

     

    La première quête :

     

    quest gokhancarkacirutbev1 begin
            state start begin
                 when letter begin
            send_letter ("Grade de guerre")
                end
                when button or info begin
                                        say_title("Informations sur le système")
                                        say("")
                                        say("Bonjour "..pc.getname()..", les experts disent que vous voulez [ENTER]être un soldat?")
    
                                        local b=select("Oui", "Non")
                                            if 1==b then
                                        say_title("Informations sur le système")
                                        say("")
                                        say("Avec plaisir alors...[ENTER]Vous voulez que je vous donne quelques informations?")
                                        say("D'accord... Eh bien, écoutez-moi.")
                                        say("Pour distinguer chaque joueurs on a mit en place un")
                                        say("système de grades en fonction de vos kills.")
                                        say("Le premier grade est à 50kills.")
                                            wait()  
                                        say_title("Informations sur le système")
                                        say("")
                                        say("Un total de 9 grades à gagner pour prouver votre niveau.")
                                        say("Les grades seront devant votre pseudo une fois gagné.")
                                        say("Voici les grades qui peuvent être obtenu:")
                                        say("(Tr) Stagiaire à 50 Kills[ENTER](Sg) Sergent à 150 Kills[ENTER](Mt) Master à 250 Kills[ENTER](Cs) Commandant Sergent à 400 Kills[ENTER](Sl) Second Lieutenant à 600 Kills[ENTER](Fl) First Lieutenant à 800 Kills[ENTER]")
                                            wait ( )
                                        say_title("Informations sur le système")
                                        say("")
                                        say("(Ct) Capitaine à 1200 Kills[ENTER](Co) Colonel à 2000 Kills[ENTER](Or) Général à 3500 Kills")
                                        say("Plus de détails sur les grades:")
                                        say("Chaque grade obtenu sera actif 1 heure maximum après")
                                        say("l'avoir reçu et il sera ajouté automatiquement.")
                                        say("Chaque grade vous accompagne de différents bonus.")
                                        say("Bonne chance.")
                                            elseif 2==b then
                                        say("Hmm, vous n'êtes pas assez courageux !")
                                    end
                                  end
                                  
                                  
                    when kill with npc.is_pc() begin
                            pc.setqf("blackforceqetqf", pc.getqf("blackforceqetqf")+1)
                            local vid = npc.get_vid()
                            local old_pc = pc.select(vid)
                            if old_pc != 0 then
                            local leveli = pc.get_level()
                            local isimi = pc.get_name()
                            pc.select(old_pc)
                            syschat("Félicitations ! Vous gagnez des points pour votre grade.")
                            
                            
                            if pc.getqf("blackforceqetqf") == 1 then
                                syschat("Félicitations, vous allez combattre pour un grade.")
                                    syschat("Bonne chance sur Reptilium-Mt2")
                                    syschat("Premier grade à 50 kills.")
                                    syschat("Système : Données sauvegardées.")
                                    syschat("")
                                    notice_all("Le joueur " .. pc . get_name ( ) .. " lvl "..pc.get_level()..", a tué "..isimi.." "..leveli.." GG !")
                                    mysql_query("insert into player.gokhancarkaci values ('"..pc.get_account_id().."','"..pc.get_name().."','V1 versiyonu kullanmaktasiniz') ")
                            elseif pc.getqf("blackforceqetqf") == 50 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Tr) Stagiaire.")
                                    syschat("Récompense : +25 de vitesse de déplacement.")
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Tr)!")
                                    affect . add_collect ( apply . MOV_SPEED , 25 , 60 * 60 * 24 * 365 * 60 ) 
                                    local gcarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")  
                                    local a = gcarkaci.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Tr)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                            elseif pc.getqf("blackforceqetqf") == 150 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Sg) Sergent.")
                                    syschat("Récompense : +500 de défense.")
                                    affect . add_collect ( apply . DEF_GRADE_BONUS , 500 , 60 * 60 * 24 * 365 * 60 ) 
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Sg)!")
                                    local gocarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ") 
                                    local a = gocarkaci.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Sg)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                            elseif pc.getqf("blackforceqetqf") == 250 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Mt) Master.")
                                    syschat("Récompense : +1000 de défense.")
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Mt)!")
                                    affect . add_collect ( apply . DEF_GRADE_BONUS , 1000 , 60 * 60 * 24 * 365 * 60 ) 
                                    local gokcarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")                                 
                                    a = gokcarkaci.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Mt)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                            elseif pc.getqf("blackforceqetqf") == 400 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Cs) Commandant Sergent.")
                                    syschat("Récompense : +1000 d'attaque.")
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Cs)!")
                                    affect . add_collect ( apply . ATT_GRADE_BONUS , 1000 , 60 * 60 * 24 * 365 * 60 ) 
                                    local gokhcarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")                            
                                    a = gokhcarkaci.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Cs)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                            elseif pc.getqf("blackforceqetqf") == 600 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Sl) Second Lieutenant.")
                                    syschat("Récompense : +2000 d'attaque.")
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Sl)!")
                                    affect . add_collect ( apply . ATT_GRADE_BONUS , 2000 , 60 * 60 * 24 * 365 * 60 ) 
                                    local gokhacarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")                             
                                    a = gokhacarkaci.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Sl)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                            elseif pc.getqf("blackforceqetqf") == 800 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Fl) First Lieutenant.")
                                    syschat("Récompense : +5% de défense à l'épée.")
                                    affect . add_collect ( apply . RESIST_SWORD , 5 , 60 * 60 * 24 * 365 * 60 ) 
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Fl)!")
                                    local gokhancarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")                             
                                    a = gokhancarkaci.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Fl)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                            elseif pc.getqf("blackforceqetqf") == 1200 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Ct) Capitaine.")
                                    syschat("Récompense : +5% de défense vs les deux mains.")
                                    affect . add_collect ( apply . RESIST_TWOHAND , 5 , 60 * 60 * 24 * 365 * 60 ) 
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Ct)!")
                                    local gokhancarrkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")                             
                                    a = gokhancarrkaci.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Ct)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                            elseif pc.getqf("blackforceqetqf") == 2000 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Co) Colonel.")
                                    syschat("Récompense : +5% de défense à la dague.")
                                    affect . add_collect ( apply . RESIST_DAGGER , 5 , 60 * 60 * 24 * 365 * 60 ) 
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Co)!")
                                    local tablocarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")                                 
                                    a = tablocarkaci.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Co)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                            elseif pc.getqf("blackforceqetqf") == 3500 then
                                    syschat("Félicitations, vous avez reçu votre grade.")
                                    syschat("Votre pseudo va changer dans 1 heure maximum.")
                                    syschat("Grade gagné : (Or) Général.")
                                    syschat("Récompense : +5% de résistance au gong.")
                                    affect . add_collect ( apply . RESIST_BELL , 5 , 60 * 60 * 24 * 365 * 60 ) 
                                    notice_all("" .. pc . get_name ( ) .. " a été promu (Or)!")
                                    local sontablo = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")             
                                    a = sontablo.adi[1] 
                                    mysql_query ( "UPDATE player.player SET name='(Or)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
                                end
                            end
                        end
                    end
                end

     

    La seconde quête :

     

    quest killadd begin
        state start begin
            when kill with npc.is_pc() begin
                mysql_query("UPDATE player.player SET kills = kills+1 WHERE account_id ='"..pc.get_account_id()"';")
            end
        end
    end

     

     

    Mon mysql_query dans le questlib.lua :

     

    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
    

     

     

    Mon mysql_query dans quest_fonctions :

     

    mysql_query

     

     

    Voilà je vous ai donné tous les détails.

     

    Ma colone kills est ajoutée, et la table gokhancarkaci est ajoutée et est fonctionnelle.

     

    Version des files : 2012

    Domaine (Base de données, Core, etc.) : BDD / Quest

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

     

    Description du problème : Soucis de mysql_query ou de fonction car insert_into et select fonctionnent parfaitement comparé au UPDATE

    Comment reproduire le problème : Rien ne s'update sur la bdd

    Recherches et tests effectué : Forum

    Résultat des recherches et tests : Aucun

     

    Message d'erreur, capture d'écran : Aucun.

     

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

  11. Un autre site ? Genre un autre template ou un site d'un autre serveur car sur les autres sites web j'ai aucun soucis juste sur le mien. J'ai beau installer tous les templates de website ça fonctionnera pas, même les sites allemand ou étrangers c'est pareil en gros à chaques fois que le site emmet une requête sql au serveur exemple connexion à un compte il va ce mettre en maintenance puis ce remettre normal comme si il arrivais pas à ce connecter à la bdd, pourtant après on est bien connecter, les gens arrivent à s'inscrire mais c'est assez compliquer pour eux quand on doit refresh 5 fois la page d'accueil avec 2-3 minutes de chargement de la page à chaques fois on est vite décourager pour voté ou pour s'inscrire...

  12. En gros je suis certain que cela vient du serveur dédier, car tous les joueurs ont le problème en gros tu peux avoir de la chance et tombé sur la page sinon le site est soit disant en maintenance et ça peut durée longtemps sans aucune raison il redeviens comme avant tu va naviguer 2-3 minutes et c'est repartis site en maintenance, donc je pense que la bande passante du serveur doit être trop saturée ou peut-être la RAM, bref je sais pas ^^

     

    Cordialement.

     

    Ah oui aussi profitons-en j'ai un soucis au niveau de Mysql_query en gros euh la fonction insert_into et select fonctionnent niquel mais la fonction UPDATE ne fonctionne pas... J'ai testé 2 quêtes différentes qui utilise cette fonction et aucune des deux ne fonctionnent.

    J'aimerais savoir pourquoi il y à un truc à rajouter dans le module mysql_query ou une fonction dans le quest_fonction je sais pas...

     

    Voici tous les détails :

     

    La première quête :

     

    quest gokhancarkacirutbev1 begin
    	state start begin
    		 when letter begin
    	send_letter ("Grade de guerre")
    		end
    		when button or info begin
    								say_title("Informations sur le système")
    								say("")
    								say("Bonjour "..pc.getname()..", les experts disent que vous voulez [ENTER]être un soldat?")
    
    								local b=select("Oui", "Non")
    									if 1==b then
    								say_title("Informations sur le système")
    								say("")
    								say("Avec plaisir alors...[ENTER]Vous voulez que je vous donne quelques informations?")
    								say("D'accord... Eh bien, écoutez-moi.")
    								say("Pour distinguer chaque joueurs on a mit en place un")
    								say("système de grades en fonction de vos kills.")
    								say("Le premier grade est à 50kills.")
    									wait()  
    								say_title("Informations sur le système")
    								say("")
    								say("Un total de 9 grades à gagner pour prouver votre niveau.")
    								say("Les grades seront devant votre pseudo une fois gagné.")
    								say("Voici les grades qui peuvent être obtenu:")
    								say("(Tr) Stagiaire à 50 Kills[ENTER](Sg) Sergent à 150 Kills[ENTER](Mt) Master à 250 Kills[ENTER](Cs) Commandant Sergent à 400 Kills[ENTER](Sl) Second Lieutenant à 600 Kills[ENTER](Fl) First Lieutenant à 800 Kills[ENTER]")
    									wait ( )
    								say_title("Informations sur le système")
    								say("")
    								say("(Ct) Capitaine à 1200 Kills[ENTER](Co) Colonel à 2000 Kills[ENTER](Or) Général à 3500 Kills")
    								say("Plus de détails sur les grades:")
    								say("Chaque grade obtenu sera actif 1 heure maximum après")
    								say("l'avoir reçu et il sera ajouté automatiquement.")
    								say("Chaque grade vous accompagne de différents bonus.")
    								say("Bonne chance.")
    									elseif 2==b then
    								say("Hmm, vous n'êtes pas assez courageux !")
    							end
    						  end
    						  
    						  
    			when kill with npc.is_pc() begin
    					pc.setqf("blackforceqetqf", pc.getqf("blackforceqetqf")+1)
    					local vid = npc.get_vid()
    					local old_pc = pc.select(vid)
    					if old_pc != 0 then
    					local leveli = pc.get_level()
    					local isimi = pc.get_name()
    					pc.select(old_pc)
    					syschat("Félicitations ! Vous gagnez des points pour votre grade.")
    
    
    					if pc.getqf("blackforceqetqf") == 1 then
    						syschat("Félicitations, vous allez combattre pour un grade.")
    							syschat("Bonne chance sur Reptilium-Mt2")
    							syschat("Premier grade à 50 kills.")
    							syschat("Système : Données sauvegardées.")
    							syschat("")
    							notice_all("Le joueur " .. pc . get_name ( ) .. " lvl "..pc.get_level()..", a tué "..isimi.." "..leveli.." GG !")
    							mysql_query("insert into player.gokhancarkaci values ('"..pc.get_account_id().."','"..pc.get_name().."','V1 versiyonu kullanmaktasiniz') ")
    					elseif pc.getqf("blackforceqetqf") == 50 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Tr) Stagiaire.")
    							syschat("Récompense : +25 de vitesse de déplacement.")
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Tr)!")
    							affect . add_collect ( apply . MOV_SPEED , 25 , 60 * 60 * 24 * 365 * 60 ) 
    							local gcarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")  
    							local a = gcarkaci.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Tr)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    					elseif pc.getqf("blackforceqetqf") == 150 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Sg) Sergent.")
    							syschat("Récompense : +500 de défense.")
    							affect . add_collect ( apply . DEF_GRADE_BONUS , 500 , 60 * 60 * 24 * 365 * 60 ) 
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Sg)!")
    							local gocarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ") 
    							local a = gocarkaci.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Sg)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    					elseif pc.getqf("blackforceqetqf") == 250 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Mt) Master.")
    							syschat("Récompense : +1000 de défense.")
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Mt)!")
    							affect . add_collect ( apply . DEF_GRADE_BONUS , 1000 , 60 * 60 * 24 * 365 * 60 ) 
    							local gokcarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ") 								
    							a = gokcarkaci.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Mt)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    					elseif pc.getqf("blackforceqetqf") == 400 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Cs) Commandant Sergent.")
    							syschat("Récompense : +1000 d'attaque.")
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Cs)!")
    							affect . add_collect ( apply . ATT_GRADE_BONUS , 1000 , 60 * 60 * 24 * 365 * 60 ) 
    							local gokhcarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ")							
    							a = gokhcarkaci.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Cs)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    					elseif pc.getqf("blackforceqetqf") == 600 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Sl) Second Lieutenant.")
    							syschat("Récompense : +2000 d'attaque.")
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Sl)!")
    							affect . add_collect ( apply . ATT_GRADE_BONUS , 2000 , 60 * 60 * 24 * 365 * 60 ) 
    							local gokhacarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ") 							
    							a = gokhacarkaci.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Sl)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    					elseif pc.getqf("blackforceqetqf") == 800 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Fl) First Lieutenant.")
    							syschat("Récompense : +5% de défense à l'épée.")
    							affect . add_collect ( apply . RESIST_SWORD , 5 , 60 * 60 * 24 * 365 * 60 ) 
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Fl)!")
    							local gokhancarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ") 							
    							a = gokhancarkaci.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Fl)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    					elseif pc.getqf("blackforceqetqf") == 1200 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Ct) Capitaine.")
    							syschat("Récompense : +5% de défense vs les deux mains.")
    							affect . add_collect ( apply . RESIST_TWOHAND , 5 , 60 * 60 * 24 * 365 * 60 ) 
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Ct)!")
    							local gokhancarrkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ") 							
    							a = gokhancarrkaci.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Ct)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    					elseif pc.getqf("blackforceqetqf") == 2000 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Co) Colonel.")
    							syschat("Récompense : +5% de défense à la dague.")
    							affect . add_collect ( apply . RESIST_DAGGER , 5 , 60 * 60 * 24 * 365 * 60 ) 
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Co)!")
    							local tablocarkaci = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ") 								
    							a = tablocarkaci.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Co)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    					elseif pc.getqf("blackforceqetqf") == 3500 then
    							syschat("Félicitations, vous avez reçu votre grade.")
    							syschat("Votre pseudo va changer dans 1 heure maximum.")
    							syschat("Grade gagné : (Or) Général.")
    							syschat("Récompense : +5% de résistance au gong.")
    							affect . add_collect ( apply . RESIST_BELL , 5 , 60 * 60 * 24 * 365 * 60 ) 
    							notice_all("" .. pc . get_name ( ) .. " a été promu (Or)!")
    							local sontablo = mysql_query("SELECT adi FROM player.gokhancarkaci WHERE id = '"..pc.get_account_id().."' ") 			
    							a = sontablo.adi[1] 
    							mysql_query ( "UPDATE player.player SET name='(Or)"..a.."' WHERE name='" .. pc . get_name ( ) .. "';" ) 
    						end
    					end
    				end
    			end
    		end

     

    La seconde quête :

     

    quest killadd begin
       state start begin
           when kill with npc.is_pc() begin
               mysql_query("UPDATE player.player SET kills = kills+1 WHERE account_id ='"..pc.get_account_id()"';")
           end
       end
    end

     

     

    Mon mysql_query dans le questlib.lua :

     

    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
    

     

     

    Mon mysql_query dans quest_fonctions :

     

    mysql_query

     

     

    Voilà je vous ai donné tous les détails.

     

    Ma colone kills est ajoutée, et la table gokhancarkaci est ajoutée et est fonctionnelle.

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.