Besoin d'orientation pour petit projet .php

Voila, je vais essayer d'expliquer au mieux ce que je veux faire car c'est pas évident.

Je joue à ce jeu http://fr.europe1400.com/ qui est un jeu par navigateur classique, programmé en php ( je suppose, corrigez-moi si je me trompe).

Dans ce jeu, je dois acheter des ressources ( genre le bois etc...) parfoit en quantité, mais par lot de 10 et ça c'est chiant.

Voila comment ça se présente :



Donc vous introduisez les quantité de ce que vous voulez acheter, puis cliquez sur le bouton achat. La, les marchandises sont achetées et un autre popup s'affiche pour vous confirmer l'achat.

l'url de cette fenêtre est de cette sorte :

http://s1.fr.europe1400.com/index.php?userId=16685&view=FactoryView&districtId=500&buildingId=41986&cityId=33&dialog=BuyDialog&activeGoodsCategory=1
Donc je crois qu'il n'y a rien de spécial dans l'url, elle est juste propre à chaque joueur et chaque atelier...


Voila mon idée :

Je pense que lorsqu'on clique sur acheter, il envoie juste une commande qui contient des paramètres comme l'id de la marchandise et la quantité associée. Seulement je ne trouve pas comment récupérer cette "commande".

Je connais juste le C et le C++ , est-il possible de faire en php, une page ou tu entres des paramètres, genre " id 325, quantité 64" etc... et mettre des boucles genre si tu veux acheter par 10, mettre une boucle for, un compteur, un temps d'attente... ?


Je demande d'abord si c'est possible, après je n'y connais rien en php, je doute que ce n'est pas fort différent du C mais aucune idée de ce qu'on peut faire avec.


J'espère avoir été clair même si j'avoue avoir eu du mal à exprimer mes idées tordues :)

Merci d'avance de vos réponses ;)
 

Nurs

D.D.O.J.S.I.O.C.
CGU : conditions générales d'utilisation

Il est par ailleurs interdit à l’utilisateur d’appeler le jeu en ligne (y compris chacune des pages du site Internet) en utilisant des programmes autres que le navigateur Internet ou bien le programme client mis à disposition. Cette disposition se réfère notamment aux « Bots » et aux autres « Tools », devant remplacer ou compléter l’interface Web. De même sont interdits les scripts et les programmes automatisés entièrement ou en partie, susceptibles de conférer un avantage à l’utilisateur au détriment des autres joueurs. Sont également interdits les fonctions « Auto-Refresh » et les autres mécanismes intégrés du navigateur Internet, s’il s’agit de procédés automatisés.

Il est bien indiqué et cela à plusieurs reprises dans les cgu que cela reste interdit. (si j'ai bien comprit ce que tu cherches à faire.).


ENJOY :)
 

Fist

‼️‼️‼️‼️‼️
De toute façon le gars il a surement cadenasser toutes les requetes externe a son code..
avec une fonction basique
 

Skarbone

Le méchant Ω
De même sont interdits les scripts et les programmes automatisés entièrement ou en partie, susceptibles de conférer un avantage à l’utilisateur au détriment des autres joueurs.

ENJOY :)

J'ai pas regardé le reste, mais dans ton quote, il est également écrit qu'ils sont interdis SI l'avantage créé est un désavantage pour les autres joueurs.

Hors, je doute que l'achat de ressources multiples chez un marchand soit fait au détriment d'autres joueurs :D


Sinon, pour répondre a ta question, je connais pas du tout PHP, par contre il existe des programmes permettant de faire des macros... En gros, tu enregistre la séquence de touches/clic etc que tu souhaite faire, tu met une boucle, et ca te le fais autant de fois que tu veux ;)

En gros, ca simule les actions de l'utilisateur quoi, pour tous les jeux/programme, ca sera simplement vu comme un humain effectuant N fois la même tâche.

J'ai déja utilisé supermacro, ca marchait au poil ;)
 
1er
OP
DeflaMental

DeflaMental

[-_-]
Oui bon, la CGU, pour un truc personnel, ça ne sera pas détecté^^

Comme pour l'auto-refresh, au lieu de spam F5, quelle est la différence :p

Pas mal ton idée de macro, mais c'est genre un truc, tu lances et ça le fait tout seul sur ton pc ? Il ouvre automatiquement la page, il remplis automatiquement les cases etc??? ou c'est un truc qui peut fonctionner en tâche de fond.
 

Skarbone

Le méchant Ω
non, pas en tâche de fond malheureusement. Comme je l'ai dit, ca fait EXACTEMENT comme si tu utilisais toi même le PC: tu verras le curseur se déplacer, les lettres/chiffres se tapper un a un (bon, rapidement, hein :D), exactement comme si tu le faisais toi même ;)

Donc tu ne peux pas utiliser ton PC a autre chose en même temps, vu que le curseur se déplacera partout :D

Le probleme des macros, c'est que genre un clic tu lui dis "fait un clic a la position 500,900 de ton écran", et il est tout a fait possible que tu n'aie pas le bon bouton au même endroit, par exemple. Donc il est possible, si ta macro est mal configurée, si le site change, si la taille d'une pub diffère etc, que rien ne se passe correctement :)
 

null

ose();
Sinon pour répondre à la question : oui c'est faisable. Il faudra surement jouer avec le HTTP_REFERE R et d'autres joyeusetés en fonction de comment le développeur a voulu protéger son jeu de ça.

La question que je me pose est pourquoi tu veux le faire en PHP ? Si tu connais le C/C++, ça te suffit ?
 

Tifox

ou pas
Il veut peut-être mettre ça sur un hébergement web, comme ça même plus besoin d'avoir son pc allumé.
 
1er
OP
DeflaMental

DeflaMental

[-_-]
oui l'idée serait de le lancer à partir d'un page web. Mais même en C, je ne sais pas comment envoyer un lien web et je n'ai aucune idée de ce que le bouton envoyer passe comme adresse et paramètres :s
 

PiaFlalCoOl

NiuAge
T'as firebug ? T'as juste a regarder les informations envoyées dans la form. Ensuite avec curl, ca devrait etre possible de faire une requete POST avec les bonnes infos. Y'a moyen qu'il ait mis en place un truc pour empecher ca, je regarderai de plus pret si jai le temps.

En fait, meme pas besoin de php ou curl, juste un ptit script javascript qui envoie en boucle des requetes ajax jpense. Le truc c'est qu'il peut checker le HTTP_********, mais ca peut se faker. Il peut aussi ajouter une valeur dans un hidden field qui est calculée a partir de la session courrante et d'un "secret" coté serveur et je suis pas sur qu'on puisse contourner ca.
 
1er
OP
DeflaMental

DeflaMental

[-_-]
ok bah je crois que je vais laisser tomber alors :p
 

PiaFlalCoOl

NiuAge
Bon, je t'avoue que c'est assez relou...
Quand tu click sur le bouton, ca appelle

transportObj.buy(activeBuildingId)

transportObj c'est ca:
transportObj = new TransportToFactory("transportRadioGroup", 10, 40, 1 );

La fonction buy:
this.buy=function(factoryId)
{var goodArr=new Array();for(var i=0;i<CONST_MAX_SLOTS;i++)
{var dsObj=eval("DestinationStorageSlot_"+i);if(null==dsObj||!dsObj.isAvailable())
{continue;}
if(0<dsObj.getAdditionalUnits())
{goodArr[dsObj.getGoodId()]=dsObj.getAdditionalUnits();}}
xajax_buyFromMarketToFactory(factoryId,this.transportOptionValue,goodArr);}


xajax_buyFromMarketToFactory = function() { return xajax.request( { xjxfun: 'buyFromMarketToFactory' }, { parameters: arguments } );

Apres si ca tente quelqu'un, vous pouvez matter dans xajax_core.js, voir comment ils construisent l'url cible, et les arguments passés, j'avoue que ca me soule ^^.
 
1er
OP
DeflaMental

DeflaMental

[-_-]
laisse tomber, c'est pas grave :)

Merci de ton aide quand même :) mais ça n'en vaut pas la peine, trop de complication pour pas grand chose .
 
Haut