Szerző Téma: Mitől gabajodik össze az id0 és id1?  (Megtekintve 1101 alkalommal)

Mitől gabajodik össze az id0 és id1?
« Dátum: 2016. május 10. - 19:59:31 »
0 Show voters
Egy régebben ismerősöm is panaszkodott erre a jelenségre, azonban nekem most jött elő, így most foglalkozok vele...

Szóval a probléma az, hogy amit id0 beír, annak bizonyos részei id1-el történnek meg, és nem értem miért...


Konkrét példa rá:


/hajvagas parancs


-behoz egy dialogot, ami öt lehetőség közül enged választani. Ha rámegyünk valamelyikre, lefreezeli a playerid-t, kiír neki egy szöveget, majd rárak egy AttachedObject-es hajat, és kiírja hogy sikeres hajvágás.


Legalábbis ez az elképzelés. De a gyakorlatban:


Playerid behozza a dialogot, rámegy valamelyikre. Kiírja nála, hogy hajvágás, lefagyasztja...


Azonban itt véget ér a történet, és id1 kapja meg a hajat, nála írja ki hogy sikeres hajvágás, és ő kapja az unfreezet...


Mivel dialog, fel sem merül, hogy valahová azt írtam példák okáért hogy TogglePlayerControllable(id,0);


Hiszen a dialog egy ember között játszódik le jelen esetben...vagy mégsem? Ezerszer átböngésztem ezt a parancsot, és a vele járóit, minden cselekvés playerid-re vonatkozik, vagyis arra aki elköveti a cselekményt, ergó nem is értem a másik játékos hogy keveredik bele a dologba...Arra gondoltam, hátha van erre valami konkrét megoldás, valami kiskapu, amit én még nem ismerek, de ti igen. Remélem tudtok segíteni. 

Mitől gabajodik össze az id0 és id1?
« Válasz #1 Dátum: 2016. május 10. - 21:21:38 »
0 Show voters
Írd ide a kódot, mivel nem kéne összegabalyodnia csak úgy.

Mitől gabajodik össze az id0 és id1?
« Válasz #2 Dátum: 2016. május 11. - 01:38:58 »
0 Show voters
id1legyenboldoghogymenőhajavanéskész!
másold a dialogos kiválasztásnál lévő részt.

Mitől gabajodik össze az id0 és id1?
« Válasz #3 Dátum: 2016. május 11. - 12:37:29 »
0 Show voters
   if(dialogid == hajvagasdialog)
{
if(response)
{
   switch(listitem)
   {
      case 0:
      {
                  GameTextForPlayer(playerid, \"~w~Hajvágás folyamatban...\", 5000, 3);
                  TogglePlayerControllable(playerid,0);
                  SetTimer( \"haircuttime0\", 5000, false);
      }
      case 1:
      {
              GameTextForPlayer(playerid, \"~w~Hajvágás folyamatban...\", 5000, 3);
              TogglePlayerControllable(playerid,0);
                        SetTimer( \"haircuttime1\", 5000, false);
      }
      case 2:
      {
            GameTextForPlayer(playerid, \"~w~Hajvágás folyamatban...\", 5000, 3);
            TogglePlayerControllable(playerid,0);
                    SetTimer( \"haircuttime2\", 5000, false);
      }
      case 3:
      {
              GameTextForPlayer(playerid, \"~w~Hajvágás folyamatban...\", 5000, 3);
              TogglePlayerControllable(playerid,0);
                        SetTimer( \"haircuttime3\", 5000, false);
      }
      case 4:
      {
              GameTextForPlayer(playerid, \"~w~Hajvágás folyamatban...\", 5000, 3);
              TogglePlayerControllable(playerid,0);
                        SetTimer( \"haircuttime4\", 5000, false);
      }
      case 5:
      {
              GameTextForPlayer(playerid, \"~w~Hajvágás folyamatban...\", 5000, 3);
              TogglePlayerControllable(playerid,0);
                        SetTimer( \"haircuttime5\", 5000, false);
      }
   }
}
}
 
return 1;
}
public haircuttime0 (playerid);
public  haircuttime0 (playerid)
{
   if(IsPlayerAttachedObjectSlotUsed(playerid,3)) RemovePlayerAttachedObject(playerid,3);
SendClientMessage(playerid,COLOR_GREEN,\"(( Sikeres hajvágás! ))\");
JatekosInfo[playerid][Haj] = 0;
TogglePlayerControllable(playerid,1);
}
public haircuttime1 (playerid);
public  haircuttime1 (playerid)
{
if(IsPlayerAttachedObjectSlotUsed(playerid,3)) RemovePlayerAttachedObject(playerid,3);
                        SetPlayerAttachedObject( playerid, 3, 18640, 2, 0.081841, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                        SendClientMessage(playerid,COLOR_GREEN,\"(( Sikeres hajvágás! ))\");
                        JatekosInfo[playerid][Haj] = 1;
                        TogglePlayerControllable(playerid,1);
}
public haircuttime2 (playerid);
public  haircuttime2 (playerid)
{
                if(IsPlayerAttachedObjectSlotUsed(playerid,3)) RemovePlayerAttachedObject(playerid,3);
                        SetPlayerAttachedObject( playerid, 3, 18975, 2, 0.128191, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                SendClientMessage(playerid,COLOR_GREEN,\"(( Sikeres hajvágás! ))\");
                        JatekosInfo[playerid][Haj] = 2;
                        TogglePlayerControllable(playerid,1);
}
public haircuttime3 (playerid);
public  haircuttime3 (playerid)
{
                if(IsPlayerAttachedObjectSlotUsed(playerid,3)) RemovePlayerAttachedObject(playerid,3);
                        SetPlayerAttachedObject( playerid, 2, 19077, 2, 0.124588, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                SendClientMessage(playerid,COLOR_GREEN,\"(( Sikeres hajvágás! ))\");
                        JatekosInfo[playerid][Haj] = 3;
                        TogglePlayerControllable(playerid,1);
}
public haircuttime4 (playerid);
public  haircuttime4 (playerid)
{
            if(IsPlayerAttachedObjectSlotUsed(playerid,3)) RemovePlayerAttachedObject(playerid,3);
                        SetPlayerAttachedObject( playerid, 3, 19068, 2, 0.141113, 0.006911, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                SendClientMessage(playerid,COLOR_GREEN,\"(( Sikeres hajvágás! ))\");
                        JatekosInfo[playerid][Haj] = 4;
                        TogglePlayerControllable(playerid,1);
            }
public haircuttime5 (playerid);
public  haircuttime5 (playerid)
{
   if(IsPlayerAttachedObjectSlotUsed(playerid,3)) RemovePlayerAttachedObject(playerid,3);
                        SetPlayerAttachedObject( playerid, 3, 19274, 2, 0.099879, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
                SendClientMessage(playerid,COLOR_GREEN,\"(( Sikeres hajvágás! ))\");
                JatekosInfo[playerid][Haj] = 5;
                TogglePlayerControllable(playerid,1);
}
« Utoljára szerkesztve: 2016. május 13. - 11:40:48 írta anGeL »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Mitől gabajodik össze az id0 és id1?
« Válasz #4 Dátum: 2016. május 11. - 12:42:47 »
+1 Show voters
public  haircuttime0 (playerid)

 

SetTimer( \"haircuttime0\", 5000, false);

 
Az a probléma, hogy a függvényed vár egy paramétert, amit te NEM ADSZ MEG!
http://wiki.sa-mp.com/wiki/SetTimerEx
erre van szükséged
« Utoljára szerkesztve: 2016. május 13. - 11:41:03 írta anGeL »
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Mitől gabajodik össze az id0 és id1?
« Válasz #5 Dátum: 2016. május 11. - 23:52:04 »
0 Show voters
Nekem régebben ugyan ez volt a probléma és én ott rontottam el, hogy a ciklusokkal játszottam.. rossz érteket adtam meg az OnGameModeInit alatt és mikor egy játékos csatlakozott a szerverre akkor nem 0 -ás ID -val/vel kezdett hanem 100 -as meg ilyenektől xd. Ügyelj nagyon a ciklusokra és timerekre.. azok miatt lehet 100%.

Mitől gabajodik össze az id0 és id1?
« Válasz #6 Dátum: 2016. május 13. - 09:35:13 »
0 Show voters
Köszi szépen srácok, valóban a SetTimerEx-re volt szükség. :)

Nem elérhető anGeL

  • Adminisztrátor
  • 2158
    • Profil megtekintése
Mitől gabajodik össze az id0 és id1?
« Válasz #7 Dátum: 2016. május 13. - 11:41:32 »
0 Show voters
[gmod]Srácok legközelebb ne maradjon le a pawn code tag..
[/gmod]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal