Szerző Téma: Autovásárlásnál bug és egy zene bug  (Megtekintve 1333 alkalommal)

Autovásárlásnál bug és egy zene bug
« Dátum: 2014. augusztus 24. - 11:52:17 »
0 Show voters
Próbáltam magamtól írni egy /autovesz parancsot, minden szép és jó, megkérdezi h meg e szeretném venni. Na de mindenki megtudja akinek van é az is akinek nincs. Próbáltam mindent
így néz ki: http://puu.sh/b5GpB/6cda2ff3e1.png
itt pedig a Dialógusa: http://puu.sh/b5Gra/25f6c69198.png ; http://puu.sh/b5GtF/57b085119c.png
a következõ lenne, ha rá megyek h autovesz ugye kidobja h megveszem e. Rá megyek h igen és Újra be akar léptetni megkérdezi a jelszavam...  :question: Szóval nem értem és mindent próbáltam. Aki tud segíteni azt kérem.
Lenne még egy apróbb bajom ami ez lenne: http://puu.sh/b5GxF/dba803821a.png
Miért nem hallja mindenki?  :hmmm:
« Utoljára szerkesztve: 2014. október 19. - 15:58:44 írta Flash »

Autovásárlásnál bug és egy zene bug
« Válasz #1 Dátum: 2014. augusztus 24. - 12:16:26 »
0 Show voters
Szerintem az elsõ probléma az DialogID keveredés, ugyanaz az DialogID -je a jármûvásárlásnak és a belépésnek.

Változtasd meg valamelyiket. A zenét viszont nem értem, hogy miért nem játssza le..   :hmmm:

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Autovásárlásnál bug és egy zene bug
« Válasz #2 Dátum: 2014. augusztus 24. - 12:22:31 »
0 Show voters
1.
Van bent ez a sor: \'if(pInfo[playerid][Pcarkey] == 0){}\' Gondolom ezzel szeretnéd ellenõrzini, hogyvan e kulcsa. Ez nem is rossz megoldás, a gond hogy ez önmagában semmi nem csinál így.
Ezt elöszõr is alakítsd át erre: \'if(pInfo[playerid][Pcarkey] != 0) return SendClientMessage(playerid, -1, \"Te neked már van jármûved!\");\'
ez nem engedi továbbfutni a parancsot amennyiben az if mögötti állítás igaz.
Ebben már csak annyi a hiba, hogy a program fentrõl lefele halad, tehát megveszi a kocsit és utána ellenõrzi. Ez így nem jó! Az elõbb írt sort rakd a parancsod tetejére(miután ellenõrzi, hogy ezt a parancsot írta volna be, a new velauto után) és már mûködni is fog.
2.
Azért nem hallja mindenki, mert te a \'playerid\' számára indítod el magát a hangot. Ahhoz, hogy mindenki hallja mindenkinek el kell indítanod.
 -sajnálatos módon - nem lehet azt lekérni, hogy mindenkinek indítsa el. Ezt ciklussal tudod megoldani, méghozzá legcélszerûbb a \'for\' ciklust használni.
A lényege, hogy a megadott számokon végigmegy ameddig te szeretnéd, és az azon a játékos idn lévõ játékosnak elindítod a zenét. Most nem linkelem be, pici keresgélés után itt a fórumon is találsz nagyon szép leírásokat a ciklusokról :)ú
UI: Random megelõzött, de nem az a gondja. Mûködik a vásárlás, de mindenkinek még annak is akinek van jármûve. Kifejtettem, hogy mi a gond, remélem én jól értelmeztem.
Ha nem mûködik akkor az \'IsAnOwnableKocsi\' függvényt másold ide be kérlek.

Autovásárlásnál bug és egy zene bug
« Válasz #3 Dátum: 2014. augusztus 24. - 14:43:58 »
0 Show voters
úgy csináltam ahogy írtad, és most sem mûködik, megszakítja a folyamatot és csak azt az üzenetet írja ki. Pedig nincs autója. :/
a zenénél meg nem úgy csináltam? vagy h érted a a  \"playerid\"-nek játszom le?

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Autovásárlásnál bug és egy zene bug
« Válasz #4 Dátum: 2014. augusztus 24. - 15:20:38 »
0 Show voters
Megkérlek kód ként is bemásolnád az érintet részeket? Az a baj, hogy így képen nehéz idézni, és nem tudom kimásolni hogy \"élesbe\" PAWNO programmal is átlássam a kódot.
Valamitn akkor mi is a probléma? Mert már nem értem. A zenét azt elnéztem, mert az üzenetet csak a játékosnak írod ki, de mindenkinek lejátszod a zenét.
Az, hogy a zene lejátszódik függhet attól hogy jó e a link, elindításnál fel van e húzva a hangerõ(ha nincs zöld szöveget sem írja ki), esetleg akár a GTA is lehet rossz, vagy pedig valami hiba van a személy gépénél. Ezzel is volt egy kérdés, nem tudom mi lett a vége, de ott sem játszotta le a jó linket sehogy.

Autovásárlásnál bug és egy zene bug
« Válasz #5 Dátum: 2014. augusztus 24. - 21:01:08 »
0 Show voters
Persze parancsolj: :)
 
else if(dialogid == DIALOG_KERESKEDO)
{
{
   if(listitem == 0) // megvesz
   {
        if(PlayerInfo[playerid][pPcarkey] != 1) //|| PlayerInfo[playerid][pPcarkey2] == 1)
        {
         new sendername[MAX_PLAYER_NAME];
           new idcar = GetPlayerVehicleID(playerid);
         if(PlayerInfo[playerid][pPcarkey] != 1) return SendClientMessage(playerid, -1, \"Te neked már van jármûved!\");
         //else if(PlayerInfo[playerid][pPcarkey2] == 0) { }
          else
         {
            SendClientMessage(playerid, COLOR_GREEN, \"Már van autód!\");
            return 1;
         }
         if(CarInfo[idcar][cOwned]== 1)
         {
             SendClientMessage(playerid, COLOR_GRAD2, \"Ez az autó már valakié!\");
             return 1;
         }
         if(GetMoney(playerid) >= CarInfo[idcar][cValue])
         {
             if(PlayerInfo[playerid][pPcarkey] != NINCS) { PlayerInfo[playerid][pPcarkey] = idcar; }
             //else if(PlayerInfo[playerid][pPcarkey2] == 1) { PlayerInfo[playerid][pPcarkey2] = idcar; }
             //else { return 1; }
            CarInfo[idcar][cOwned] = 1;
            GetPlayerName(playerid, sendername, sizeof(sendername));
            strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 2);
            GiveMoney(playerid,-CarInfo[idcar][cValue]);
            FrakcioInfo[LMUNKA_ONKORMANYZAT][fPenz] += strval(inputtext);
            //Savevaroskassza();
            //PlayerPlayMusic(playerid);
            //Delete3DTextLabel(eladokocsi[idcar]);
            SendClientMessage(playerid, COLOR_WHITE, \"Vettél egy jármûvet! A jármüvekre vonatkozó parancsokat a /help-ben megtalálod.\");
            SendClientMessage(playerid, COLOR_WHITE, \"Indítsd be a motort és már mehetsz is!\");
            gEngine[playerid] = 0;
            engineOn[GetPlayerVehicleID(playerid)] = false;
            //DateProp(playerid);
            //OnPropUpdate();
            //OnPlayerUpdate(playerid);
            ShowPlayerDialog(playerid, 5200, 1, \"Rendszám\",\"Írd be, hogy mi legyen az autó rendszáma:\", \"Kész\", \"Mégse\");
            return 1;
         }
         else
         {
             SendClientMessage(playerid, COLOR_GRAD2, \"Nincs elég pénzed!\");
             return 1;
         }
      }
      else SendClientMessage(playerid, COLOR_GRAD2, \"Már van autód!\");
   }
   if(listitem == 1) // mégse
   {
      if(PlayerInfo[playerid][pAdmin] == 0 || PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2)
            {
            SendClientMessage(playerid, COLOR_WHITE, \"Úgy döntöttél, hogy nem veszed meg az autót!\");
            RemovePlayerFromVehicle(playerid);
            TogglePlayerControllable(playerid,1);
            }
            else if(PlayerInfo[playerid][pAdmin] >= 3)
            {
         SendClientMessage(playerid, COLOR_WHITE, \"Úgy döntöttél, hogy nem veszed meg az autót!\"); SendClientMessage(playerid, COLOR_LIGHTRED, \"De mivel admin vagy, vezetni tudod!\"); TogglePlayerControllable(playerid,1);
      }
   }
        }
}

 
Ez a Dialógus része és itt a parancs:
 
if(egyezik(cmd, \"/autovesz\") || egyezik(cmd, \"/autóvesz\") || egyezik(cmd, \"/biciklivesz\") || egyezik(cmd, \"/bvesz\"))
{
if(IsPlayerConnected(playerid))
{
   new kocsi = GetPlayerVehicleID(playerid);
   if(IsAnOwnableCar(kocsi))
   {
      new vetelaru[512];
      if(PlayerInfo[playerid][pPcarkey] != 1) return SendClientMessage(playerid, -1, \"Te neked már van jármûved!\");
      vetelaru =\" igen\\nnem\";
      ShowPlayerDialog(playerid, DIALOG_KERESKEDO, DIALOG_STYLE_LIST, \"Meg veszed ezt a jármûvet?\", vetelaru, \"választ\",\"Mégse\");
      TogglePlayerControllable(playerid, false);
      Cselekves(playerid, \"nézelõdik\", 1);
      //else if(PlayerInfo[playerid][pPcarkey2] == 0) { }
      //else if(PlayerInfo[playerid][pPcarkey3] == 999) { }
      if(CarInfo[kocsi][cOwned]==1)
      {
         SendClientMessage(playerid, COLOR_GRAD2, \"Ez a jármû már valakié!\");
         return 1;
      }
      ShowPlayerDialog(playerid,011,DIALOG_STYLE_LIST,\"Meg szeretnéd venni ezt a jármûvet?\",\"Igen\\nNem\",\"Kiválaszt\",\"Mégse\");
   }
   else SendClientMessage(playerid,COLOR_GRAD2,\"Nem ülsz eladó jármûben!\");
   return 1;
}
return 1;
}

 
Ami a Zenét illeti tuti jó a link. Mert nekem lejátssza. Láttam már olyat h valamelyik szerveren jó volt. Azt is ide írom:
 
 CMD:play(playerid,params[])
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
       
        new link[128];
        if(sscanf(params,\"s[128]\",link)) return SendClientMessage(playerid,-1,\"/play [url]   (Play a Music or a Radio)\");
        PlayAudioStreamForPlayer(i,link);
        SendClientMessage(playerid,0x00ff00ff,\"[ _.-~:*>> Music Player <<*~-._ ]A zene lejátszásra került! Amennyiben nincs zene lehetséges, hogy a \\\"radio\\\" hangereje túl kicsi, vagy hibás a link!\");
        }
        return 1;
    }

 
[mod]Javítottam a

taget

tagre![/mod]
« Utoljára szerkesztve: 2014. augusztus 24. - 21:06:53 írta Dfoglalo »

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Autovásárlásnál bug és egy zene bug
« Válasz #6 Dátum: 2014. augusztus 24. - 21:41:52 »
0 Show voters
if(PlayerInfo[playerid][pPcarkey] != 1) return SendClientMessage(playerid, -1, \"Te neked már van jármûved!\");

 
Nem ismerem a modot, de szerintem ez lesz a probléma.
Ez akkor írja ki a szöveget, ha a pPcarkey értéke nem egyenlõ eggyel. Gondolom akkor lesz egyenlõ eggyel, ha már van kocsija. Ha mégsem:
Van egy nagyobb probléma, amitõl biztos hogy nem mûködik. Ugyan ellenõrzöd, hogy a változó értéke mennyi, de ha megvette a kocsi akkor a változót nem állítod át más értékre. Vagy csak én nem láttam/az a rész nincs bemásolva.

Autovásárlásnál bug és egy zene bug
« Válasz #7 Dátum: 2014. augusztus 24. - 23:45:03 »
0 Show voters
az összes részt bemásoltam, és próbáltam 0-val is de úgy se jó  :unsure: :(

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Autovásárlásnál bug és egy zene bug
« Válasz #8 Dátum: 2014. augusztus 25. - 12:11:12 »
0 Show voters
 CMD:play(playerid,params[])
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
       
        new link[128];
        if(sscanf(params,\"s[128]\",link)) return SendClientMessage(playerid,-1,\"/play [url]   (Play a Music or a Radio)\");
        PlayAudioStreamForPlayer(i,link);
        SendClientMessage(playerid,0x00ff00ff,\"[ _.-~:*>> Music Player <<*~-._ ]A zene lejátszásra került! Amennyiben nincs zene lehetséges, hogy a \\\"radio\\\" hangereje túl kicsi, vagy hibás a link!\");
        }
        return 1;
    }

 
Helyesen:
 
CMD:play(playerid,params[]) {
    new link[128];
    if(sscanf(params,\"s[128]\",link)) return SendClientMessage(playerid,-1,\"/play [url]   (Play a Music or a Radio)\");
    for(new i = 0; i < MAX_PLAYERS; i++) {
        if(!IsPlayerConnected(i)) continue;
        PlayAudioStreamForPlayer(i,link);
    }
    SendClientMessage(playerid,0x00ff00ff,\"[ _.-~:*>> Music Player <<*~-._ ]A zene lejátszásra került! Amennyiben nincs zene lehetséges, hogy a \\\"radio\\\" hangereje túl kicsi, vagy hibás a link!\");
    return 1;
}

Autovásárlásnál bug és egy zene bug
« Válasz #9 Dátum: 2014. augusztus 25. - 18:41:13 »
0 Show voters
Már átírtam azt mondták így se hallják.  :\'(

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal