Szerző Téma: Mi a különbség?  (Megtekintve 1497 alkalommal)

Nem elérhető Zsoma

  • 516
    • Profil megtekintése
Mi a különbség?
« Dátum: 2010. szeptember 10. - 22:37:36 »
0 Show voters
Hali
Zero javaslata alapján használtam zcmd-t de ugyanaz a cucc és mégsem müködik az egyik.
ez helyesen müködik:
dcmd_b(playerid, params[])
{
new plname[24],string[256];
if (sscanf(params, \"b\", string)) return SendClientMessage(playerid, COLOR_BROWN, \"...\");
GetPlayerName(playerid, plname, 24);
format(string, 128,\"[OOC] %s: %s\", plname, string);
ProxDetector(30.0, playerid, string, COLOR_GRAD6,COLOR_GRAD5,COLOR_GRAD4,COLOR_GRAD3,COLOR_GRAD2);
return 1;
}
Ez meg ennyit ir csak ki hasznlatkor: xyz orditja:
és ennyi :O
dcmd_s(playerid, params[])
{
new plname[24],string[256];
if (sscanf(params, \"s\", string)) return SendClientMessage(playerid, COLOR_BROWN, \"...\");
GetPlayerName(playerid, plname, 24);
format(string, 128,\"%s ordítja: %s\", plname, string);
ProxDetector(40.0, playerid, string, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
return 1;
}
mi lehet a gond?
aki tud kérem segitsen (:

Mi a különbség?
« Válasz #1 Dátum: 2010. szeptember 10. - 22:45:44 »
0 Show voters
Ez nem zcmd hanem dcmd,a zcmd így kezdõdik:
 
CMD:b(playerid, params[])

 
A karakterláncnak méretet is kell adni.
Tesk:
 
CMD:s(playerid, params[])
{
   new plname[24],string[128],msg[128];
   if (sscanf(params, \"s[128]\", string)) return SendClientMessage(playerid, COLOR_BROWN, \"...\");
   GetPlayerName(playerid, plname, 24);
   format(msg, 128,\"%s ordítja: %s\", plname, string);
   ProxDetector(40.0, playerid, msg, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
   return 1;
}

Nem elérhető Zsoma

  • 516
    • Profil megtekintése
Mi a különbség?
« Válasz #2 Dátum: 2010. szeptember 10. - 22:58:10 »
0 Show voters
tesztként beillesztettem a te általad adottat és ezt kaptam:
warning 203: symbol is never used: \"s\"    :dead:

Mi a különbség?
« Válasz #3 Dátum: 2010. szeptember 10. - 23:04:02 »
0 Show voters
#include <zcmd>

 
Ez is kell.

Nem elérhető Zsoma

  • 516
    • Profil megtekintése
Mi a különbség?
« Válasz #4 Dátum: 2010. szeptember 10. - 23:06:54 »
0 Show voters
jaja közbe réjöttem, csak nem irtam mert most meg nemmegy a parancs.
vmit kikerül.. hmmm
az van hogy beirom és Unknown Command, am meg nekem ehelyett van is egy
izé beirva hogy ne ezt irja ki ha rossz parancsot ad meg :D
hanem mást kiir.
ebbe most ugye elakadtam hogy csak na. :O megoldás?  :angel:

Mi a különbség?
« Válasz #5 Dátum: 2010. szeptember 10. - 23:12:01 »
0 Show voters
Cseréld le az OnPlayerCommandText eljárás ezekre:
 
OnPlayerCommandReceived(playerid, cmdtext[])
//Amikor a játékos meghívja a parancsot,ha return 0; akkor nem fut le a parancs.
OnPlayerCommandPerformed(playerid, cmdtext[], success)
//Amikor a parancs lefut. Ha itt van a return 0; akkor Unknow command....

Nem elérhető Zsoma

  • 516
    • Profil megtekintése
Mi a különbség?
« Válasz #6 Dátum: 2010. szeptember 10. - 23:17:53 »
0 Show voters
bocsi ez most nem egészen tiszta  ::|
lehet h nemkellett volna annyi vbkt inni na mindegy XD

Mi a különbség?
« Válasz #7 Dátum: 2010. szeptember 10. - 23:24:27 »
0 Show voters
:D
Szal van egy ojanod h
 
public OnPlayerCommandText(playerid,cmdtext[])
{
    if(strcmp(cmdtext, \"/parancs\", true) == 0)
    {
        return 1;
    }
    return 0;
}

 
Ezt töröld ki a mododból és rakd a helyére ezt a 2-õt:
 
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
return 1;
}
 
public OnPlayerCommandReceived(playerid, cmdtext[])
{
return 1;
}

 
Elõzõ hsz-ben van h mit csinálnak.

Mi a különbség?
« Válasz #8 Dátum: 2010. szeptember 11. - 08:05:36 »
0 Show voters
Nem tudom, hogy ehez minek sscanf
személy szerint az sscanf nekem bonyolult is xD
 
if(strcmp(cmd, \"/b\", true) == 0)
{
  new plname[24],string[256];
  GetPlayerName(playerid, plname, 24);
  format(string, sizeof(string),\"[OOC] %s: %s\", plname, cmdtext[3]);
  ProxDetector(30.0, playerid, string, COLOR_GRAD6,COLOR_GRAD5,COLOR_GRAD4,COLOR_GRAD3,COLOR_GRAD2);
  return 1;
}
if(strcmp(cmd, \"/s\", true) == 0)
{
  new plname[24],string[256];
  GetPlayerName(playerid, plname, 24);
  format(string, sizeof(string),\"%s ordítja: %s\", plname, cmdtext[3]);
  ProxDetector(40.0, playerid, string, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
  return 1;
}

Mi a különbség?
« Válasz #9 Dátum: 2010. szeptember 11. - 08:37:55 »
0 Show voters
Idézetet írta: TengeriMalac date=1284185136\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"3260\" data-ipsquote-contentclass=\"forums_Topic
Nem tudom, hogy ehez minek sscanf
személy szerint az sscanf nekem bonyolult is xD
 
if(strcmp(cmd, \"/b\", true) == 0)
{
  new plname[24],string[256];
  GetPlayerName(playerid, plname, 24);
  format(string, sizeof(string),\"[OOC] %s: %s\", plname, cmdtext[3]);
  ProxDetector(30.0, playerid, string, COLOR_GRAD6,COLOR_GRAD5,COLOR_GRAD4,COLOR_GRAD3,COLOR_GRAD2);
  return 1;
}
if(strcmp(cmd, \"/s\", true) == 0)
{
  new plname[24],string[256];
  GetPlayerName(playerid, plname, 24);
  format(string, sizeof(string),\"%s ordítja: %s\", plname, cmdtext[3]);
  ProxDetector(40.0, playerid, string, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
  return 1;
}

 

Pedig a sscanf a legegyszerûbb,legjobb,legpraktikusabb megoldás.
http://sampforum.hu/index.php?topic=4400.0
Énis sscanf + zcmd párost ajánlok mindenkinek.
Valahol van is itt egy zcmd leírás mindjárt elõkeresem.
Edit: Megvan.
http://sampforum.hu/index.php?topic=4562.0
Zsoma parancsának meg ezek után mûködnie kell.
« Utoljára szerkesztve: 2010. szeptember 11. - 08:41:00 írta ChuckNorris »

Nem elérhető Zsoma

  • 516
    • Profil megtekintése
Mi a különbség?
« Válasz #10 Dátum: 2010. szeptember 11. - 11:02:42 »
0 Show voters
köszi szépen mindenkinek a segitséget  :D
zárok.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal