Szerző Téma: /széf probléma  (Megtekintve 1594 alkalommal)

Nem elérhető kos

  • 292
    • Profil megtekintése
/széf probléma
« Dátum: 2014. Március 05. - 15:52:00 »
0 Show voters
Üdv.
Mint a téma nevében is látni /széf problémám akadt... Ugyebár megcsináltam azt a parancsot, hogy /széf [megnéz] [ki/be]-[mit]-[mennyit]
Tökéletesen mûködik a /széf [ki/be]-[mit]-[mennyit], de a /széf megnéz nem jó, mert nem tudtam rájönni hogyan lehetne a funkciókat addig kikapcsolni.... :hmmm:
 
if(sscanf(params,\"s[16]s[16]d\",function,function2,osszeg)) return msg(playerid,Red,\"/széf [megnéz] [ki/be]-[mit]-[mennyit]\");

 
Tehát ez azt teszi lehetõvé, hogy sok funkciót megadhatok, de a /széf megnéznél is kéne ugyebár, és hogyan tudnám azt megcsinálni, hogy annál ne kérje azokat :question:
Remélem érthetõ volt a kérdésem  ::|

/széf probléma
« Válasz #1 Dátum: 2014. Március 05. - 18:11:09 »
0 Show voters
Úgy szeretnéd, hogy beírod, hogy /széf és kijön, hogy mi van benne?Vagy, hogy /széf megnéz és úgy jön ki??

Nem elérhető kos

  • 292
    • Profil megtekintése
/széf probléma
« Válasz #2 Dátum: 2014. Március 05. - 18:19:22 »
0 Show voters
/széf megnéz és úgy jöjjön ki.

/széf probléma
« Válasz #3 Dátum: 2014. Március 15. - 17:10:24 »
0 Show voters
:hmmm: :hmmm:
hát abból a kicsibõl amit leszûrtem a kérdésedbõl, valami olyasmire vágyhatsz hogy ha beírod hogy: /széf akkor mutassa a széfben lévõ pénzt...
viszont azt a részt nem értem hogy mit magyarázol az sscanf-fal szóval egy külön parancsban leírom, hátha utána meg tudod csinálni magadnak.
tehát:
 

CMD:szef(playerid, params[])
{
    new nev[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nev, sizeof(nev));
    dfile_Open(nev) //igazából fölösleges hisz a dfile magától nyitja meg a fájlokat ha épp ki kell olvasni valamit vagy beírni, de a biztonság kedvéért :)
    new str[128]; //na én így csináltam a hasonló dolgokat
    format(str, sizeof(str), \"Készpénz: %i\", dfile_ReadInt(\"Széfpénz\"));
    ShowPlayerDialog(playerid, 666, DIALOG_STYLE_LIST, \"Széf\", str, \"Ok\", \"\");
    return 1;
}

 
Ezek után még csinálhatsz egy (szerintem) sokkal jobban kinézõ kivesz-betesz dolgot az OnDialogResponse-ban ami mint már említettem jobban is nézne ki szerintem és egyszerûbb is lenne használni (persze ha szebb és a használat egyszerûbb = a script kcsit hosszadalmasabb és összetettebb)

Nem elérhető kos

  • 292
    • Profil megtekintése
/széf probléma
« Válasz #4 Dátum: 2014. Március 17. - 00:48:34 »
0 Show voters
Köszi, ez hasznos, de ezt én is meg tudom csinálni :) igazából nekem még mindig az a bajom, hogy nem tudom kikapcsolni a funkciókat...
Egy kis részletet mutatok, hogy vizuálisan is lássad a gondomat:(ez a v1.0 verzió a széfbõl, azóta már fejlesztettem, hogy ne keljen külön irkálni minden széfet. )
 

CMD:szef(playerid, params[])
{
new function[70],function2[70],osszeg;
if(sscanf(params,\"s[16]s[16]d\",function,function2,osszeg)) return msg(playerid,Red,\"/széf [megnéz] [ki/be]-[mit]-[mennyit]\");
if(pInfo[playerid][pFrakcio] == 1)
{
if(pInfo[playerid][pFrakcioRang] >= YakuzaMinrang)
{
   if(!strcmp(function,\"ki\",true))
   {
        if(!strcmp(function2,\"pénz\",true))
       {
           if(YakuzaPenz < osszeg) return msg(playerid,Red,\"Nincs ennyi pénz a széfben!\");
            pInfo[playerid][pPenz] += osszeg;
            GivePlayerMoney(playerid,osszeg);
            YakuzaPenz -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"kaja\",true))
       {
            if(YakuzaKaja < osszeg) return msg(playerid,Red,\"Nincs ennyi kaja a széfben!\");
            pInfo[playerid][pKaja] += osszeg;
            YakuzaKaja -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"mati\",true))
       {
            if(YakuzaMati < osszeg) return msg(playerid,Red,\"Nincs ennyi mati a széfben!\");
            pInfo[playerid][pMati] += osszeg;
            YakuzaMati -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"marihuana\",true))
       {
            if(YakuzaMarihuana < osszeg) return msg(playerid,Red,\"Nincs ennyi marihuana a széfben!\");
            pInfo[playerid][pMarihuana] += osszeg;
            YakuzaMarihuana -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"heroin\",true))
       {
            if(YakuzaHeroin < osszeg) return msg(playerid,Red,\"Nincs ennyi heroin a széfben!\");
            pInfo[playerid][pHeroin] += osszeg;
            YakuzaHeroin -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"kokain\",true))
       {
            if(YakuzaKokain < osszeg) return msg(playerid,Red,\"Nincs ennyi kokain a széfben!\");
            pInfo[playerid][pKokain] += osszeg;
            YakuzaKokain -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"gyémánt\",true))
       {
            if(YakuzaMati < osszeg) return msg(playerid,Red,\"Nincs ennyi gyémánt a széfben!\");
            pInfo[playerid][pGyemant] += osszeg;
            YakuzaGyemant -= osszeg;
            YakuzaSzefMent();
       }
    }
    }else msg(playerid,Red,\"Nincs elég rangod hozzá!\");
    if(!strcmp(function,\"be\",true))
{
        if(!strcmp(function2,\"pénz\",true))
    {
        if(pInfo[playerid][pPenz] < osszeg) return msg(playerid,Red,\"Nincs ennyi pénz nálad!\");
            pInfo[playerid][pPenz] -= osszeg;
            GivePlayerMoney(playerid,-osszeg);
            YakuzaPenz += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"kaja\",true))
    {
            if(pInfo[playerid][pKaja] < osszeg) return msg(playerid,Red,\"Nincs ennyi kaja nálad!\");
            pInfo[playerid][pKaja] -= osszeg;
            YakuzaKaja += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"mati\",true))
    {
            if(pInfo[playerid][pMati] < osszeg) return msg(playerid,Red,\"Nincs ennyi mati nálad!\");
            pInfo[playerid][pMati] -= osszeg;
            YakuzaMati += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"marihuana\",true))
    {
            if(pInfo[playerid][pMarihuana] < osszeg) return msg(playerid,Red,\"Nincs ennyi marihuana nálad!\");
            pInfo[playerid][pMarihuana] -= osszeg;
            YakuzaMarihuana += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"heroin\",true))
    {
            if(pInfo[playerid][pHeroin] < osszeg) return msg(playerid,Red,\"Nincs ennyi heroin nálad!\");
            pInfo[playerid][pHeroin] -= osszeg;
            YakuzaHeroin += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"kokain\",true))
    {
            if(pInfo[playerid][pKokain] < osszeg) return msg(playerid,Red,\"Nincs ennyi kokain nálad!\");
            pInfo[playerid][pKokain] -= osszeg;
            YakuzaKokain += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"gyémánt\",true))
    {
            if(pInfo[playerid][pGyemant] < osszeg) return msg(playerid,Red,\"Nincs ennyi gyémánt nálad!\");
            pInfo[playerid][pGyemant] -= osszeg;
            YakuzaGyemant += osszeg;
            YakuzaSzefMent();
    }
    }
    }else msg(playerid,Red,\"Nem vagy Yakuza tagja!\");
return 1;
}

 
ez mind szépen mûködik, de igazából ha be akarom építeni ezt /széf megnéz részt is, ez azért nem lesz jó mert ugyan úgy kéri a többi adatot(a mit és menyit)
Nekem ez a gondom, hogy nem tudom megcsinálni, hogy annál ne kérje a másik két funkciót...
Remélem így vizuálisan egy régebbi széf verziómmal érthetõ a kérdésem :)

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
/széf probléma
« Válasz #5 Dátum: 2014. Március 17. - 07:47:21 »
0 Show voters
if(!strlen(params) || strcmp(params,\"megnéz\",true) && sscanf(params,\"s[16]s[16]d\",function,function2,osszeg)) return msg(playerid,Red,\"/széf [megnéz] [ki/be]-[mit]-[mennyit]\");
//
if(!strcmp(params,\"megnéz\",true))
{
// megnézés kódja
}
else
{
// ki / berakás kódja
}

 
ez megfelel?
« Utoljára szerkesztve: 2014. Március 18. - 07:59:40 írta Kovacs_Richard »
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető kos

  • 292
    • Profil megtekintése
/széf probléma
« Válasz #6 Dátum: 2014. Március 17. - 23:03:22 »
0 Show voters
hm közel a megolás :) megfelelne ha nem bugolna a minranggal ><... mert csak példaként vetettem fel am egnézet, sok más parancs van még amihez ki kell kapcsolni a funkciókat, de a minrangnál pl csak az összeg kell, ami valaiért bugolt a megnézzel...

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
/széf probléma
« Válasz #7 Dátum: 2014. Március 18. - 07:59:14 »
0 Show voters
javítottam most nézd meg
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető kos

  • 292
    • Profil megtekintése
/széf probléma
« Válasz #8 Dátum: 2014. Március 19. - 16:23:30 »
0 Show voters
Igen így már tökéletes  8)
Köszönöm ment a +

Nem elérhető kos

  • 292
    • Profil megtekintése
/széf probléma
« Válasz #9 Dátum: 2014. Március 17. - 00:48:34 »
0 Show voters
Köszi, ez hasznos, de ezt én is meg tudom csinálni :) igazából nekem még mindig az a bajom, hogy nem tudom kikapcsolni a funkciókat...
Egy kis részletet mutatok, hogy vizuálisan is lássad a gondomat:(ez a v1.0 verzió a széfbõl, azóta már fejlesztettem, hogy ne keljen külön irkálni minden széfet. )
 

CMD:szef(playerid, params[])
{
new function[70],function2[70],osszeg;
if(sscanf(params,\"s[16]s[16]d\",function,function2,osszeg)) return msg(playerid,Red,\"/széf [megnéz] [ki/be]-[mit]-[mennyit]\");
if(pInfo[playerid][pFrakcio] == 1)
{
if(pInfo[playerid][pFrakcioRang] >= YakuzaMinrang)
{
   if(!strcmp(function,\"ki\",true))
   {
        if(!strcmp(function2,\"pénz\",true))
       {
           if(YakuzaPenz < osszeg) return msg(playerid,Red,\"Nincs ennyi pénz a széfben!\");
            pInfo[playerid][pPenz] += osszeg;
            GivePlayerMoney(playerid,osszeg);
            YakuzaPenz -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"kaja\",true))
       {
            if(YakuzaKaja < osszeg) return msg(playerid,Red,\"Nincs ennyi kaja a széfben!\");
            pInfo[playerid][pKaja] += osszeg;
            YakuzaKaja -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"mati\",true))
       {
            if(YakuzaMati < osszeg) return msg(playerid,Red,\"Nincs ennyi mati a széfben!\");
            pInfo[playerid][pMati] += osszeg;
            YakuzaMati -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"marihuana\",true))
       {
            if(YakuzaMarihuana < osszeg) return msg(playerid,Red,\"Nincs ennyi marihuana a széfben!\");
            pInfo[playerid][pMarihuana] += osszeg;
            YakuzaMarihuana -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"heroin\",true))
       {
            if(YakuzaHeroin < osszeg) return msg(playerid,Red,\"Nincs ennyi heroin a széfben!\");
            pInfo[playerid][pHeroin] += osszeg;
            YakuzaHeroin -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"kokain\",true))
       {
            if(YakuzaKokain < osszeg) return msg(playerid,Red,\"Nincs ennyi kokain a széfben!\");
            pInfo[playerid][pKokain] += osszeg;
            YakuzaKokain -= osszeg;
            YakuzaSzefMent();
       }
       if(!strcmp(function2,\"gyémánt\",true))
       {
            if(YakuzaMati < osszeg) return msg(playerid,Red,\"Nincs ennyi gyémánt a széfben!\");
            pInfo[playerid][pGyemant] += osszeg;
            YakuzaGyemant -= osszeg;
            YakuzaSzefMent();
       }
    }
    }else msg(playerid,Red,\"Nincs elég rangod hozzá!\");
    if(!strcmp(function,\"be\",true))
{
        if(!strcmp(function2,\"pénz\",true))
    {
        if(pInfo[playerid][pPenz] < osszeg) return msg(playerid,Red,\"Nincs ennyi pénz nálad!\");
            pInfo[playerid][pPenz] -= osszeg;
            GivePlayerMoney(playerid,-osszeg);
            YakuzaPenz += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"kaja\",true))
    {
            if(pInfo[playerid][pKaja] < osszeg) return msg(playerid,Red,\"Nincs ennyi kaja nálad!\");
            pInfo[playerid][pKaja] -= osszeg;
            YakuzaKaja += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"mati\",true))
    {
            if(pInfo[playerid][pMati] < osszeg) return msg(playerid,Red,\"Nincs ennyi mati nálad!\");
            pInfo[playerid][pMati] -= osszeg;
            YakuzaMati += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"marihuana\",true))
    {
            if(pInfo[playerid][pMarihuana] < osszeg) return msg(playerid,Red,\"Nincs ennyi marihuana nálad!\");
            pInfo[playerid][pMarihuana] -= osszeg;
            YakuzaMarihuana += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"heroin\",true))
    {
            if(pInfo[playerid][pHeroin] < osszeg) return msg(playerid,Red,\"Nincs ennyi heroin nálad!\");
            pInfo[playerid][pHeroin] -= osszeg;
            YakuzaHeroin += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"kokain\",true))
    {
            if(pInfo[playerid][pKokain] < osszeg) return msg(playerid,Red,\"Nincs ennyi kokain nálad!\");
            pInfo[playerid][pKokain] -= osszeg;
            YakuzaKokain += osszeg;
            YakuzaSzefMent();
    }
    if(!strcmp(function2,\"gyémánt\",true))
    {
            if(pInfo[playerid][pGyemant] < osszeg) return msg(playerid,Red,\"Nincs ennyi gyémánt nálad!\");
            pInfo[playerid][pGyemant] -= osszeg;
            YakuzaGyemant += osszeg;
            YakuzaSzefMent();
    }
    }
    }else msg(playerid,Red,\"Nem vagy Yakuza tagja!\");
return 1;
}

 
ez mind szépen mûködik, de igazából ha be akarom építeni ezt /széf megnéz részt is, ez azért nem lesz jó mert ugyan úgy kéri a többi adatot(a mit és menyit)
Nekem ez a gondom, hogy nem tudom megcsinálni, hogy annál ne kérje a másik két funkciót...
Remélem így vizuálisan egy régebbi széf verziómmal érthetõ a kérdésem :)

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
/széf probléma
« Válasz #10 Dátum: 2014. Március 17. - 07:47:21 »
0 Show voters
if(!strlen(params) || strcmp(params,\"megnéz\",true) && sscanf(params,\"s[16]s[16]d\",function,function2,osszeg)) return msg(playerid,Red,\"/széf [megnéz] [ki/be]-[mit]-[mennyit]\");
//
if(!strcmp(params,\"megnéz\",true))
{
// megnézés kódja
}
else
{
// ki / berakás kódja
}

 
ez megfelel?
« Utoljára szerkesztve: 2014. Március 18. - 07:59:40 írta Kovacs_Richard »
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető kos

  • 292
    • Profil megtekintése
/széf probléma
« Válasz #11 Dátum: 2014. Március 17. - 23:03:22 »
0 Show voters
hm közel a megolás :) megfelelne ha nem bugolna a minranggal ><... mert csak példaként vetettem fel am egnézet, sok más parancs van még amihez ki kell kapcsolni a funkciókat, de a minrangnál pl csak az összeg kell, ami valaiért bugolt a megnézzel...

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
/széf probléma
« Válasz #12 Dátum: 2014. Március 18. - 07:59:14 »
0 Show voters
javítottam most nézd meg
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető kos

  • 292
    • Profil megtekintése
/széf probléma
« Válasz #13 Dátum: 2014. Március 19. - 16:23:30 »
0 Show voters
Igen így már tökéletes  8)
Köszönöm ment a +

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal