• 06 Juillet 2025, 14:08:48


Auteur Sujet: Problème avec GivePlayerCash.  (Lu 1650 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Problème avec GivePlayerCash.
« le: 29 Avril 2012, 16:18:30 »
Bonjour à tous et à toutes !

J'ai un petit problème sur mon serveur quand un joueur veut acheter une arme, il peut s'endetter, je voudrais donc savoir comment on peut faire pour dire au joueur qui ne pas acheter d'armes quand il n'a pas l'argent. Je sais qu'il y a un < et > à mettre dans le code et vous pouvez m'aider à construire la phrase qui permet de lui dire qui n'a pas l'argent ? J'utilise un Dialogue et je voudrais aussi donc savoir comment faire pour dire que le joueur n'a pas l'argent requis

Voici mon code.

Merci à tous et à toutes pour votre aide ! :)

Cordialement.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Problème avec GivePlayerCash.
« Réponse #1 le: 29 Avril 2012, 18:32:59 »
Salut,
Ton code devrait avoir une structure dans ce genre-là :

<?php

if(!response)
{
     
// Si le joueur annule
}
else 
// Si le joueur achète une arme
{
     switch(
listitem)
     {
         case 
0:
         {
              
// On vérifie qu'il ait assez d'argent, et on donne l'arme.
         
}
         case 
1:
         {
              
// Pareil
         
}
         case 
2:
         {
              
// Pareil
         
}
        
// Et ainsi de suite
      
}
}

Moi je te propose de créer une fonction Transaction qui fera la vérification et donnera l'arme, ça réduira la taille du code :

<?php

public Transaction(playerid,money,arme,ammo)
{
     if(
GetPlayerMoney(playerid) >= money)
     {
          
GivePlayerWeapon(playerid,arme,ammo);
          
GivePlayerMoney(playerid,-money); // On n'oublie pas le signe -.
     
}
     else
     {
           
// On envoie un message lui disant qu'il est pauvre.
     
}
     return 
1;
}

Comme ça, dans ton case 0 par exemple, tu auras :
<?php
case 0Transaction(playerid,5000,34,15); // 5000$, ID 34, 15 balles.

Pas mal de gain de place donc ;)
Bonne chance, j'espère que j'ai pas fait d'erreurs, désolé si c'est le cas mais j'ai pas codé depuis un moment :P

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Problème avec GivePlayerCash.
« Réponse #2 le: 29 Avril 2012, 22:34:20 »
Il ne faut pas oublier l'instruction break dans la structure switch.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Problème avec GivePlayerCash.
« Réponse #3 le: 30 Avril 2012, 02:08:37 »
Pas en Pawn d'après ce que je me souviens  ;)

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : Problème avec GivePlayerCash.
« Réponse #4 le: 30 Avril 2012, 09:55:35 »
#include <a_samp>

main() {
switch (0) {
    case 0: {
        printf("Xartrick");
    }
    case 1: {
        printf("GTAOnline");
    }
    default: {
        printf("Gilux!");
    }
}
}


Effectivement, milles pardons.

Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Problème avec GivePlayerCash.
« Réponse #5 le: 30 Avril 2012, 13:02:52 »
Merci Gilux et Xartrick pour votre aide ! Mais j'ai ça: C:\Users\J*\Downloads\Jeux en général\Serveurs de jeux & utilitaires\Serveur samp 0.3d\gamemodes\Serveur.pwn(230) : warning 235: public function lacks forward declaration (symbol "Transaction")

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Problème avec GivePlayerCash.
« Réponse #6 le: 30 Avril 2012, 15:50:53 »
Il te faut un forward peut-être ?

Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Problème avec GivePlayerCash.
« Réponse #7 le: 30 Avril 2012, 16:09:54 »
J'enchaine alors sur plusieurs erreurs.

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Problème avec GivePlayerCash.
« Réponse #8 le: 30 Avril 2012, 16:19:17 »
C'est bien ça (oui, pour une fois avoir plein d'erreurs c'est plus réjouissant que d'en avoir une seule :P), après il te reste à corriger tout ça et ça fonctionnera :p

Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : Problème avec GivePlayerCash.
« Réponse #9 le: 30 Avril 2012, 17:51:41 »
J'ai rien à dire en fait, merci Gilux :-*
« Modifié: 30 Avril 2012, 17:55:19 par ShaDowxx™ »