![](https://fr.metin2.dev/uploads/set_resources_42/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://fr.metin2.dev/uploads/set_resources_42/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
Hystos
-
Compteur de contenus
256 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Boutique
Calendrier
Messages posté(e)s par Hystos
-
-
Bah si.
Il te suffit d'écrire une sorte de "débannissement" automatique lorsque le temps de bannissement est passé
-
Bonsoir,
Pour faire cela, il faut ajouter un script qui va s'occuper du gérer les bannissements.
C'est possible relativement simplement avec PHP.
En effet, il serait possible d'écrire un tutoriel pour l'effectuer.
-
Je vois pas comment ceci peut marcher :
if pc.getqf("pc_is_here") == 0 then
En effet, on travaille sur une variable exclusive au personnage.
Il faut ici utiliser un event_flag.
-
Si tu veux corriger la brillance (la blancheur), réduit le specular dans l'item proto client. Tu pourras de ce fait pouvoir avoir une brillance correcte avec une texture buggée
-
Il me semble que c'est du à la couche alpha mais je n'en suis pas certain.
-
1
-
-
Ce CMS est moisi, ne l'utilisez pas ! Il est codé d'une façon PUREMENT dégueulasse et il laisse sans aucun doute d'énormes failles.Pour ton problème, essaie quelque chose dans ce genre :
if(isset($_POST['idd'])) { //Déclaration des variables $ident=$idp=$ids=$idd=$codes=$code1=$code2=$code3=$code4=$code5=$datas=''; //On récupère les identifiants sous la forme "xxx;xxx;xxx" if(isset($_POST['idp'])) $idp = $_POST['idp']; if(isset($_POST['ids'])) $ids = $_POST['ids']; //$ids n'est plus utilisé, mais il faut conserver la variable pour une question de compatibilité if(isset($_POST['idd'])) $idd = $_POST['idd']; $ident=$idp.";".$ids.";".$idd; //On récupère le(s) code(s) sous la forme "xxxxxxxx;xxxxxxxx" if(isset($_POST['code1'])) $code1 = $_POST['code1']; if(isset($_POST['code2'])) $code2 = ";".$_POST['code2']; if(isset($_POST['code3'])) $code3 = ";".$_POST['code3']; if(isset($_POST['code4'])) $code4 = ";".$_POST['code4']; if(isset($_POST['code5'])) $code5 = ";".$_POST['code5']; $codes=$code1.$code2.$code3.$code4.$code5; //On récupère le champ DATAS" if(isset($_POST['DATAS'])) $datas = $_POST['DATAS']; //On encode les trois chaines en URL $ident=urlencode($ident); $codes=urlencode($codes); $datas=urlencode($datas); /* Envoie de la requête vers le serveur StarPass Dans la variable tab[0] on récupère la réponse du serveur Dans la variable tab[1] on récupère l'URL d'accès ou d'erreur suivant la réponse du serveur */ $get_f=@file("http://script.starpass.fr/check_php.php?ident=$ident&codes=$codes&DATAS=$datas"); //Si on contact le serveur if($get_f) { $tab = explode("|",$get_f[0]); // dans $pays on a le pays de l'offre. exemple "fr" $pays = $tab[2]; // dans $palier on a le palier de l'offre. exemple "Plus A" $palier = urldecode($tab[3]); // dans $id_palier on a l'identifiant de l'offre $id_palier = urldecode($tab[4]); // dans $type on a le type de l'offre. exemple "sms", "audiotel, "cb", etc. $type = urldecode($tab[5]); // vous pouvez à tout moment consulter la liste des paliers à l'adresse : http://script.starpass.fr/palier.php //Si $tab[0] répond "OUI" if(substr($tab[0],0,3) == "OUI") { $search=mysql_query("SELECT $db_account.account.cash FROM $db_account.account WHERE $db_account.account.login='$sess'"); $fi=mysql_fetch_array($search); $argent=$fi["cash"]+300; mysql_query("UPDATE $db_account.account set $db_account.account.cash='$argent' WHERE $db_account.account.login='$sess'"); header('location:http://eternal-online.net/teste/index.php?p=12'); } else { header('location:http://eternal-online.net/teste/index.php?p=10'); } } else { header('location:http://eternal-online.net/teste/index.php?p=10'); } } /** *Si on ne recoit pas de payement **/ else { ?> Veuillez activer le Javascript de votre navigateur s'il vous plaît. Micro Paiement StarPass Pour tout code acheté: 300 Gold N'oubliez pas de garder le numero starpass, il vous sera redemande en cas de problemes. <?php }?>
-
Je ne suis pas 100% sure mais si je me souviens bien c'est le champs regen_cycle dans la table mob_proto.
-
Il vous faut pour cela toucher à la table item qui contient tous les objets actuellement en circulation dans le jeu.
Les bonus sont les champs de type "attrtypeX" et attrvalueX". Les premiers font référence à l'ID du bonus et les secondes à sa valeur.
Les bonus sont écris dans deux tables séparées : item_attr (1 à 5) et item_attr_rare (6 à 7).
Si vous avez modifié les valeurs maximales d'un bonus, il vous faut les harmoniser dans votre table item.
Plusieurs solutions s'offrent à vous.
Premièrement, vous pouvez opter pour la solution "hard" qui consciste à supprimer le bonus en question de toutes les armes.
Secondement, vous pouvez faire en sorte que les valeurs au dessus de la nouvelle valeur maximale passent à cette dernière valeur.
Troisièmement, vous pouvez prendre en compte les anciennes valeurs, et changer à chaque fois pour la nouvelle.
Dans les 3 cas, c'est faisable relativement facilement en SQL (je vous conseille d'utiliser un langage annexe pour traiter les données plus facilement, comme PHP).
Si vous ne savez pas comment faire, dites moi quelle solution vous voulez choisir et je vous écrirai le code.
-
-
C'est pourtant bien de là que ça vient (oui, je sais que c'est pas logique).
Personnellement la solution citée au dessus a résolu le problème sur ProleptylMT2 (ça fait déjà un petit moment).
-
Remplace
function get_horse_summon_prob_pct() local prob = {10,15,20,30,40,50,60,70,80,90,100} local skill_level = pc.get_skill_level(131) + 1 return prob[skill_level] end
par
function get_horse_summon_prob_pct() local skill_level=pc.get_skill_level(131) if skill_level==1 then return 15 elseif skill_level==2 then return 20 elseif skill_level==3 then return 30 elseif skill_level==4 then return 40 elseif skill_level==5 then return 50 elseif skill_level==6 then return 60 elseif skill_level==7 then return 70 elseif skill_level==8 then return 80 elseif skill_level==9 then return 90 elseif skill_level>=10 then return 100 end return 10 end
-
Allez voir le fichier horse_summon.quest.
-
Tout d'abord, merci pour ce tutoriel fort intéressant !
Cependant, une petite chose me turlupine :
$chaine = mysql_real_escape_string(htmlspecialchars($_POST['chaine]));Ceci me semble totalement inutile. La fonction htmlspecialchars() n'est utile que pour l'affichage (protection contre les failles XSS) et n'a rien a faire ici ! En effet, la fonction mysql_real_escape_string() est là pour parer les éventualités d'injections SQL. Utiliser ces deux fonctions me semble inapproprié.
Après c'est possible je sois dans l'erreur évidemment...
-
Il est également de faire un système instancié en codage brut mais il sera beaucoup plus compliqué. Je m'explique :
On peut créer une instance sur toute map avec une bonne maîtrise des quest. On écrit par exemple une zone d'attente (une map intermédiaire) en attendant que les actuels possesseurs de la map instanciées aient fini.
Cependant, il est bien plus pratique et agréable d'utiliser des maps en dungeons. En effet, celles-ci "se dupliquent" sur plusieurs canaux automatiquement. C'est à dire que 2 personnages peuvent être au même endroit sans se voir ni se rencontrer car ils seront sur deux canaux différents : c'est le cas de la tour ou des catacombes du diable.
Astuce : il me semble que les donjons du singe sont considérés comme des instances. Ils ne sont que très peu utilisés sur la majorité des serveurs. Il est donc possible de les exploiter pour faire des instances (en changeant la map évidemment)...
Prindo99 m'a fait remarqué que cette affirmation n'était pas vrai. A vérifier
-
Aucune limite. Ce n'est que du design.
Un exemple de template téléchargeable sur le site officiel :
Son principal avantage c'est qu'il n'y a pas besoin de toucher à PHP pour refondre le design. Il suffit d'avoir des bases en HTML/CSS.
Le site http://proleptylmt2.com a pour base MT2-CMS (il n'est pas des plus esthétiques, je l'admets :angel: )
-
MT2-CMS me semble actuellement un des plus fiables.
Cependant, tu trouveras difficilement des designs pour celui-ci, il faudra les faire par toi même.
-
Créé un nouveau répertoire dans ton site : sitenew
Envoie tous les fichiers que tu as dans ce dossier. Ensuite, tu vas dans ton navigateur et tu vas dessus. Il va te falloir rentrer tes logs quelque part, soit dans la page index.php soit dans une page de configuration annexe.
Attention ! Certains CMS ne sont pas sécurisés comme MT2-CMS et présentent de nombreuses failles pouvant être exploitées par des utilisateurs malveillants !
-
Ce n'est pas un thème mais un CMS entier que tu as téléchargé.
Tu ne peux pas l'utiliser avec MT2-CMS de Jigsaw.
-
As-tu bien téléchargé les fichiers du design ?
Si oui, montre nous ce qu'il y a dedans (un screenshot).
-
Le dossier templates se site à la racine du site (là où est index.php).
-
Bonjour,
Dans la page index.php de votre site, vérifiez les attributions de droits (1, 2, 3, 4).
Par défaut, mettez 1 (accessible aux membres connectés). 2 équivaut à des utilisateurs preniums, 3 modérateurs et 4 administrateurs.
Si c'est bon, allez dans votre table account et vérifiez que le champs rang est au moins à 1 pour tous les comptes.
-
Ok, je vais écrire un tuto entier dans ce cas là
Je te passe le lien en MP.
-
Peut être une confusion au niveau des requêtes. Remplace tout par ça :
Si ça ne marche toujours pas, je vais écrire un tuto complet là dessus.
Le fait de voter pour Empires-MT2 nous permet d'augmenter la population du serveur tout en vous récompensant et en vous encourageant à le faire régulièrement! Comment recevoir les DR ? C'est très simple, il suffit de cliquer sur les logo ci dessous, saisir un code de vérification et le tour est joué ! Votez les 6 Pour gagnez un max de DR par vote 10DR! (Toutes les 2Heures)Vote DR 1 Vote 10 DR 2 Vote 20 DR 3 Vote 30 DR 4 Vote 40 DR 5 Vote 50 DR 6 Vote 60 DR les vote sont exceptionnellement fermés <?php $ip = $_SERVER['REMOTE_ADDR']; if(isset($_GET['vote']) and ! empty($_GET['vote'])){ $i = 0; $sql = mysql_query("SELECT (UNIX_TIMESTAMP(last_vote) - UNIX_TIMESTAMP()) AS last_vote FROM account.account WHERE ip = '$ip'"); while($donnees = mysql_fetch_array($sql)) { $last_vote = str_replace('-', '', $donnees['last_vote']); if($last_vote >= 5400) { $i = 0; } else { $i = 1; } } if($i == 1) { ?> Vous avez voté il y a moins d'une heure trentes minutes, sur un autre compte ... <?php } else { $sql1 = mysql_query("SELECT (UNIX_TIMESTAMP(last_vote) - UNIX_TIMESTAMP()) AS last_vote, cash, vote FROM account.account WHERE login = '$pseudo_membre'"); $donnees1 = mysql_fetch_array($sql1); $last_vote = str_replace('-', '', $donnees1['last_vote']); $cash = $donnees1['cash'] + 10; /* Nombre de point ajouté au compte */ $vote = $donnees1['vote'] + 1; if($last_vote >= 5400) { $sql2="UPDATE account.account SET last_vote = '$date', cash = '$cash', vote = '$vote', ip = '$ip' WHERE login = '$pseudo_membre'"; mysql_query($sql2) or die (mysql_error()); ?> Votre vote a été comptabilisé avec succès ! <?php } else { ?> Vous avez voté il y a moins d'une heure trente minutes ! <?php } } }else { ?>N°1 N°2 N°3N°4N°5N°6<?php } ?>
-
Ok. En faite tu as simplement pris le code sans réfléchir du tout. Je comprends mieux...
Il faut donc que tu créées 3 nouveaux champs dans ta table account :
last_vote (DATETIME)
vote (INT)
ip (VARCHAR 15)
Ceci fait, reviens dans le code.
A cette ligne :
$sql="UPDATE account.account SET last_vote = '$date', cash = '$cash', vote = '$vote', ip = '$ip' WHERE login = '$pseudo_membre'";
Remplace '$date' par NOW() comme ceci :
$sql="UPDATE account.account SET last_vote = NOW(), cash = '$cash', vote = '$vote', ip = '$ip' WHERE login = '$pseudo_membre'";
Je pense que ça devrait mieux marcher désormais.
Nom du lien CMS
dans Questions & Réponses
Posté(e)
Comme l'ont dis mes prédécesseurs, tu vas sur la page "Réglage du site" accessible dans le menu d'administration. De là, tu remplies dans le champs "Nom du site" le nom de ton serveur et tu cliques sur envoyer.
Si ça ne marche vraiment pas, tu peux le faire manuellement. Va dans le répertoire templates/default/fr/includes/ et éditer le fichier header.tpl.
Repère ceci :
Remplace le par
et le tour est joué ! Si tu choisies cette deuxième méthode, tu ne pourras plus le modifier via la page de règlage![:)](//funky-emu.net/applications/core/interface/js/spacer.png)