[systeme] Banque v0.1

Répondre
Partager Rechercher
Arrow
Petits bugs au passage :

Lorsque le joueur se déconnecte du serveur alors que sa position ait été sauvegardée par le système PUMA ben le banquier il ne veut plus laisser entrer personne l'idiot



Tu as certainement oublié de mettre,

SetLocked(OBJECT_SELF,TRUE);

... dans le OnClose du coffre fort, sans quoi la clé devient inutile après la première ouverture.



Voilà, petite merveille cette banque malgré l'étrange impression que les joueurs finiront un jour ou l'autre à la buguer de trop pour ne plus pouvoir s'en servir convenablement ou comme souhaité
Citation :
Provient du message de Oli / Cronos
Voilà, petite merveille cette banque malgré l'étrange impression que les joueurs finiront un jour ou l'autre à la buguer de trop pour ne plus pouvoir s'en servir convenablement ou comme souhaité [/i]
Que veux tu dire exactement????
Je sais pas si tu as lu le début de mon message au dessus mais bon je me répète c'est superbe ce que tu as fait mais il existe un bug plutôt ennuyant avec la position du joueur enregistrée sur l'area et donc le banquier attend que le joueur ressorte (se reconnecte et sorte ). Un joueur, avec - de 9 en int aussi bien irl que dans le jeu, pourrait très bien tester le serveur, rentrer dans la banque, attendre que sa position soit enregistrée à l'intérieur de celle-ci pi pouf déco et plus revenir ...

Aussi... je sais suis chiant mais si un joueur a l'idée de mettre la clef de son coffre et de la banque dans son coffre et ensuite le refermer... il sort comment ?

Bon j'ai posé les problèmes sans les résoudre, c'est dégelasse de ma part de critiquer (même si ce ne l'est pas vraiment), je sais. Enfin je me trompe peut être sur tout aussi et alors je m'excuse
Heuu tout à fait d'accord, mais de base si je te dis que j'ai fais un script là dessus, tu risques de ne pas me croire.

Le soucie, c'est que Jaha l'avait déjà remarqué mais le meilleur moyen de tester , c'était d'en faire deux zones différentes.

Moi perso, avec tous les test que j'avais fais, je n'ai pas ce problème mais bon c'est le plaisir de voir les différences de fonctionnement sur plusieurs modules lol


Code PHP:

Aussi... je sais suis chiant mais si un joueur a l'idée de mettre la clef de son coffre et de la banque dans son coffre et ensuite le refermer... il sort comment ? 

Ba désolé de le dire, mais il s'en rendrait vite compte qu'il ne pourrait pas ressortir sans sa clé. Donc à ce moment là il serait très C.. (pour celle de la salle).
Pour celle du coffre soit je l'admets, j'ai oublié de faire le test, et faudra que je pense à corriger ça
*regarde son planning *

Donc pour résoudre celui là, il est simple, on peut rajouter un petit script dans le OnUnacquireitem... et de lui recréer la clé dans son sac, s'il essaye de s'en debarrasser. et de détruire l'ancienne

Pour redonner un exemple RP. Tu fermes ta voiture, en laissant tes clés, tu fais quoi????

S'il mets les deux, s'est qu'il en était conscient, donc ce n'est pas un bug technique.

Pour le premier problème j'ai créé une fonction dans la bibliothèque , je ne sais pas si tu as regarder???

Code PHP:

void bank_sort(object oPC,object obankier);

void bank_sort(object oPC,object obankier)
{
object oItem=GetItemPossessedBy(oPC,"CledeLaBanque");
if (
oPC==GetLocalObject(obankier,"WHOIS_BANK_OCCUPE"))
{
DeleteLocalInt(obankier,"SALLE_BANK_OCCUPE");
DeleteLocalObject(obankier,"WHOIS_BANK_OCCUPE");
if (
GetIsObjectValid(oItem))
DestroyObject(oItem);
}



Donc moi , je sais que je le mets dans le onexit de l'area, (à essayer pour le mettre dans le onleave aussi.)

Mais moi en tout cas, ça marche.

Donc je ne prends pas ca comme une critique, bien que je trouve, que de plus en plus, les personnes disent qu'il y a un bug, que c'est horrible, qu'il ne comprennent pas pourquoi cela ne marche pas comme ils le veulent ou pire ils disent que le script est pourri ou ne marche pas alors que se sont eux qui ont oublié de mettre ou d'activer des fonctions ou des scripts... mais ils ne détaillent pas du tout, on devrait lire dans leurs pensées... Donc peut être que tu n'as pas mis cette fonction dans le onexit ou je ne sais quoi, mais tu as un listing de toutes les fonctions, d'ou le fait de le mettre toujours au même endroit, vous pouvez regarder voir celle qui vous intéresse .

Et de plus, si vous ne comprenez pas très bien ou quoi que ce soit, ba vous pouvez toujours poster sur le forum, ou m'envoyer un email, MP, prendre mon ICQ ou me demander mon MSN, et je vous aiderai, plus d'un l'ont déjà fait et ils ont l'air d'être content ainsi lol. Mais détaillez exactement vos problèmes!!!!


@ bientôt,

RAT
Citation :
Provient du message de RAT
Donc je ne prends pas ca comme une critique, bien que je trouve, que de plus en plus, les personnes disent qu'il y a un bug, que c'est horrible, qu'il ne comprennent pas pourquoi cela ne marche pas comme ils le veulent ou pire ils disent que le script est pourri ou ne marche pas alors que se sont eux qui ont oublié de mettre ou d'activer des fonctions ou des scripts... mais ils ne détaillent pas du tout, on devrait lire dans leurs pensées...
Ca me rappel un sujet récent ça

Jaha Effect
Citation :
Bon je l'ai testé il fonctionne très très bien. Mais cela ne veut pas dire qu'il n'y a pas de bug. Si vous en trouvez , faites m'en part.
Ben j'ai fait ce qu'on nous a demandé

Nan allez sérieusement je pensais avoir mi justement le script sur le OnExit de la zone car je doute aussi qu'il y était sur le module de démonstration. Enfin je tiens pas à me justifier car de toute façon j'ai raté l'occasion de me taire en pensant que ça foirait

Sinon pour les clefs dans le coffre c'était juste pour plaisanter :bouffon:

Bon je réessaye tout ce soir en faisant gaffe cette fois de rien oublier ... Il reste cependant un petit hic mais je me tais sinan on va dire que je fais que râler alors que c'est pas vrai

Un dernier truc que je comprend pas aussi, la première fois qu'on ouvre la porte de la banque ben quand on ressort le banquier nous attrape pour redonner la clef mais les suivantes fois il dit plus rien et c'est à nous à être gentil et la lui rendre ... Et comme je suis pas gentil, hein , ben je lui la rendais jamais. (et c'est là que j'avais justement pensé de mettre ce script sur le OnExit du module, la chance )
Bon je voudrais m'excuser car quand j'avais fais le script de la banque, je n'avais pas vu que bioware avait bloqué à 50000 l'item pièces d'or.

Donc c'est que cela restait au maximum 50000.

Donc ce n'est point un bug mais une limitation de bioware .


Bon je viens de corriger ma fonction que je viens de retester et qui marche. Cela vous créera plein de pièces d'or dans la banque, quand cela dépasse les 50000.
Comme test, je suis partie du ALT Gr + 7 -> dm_givegold et enter, cela donne l'or max sur un GM lol.

Code PHP:

void bank_Create_inv(object oPC,object oCoffre)
{

            
int icompt=GetFlagInt(oPC,"BANQUE_COMPTEUR_INV");
                 
int i=0;
                 
string sauto;

                 
string snom,sit,sitem,sTemp;
                 
int itest=0;
                 
int nTemp=0;

                 
int n=0;

      
// on va recreer l'or que possede le PC dans sa banque.
      
if (GetFlagOr(oPC,"BANQUE_OR_PC")<=50000)
      
CreateItemOnObject("nw_it_gold001",oCoffre,GetFlagOr(oPC,"BANQUE_OR_PC"));
      else
      {   
int ig=GetFlagOr(oPC,"BANQUE_OR_PC");
          for(;
ig>=0;ig=ig-50000)
         
CreateItemOnObject("nw_it_gold001",oCoffre,ig);

      }
      
// grace au compteur on va deconcatener toute la chaine pour recreer tout
         // l'inventaire du coffre quand le pc va ouvrir le coffre.
                 
for (;i<=icompt;i++)
                  {

           
sitem=GetFlagInv (oPC,"BANQUE_ITEMNOM_PC_" IntToString(i));

                   
itest=GetStringLength(sitem);
                    while ((
nTemp=FindSubString(sitem,"$"))>=0)
                      {
                      
sTemp GetStringLeft(sitemnTemp);
                      
int irech=FindSubString(sTemp,"°");
                     
int ilen=GetStringLength(sTemp);
                     
int iStack=StringToInt(GetStringRight(sTemp,ilen-irech-1));
                     
sTemp=GetStringLeft(sTempirech);
                    
CreateItemOnObject(sTemp,oCoffre,iStack);

                     
sitem GetStringRight(sitemitest nTemp);
                     
itest=GetStringLength(sitem);
                     }

                }



Donc voilà, vous remplacez la fonction portant le même nom par ça. Vous recompilez aussi le fichier bank_create et ca marchera très bien.

bonne soirée!!
tu as un script qui se nomme fonct_bank si je ne me trompe pas.

Dedans tu as un moment une fonction portant le même nom. Tu as juste à remplacer l'ancienne par celle ci .

Et ces fonctions sont utilisés dans les propriétés du coffre de banque donc tu as juste à regarder ou je les utilise .
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés