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
-
Voila dans un include jai sa :
dcmd(NOM,3, cmdtext);
//ET LA LE RESTE
Donc enssuite dans le gamode faut relié la commande et la je sui bloqué .
-
euh... pas trop compris ce que tu voulais...
++
R@f
-
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é .
-
Creer ta command texte
regarde sur le filtercript XtremeAdmin2
j'ai vu la même chose
-
Ok répondé moi quand meme au ca ou .
Edit : sa m'aide pas .
-
Tu la au moin ?
-
Oui
-
Ok ba jorai essayer
-
Mercie comeme . ;)
Bon sinon ya qu'elqu'un d'autre qui peut m'aider .
-
De rien :)
BOn :jesors
-
ok jui toujour bloqué .
-
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 :
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 :
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):
}if (strcmp("/buy", cmdtext, true, 10) == 0)
{
dcmd(buy,3, cmdtext);
}
Et ses bien dans :
public OnPlayerCommandText(playerid, cmdtext[])
-
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++
-
Sa veut rien dire .
-
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
-
Mercie SYG vraiment tu me sauve la vie :D .
Tu est le dieu de gtaonline :angelnot xd