GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Eloctro le 03 Février 2008, 18:35:09

Titre: [RÉSOLUE]Aide commande
Posté par: Eloctro le 03 Février 2008, 18:35:09
Voila dans un include jai sa :

Code: (cpp) [Sélectionner]
dcmd(NOM,3, cmdtext);
//ET LA LE RESTE
Donc enssuite dans le gamode faut relié la commande  et la je sui bloqué .
Titre: Re : Aide commande
Posté par: R@f le 03 Février 2008, 18:43:40
euh... pas trop compris ce que tu voulais...

++
R@f
Titre: Re : Aide commande
Posté par: Eloctro le 03 Février 2008, 18:54:43
Enféte dans les includ ya sa :
dcmd(NOM,3, cmdtext);
et le reste de la commande le bleme ses  que sa marche pas quand je fai /nom .
et je ses pas si sa un rapport avec le GM mais je ve juste le faire marché .
Titre: Re : Aide commande
Posté par: marsu le 03 Février 2008, 18:56:20
Creer ta command texte

regarde sur le filtercript XtremeAdmin2

j'ai vu la même chose
Titre: Re : Aide commande
Posté par: Eloctro le 03 Février 2008, 18:57:43
Ok répondé moi quand meme au ca ou .

Edit : sa m'aide pas .
Titre: Re : Aide commande
Posté par: marsu le 03 Février 2008, 19:06:06
Tu la au moin ?
Titre: Re : Aide commande
Posté par: Eloctro le 03 Février 2008, 19:10:36
Oui
Titre: Re : Aide commande
Posté par: marsu le 03 Février 2008, 19:13:18
Ok ba jorai essayer
Titre: Re : Aide commande
Posté par: Eloctro le 03 Février 2008, 19:23:07
Mercie comeme .  ;)
Bon sinon ya qu'elqu'un d'autre qui peut m'aider .
Titre: Re : Aide commande
Posté par: marsu le 03 Février 2008, 19:24:25
De rien  :)

BOn  :jesors
Titre: Re : Aide commande
Posté par: Eloctro le 03 Février 2008, 19:30:22
ok jui toujour bloqué .
Titre: Re : Aide commande
Posté par: Eloctro le 04 Février 2008, 19:57:09
Désolé pour le double post
Je veut bien donné mon gamemode mes par Mp privée ca ses rpg-force sinon eissayé comeme de me répondre .
Voila dans mon includ jai sa :
Code: (cpp) [Sélectionner]
dcmd_buy(playerid,params[])
{
    #pragma unused params
    new timestamp = GetTickCount();
if(timestamp - inhousepickup > 5000)
{
    SendClientMessage(playerid, c_r, "Vous n'êtes pas sur un icône!");
    return 1;
}
new str[255],str1[255],pname[24];
GetPlayerName(playerid, pname, 24);
format(str1, sizeof(str1), "Maison id %d", playericonhouse[playerid]);
str = dini_Get(udb_encode(str1),"Name");
if (strcmp(str,"ForSale",true)) return SendClientMessage(playerid, c_r, "Cette maison n'est pas à vendre!");
str = dini_Get(udb_encode(str1),"Cost");
if(GetPlayerMoney(playerid)<strval(str)) return SendClientMessage(playerid, c_r, "Pas assez d'argent!");
SendClientMessage(playerid, c_y, "Vous avez acheté la maison!");
format(str, sizeof(str), "%s A acheté maison id 0",pname);
print(str);
str = dini_Get(udb_encode(str1),"Cost");
GivePlayerMoney(playerid, -strval(str));
    dini_Set(udb_encode(str1), "Name", pname);
    dini_IntSet(udb_encode(str1),"Locked",0);
    dini_IntSet(udb_encode(pname),"House",playericonhouse[playerid]);

    return 1;
}

Et je doit la faire fonctionné a partir de mon gamemode la je sui blocké je doit mettre une ligne comme sa :
Code: (cpp) [Sélectionner]
dcmd(buy,3, cmdtext);
et ya un warning etvidament ses a l'endroi ou il est placé

J'ai eisseillé sa et sa me donne pas de warning(mais sa marche pas):

Code: (cpp) [Sélectionner]
}if (strcmp("/buy", cmdtext, true, 10) == 0)
    {
dcmd(buy,3, cmdtext);
    }
Et ses bien dans :
public OnPlayerCommandText(playerid, cmdtext[])
Titre: Re : Aide commande
Posté par: S!m le 06 Février 2008, 04:12:09
salut,

si j'ai bien compris, tu veut effectuer la commande qui figure dans le include ???

si oui, a ta place je copierais la commande dans ton gamemode

donc ca donnerait un truc du genre:
OpublicOnPlayerCommandText(playerid,cmdtext())
{
dcmd(buy,3,cmdtext);
}



//---------------------------------------------------------------------------------------------
dcmd_buy(playerid,params[])
{

  pragma unused params
  new timestamp = GetTickCount();
if(timestamp - inhousepickup > 5000)
{
    SendClientMessage(playerid, c_r, "Vous n'êtes pas sur un icône!");
    return 1;
}
new str[255],str1[255],pname[24];
GetPlayerName(playerid, pname, 24);
format(str1, sizeof(str1), "Maison id %d", playericonhouse[playerid]);
str = dini_Get(udb_encode(str1),"Name");
if (strcmp(str,"ForSale",true)) return SendClientMessage(playerid, c_r, "Cette maison n'est pas à vendre!");
str = dini_Get(udb_encode(str1),"Cost");
if(GetPlayerMoney(playerid)<strval(str)) return SendClientMessage(playerid, c_r, "Pas assez d'argent!");
SendClientMessage(playerid, c_y, "Vous avez acheté la maison!");
format(str, sizeof(str), "%s A acheté maison id 0",pname);
print(str);
str = dini_Get(udb_encode(str1),"Cost");
GivePlayerMoney(playerid, -strval(str));
   dini_Set(udb_encode(str1), "Name", pname);
   dini_IntSet(udb_encode(str1),"Locked",0);
   dini_IntSet(udb_encode(pname),"House",playericonhouse[playerid]);
  return 1;

}
je ne parierait pas car il se pourrait que le dcmd ne puisse aller chercher la commande dans un include mais.....c'est au cas où (c'est tout de même une possibilité) :-X

sinon, je crois que tu n'as pas l'include qui définit le dcmd :ohmy

sinon, j'ai vraiment aucune idée :(

au moins j'aurai essayer

++Sim++
Titre: Re : Aide commande
Posté par: Eloctro le 06 Février 2008, 11:43:19
Sa veut rien dire .
Titre: Re : Aide commande
Posté par: Syg le 06 Février 2008, 17:41:46
dcmd est un macro mais on peut s'en passer de cette façon :

public OnPlayerCommandText (playerid, cmdtext[])
{
new cmd[256];
new params[256];
new idx = 0;

   /* Extraction de la commande */
   cmd = strtok (cmdtext, idx);

   if (strcmp (cmd, "/buy", true) == 0)
   {
      /* Extraction des paramètres */
      params = strtok (cmdtext, idx);

      /* Appel de la fonction */
      dcmd_buy (playerid, params);
   }

   /* .... */

}

De cette façon, tu n'a plus besoin de la maco dcmd.
++
Syg
Titre: Re : Aide commande
Posté par: Eloctro le 06 Février 2008, 17:59:18
Mercie SYG vraiment tu me sauve la vie  :D .
Tu est le dieu de gtaonline  :angelnot xd