Szerző Téma: Dm rendszer hiba  (Megtekintve 2059 alkalommal)

Dm rendszer hiba
« Dátum: 2012. Október 22. - 16:04:22 »
0
Üdv!

Írtam egy Dm rendszert amiben nincs hiba.


De viszont a /tele paranccsal ütközik.


Tehát ha bent vagy Dm-ben akkor, ha beírom /ls nem engedi használni, de ha /telébõl lépek az /ls re akkor elteleportál.


A Dmen belül semmi parancsot nem enged használni, de a Box-ban van azt mindent behoz (MSG, LIST).


Annyi kellene, h azokat se engedje használni.


Itt a Dm kódja:

 
   if (strcmp(\"/sawndm\", cmdtext, true) == 0)
{
dmid[playerid] = 0;
    SpawnPlayer(playerid);
SendClientMessage(playerid,COLOR_ULTRARED,\"Csatlakoztál a Sawn DM Zónához! [ Kilépés /exitdm ]\");
GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), \"%s Belépett a Sawn DM zónába! [ Belépés: /sawndm ]\", sendername);
        SendClientMessageToAll( 0xDDDD2357, string);
return 1;
}

 

Dm rendszer hiba
« Válasz #1 Dátum: 2012. Október 22. - 16:09:24 »
0
Gondolom a /ls nél van valami hasonló:
 

if(dmid[playerid] == 0)

 
A /tele-hez is rakd be ezt az ellenõrzést.

Dm rendszer hiba
« Válasz #2 Dátum: 2012. Október 22. - 16:17:00 »
0
Nem jó. A lényeg, h a Dm-ben a Boxokat ne lehessen megnyitni.

Ezt a kettõ van a szerver módban:


DIALOG_STYLE_MSGBOX


DIALOG_STYLE_LIST



Dm rendszer hiba
« Válasz #3 Dátum: 2012. Október 22. - 16:49:36 »
0
Másold be a Dialog részt, mert így nehéz hogy nem tudom hogyan épül fel a dialogod.

Dm rendszer hiba
« Válasz #4 Dátum: 2012. Október 22. - 17:01:13 »
0
Ezzel az a probléma, h nem csak egy dialog van :D

Dm rendszer hiba
« Válasz #5 Dátum: 2012. Október 22. - 17:03:57 »
0
És?  ;D A /tele dialogjának a részét keresd ki és másold be.  :)

Dm rendszer hiba
« Válasz #6 Dátum: 2012. Október 22. - 17:14:33 »
0
      if (strcmp(\"/tele\", cmdtext, true, 5) == 0)
{
ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,\"Teleportok\",\"Általános\\nStunt\\nDrift\\nDM\",\"Tovább\",\"Mégse\");
return 1;
}

 
OnDialogResponse:
 
      if(dialogid == DIALOG_TELEPORT && response)
    {
switch(listitem)
{
    case 0: ShowPlayerDialog(playerid,DIALOG_ALTALANOS,DIALOG_STYLE_LIST,\"Teleportok / Általános\",\"/centrum\\n/ls\\n/sf\\n/lv\\n/lsair\\n/sfair\\n/lvair\",\"Tele\",\"Mégse\");
   case 1: ShowPlayerDialog(playerid,DIALOG_STUNT,DIALOG_STYLE_LIST,\"Teleportok / Stunt\",\"/Stunt1\\n/---\\n/---\",\"Tele\",\"Mégse\");
   case 2: ShowPlayerDialog(playerid,DIALOG_DRIFT,DIALOG_STYLE_LIST,\"Teleportok / Drift\",\"/drift1\\n/---\\n/---\",\"Tele\",\"Mégse\");
            case 3: ShowPlayerDialog(playerid,DIALOG_DM,DIALOG_STYLE_LIST,\"Teleportok / DM\",\"/sawndm\\n/---\\n/---\",\"Tele\",\"Mégse\");
}
    }
   
      if(dialogid == DIALOG_ALTALANOS && response)
    {
switch(listitem)
{
    case 0:
    {
         SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál a központra\");
         SetPlayerPos(playerid,1480.8386,-1749.2299,15.4453);
         PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 1:
   {
         SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál Los Santosba\");
         SetPlayerPos(playerid,2782.1499,-2018.9701,13.5547);
         PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 2:
   {
         SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál San Fierroba\");
         SetPlayerPos(playerid,-1917.4771,287.2513,41.0469);
         PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 3:
   {
         SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál Las Venturasba\");
         SetPlayerPos(playerid,2085.9563,1337.6221,10.6204);
         PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 4:
   {
         SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál a Los Santosi Airportra\");
         SetPlayerPos(playerid,2111.9739,-2430.2219,13.1099);
         PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 5:
   {
         SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál a San Fierro(i) Airportra\");
         SetPlayerPos(playerid,-1234.6194,43.4471,14.1356);
         PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 6:
   {
         SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál a Las Venturas(i) Airportra\");
         SetPlayerPos(playerid,1412.2557,1748.7574,10.8203);
         PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
}
    }
    if(dialogid == DIALOG_STUNT && response)
    {
switch(listitem)
{
    case 0:
    {
   SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál Stunt1re\");
   SetPlayerPos(playerid,1558.3611,-1354.5264,329.4609);
   PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 1:
   {
      SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál \");
      SetPlayerPos(playerid,958.3783,1343.1572,15.3746); // átírni
      PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 2:
   {
      SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál \");
      SetPlayerPos(playerid,958.3783,1343.1572,15.3746); // átírni
      PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
}
    }
      if(dialogid == DIALOG_DRIFT && response)
    {
switch(listitem)
{
    case 0:
    {
      SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál \");
      SetPlayerPos(playerid,958.3783,1343.1572,15.3746); // átírni
      PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 1:
   {
      SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál \");
      SetPlayerPos(playerid,958.3783,1343.1572,15.3746); // átírni
      PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 2:
   {
      SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál \");
      SetPlayerPos(playerid,958.3783,1343.1572,15.3746); // átírni
      PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
}
    }
      if(dialogid == DIALOG_DM && response)
    {
switch(listitem)
{
    case 0:
    {
      dmid[playerid] = 0; // Azonosítószám megadása FONTOS
      SpawnPlayer(playerid); // Játékos lespawnolása
      SendClientMessage(playerid,COLOR_ULTRARED,\"Csatlakoztál a Sawn DM Zónához! [ Kilépés /exitdm ]\");
      GetPlayerName(playerid, sendername, sizeof(sendername));
      format(string, sizeof(string), \"%s Belépett a Sawn DM zónába! [ Belépés: /sawndm ]\", sendername);
      SendClientMessageToAll( 0xDDDD2357, string);
   }
   case 1:
   {
      SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál \");
      SetPlayerPos(playerid,958.3783,1343.1572,15.3746); // átírni
      PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
   case 2:
   {
      SendClientMessage(playerid,COLOR_YELLOW,\"Elteleportáltál \");
      SetPlayerPos(playerid,958.3783,1343.1572,15.3746); // átírni
      PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
   }
}
    }

Dm rendszer hiba
« Válasz #7 Dátum: 2012. Október 22. - 17:26:53 »
0
Ebbe hol van MSGBOX?  ;D

Dm rendszer hiba
« Válasz #8 Dátum: 2012. Október 22. - 17:32:13 »
0
Azért mondtam, h nem csak egy fajta dialog van.. :d
A dmen belül csak azokat a parancsokat lehet használni, amiben dialog van.
Most csak annyi kell, h azokat se lehessen. :D
« Utoljára szerkesztve: 2012. Október 22. - 17:35:53 írta ραυlч. »

Dm rendszer hiba
« Válasz #9 Dátum: 2012. Október 22. - 17:36:52 »
0
Mivel azt szeretnéd hogy az MSGBOX-os dialogot ne lehessen DM be használni azt másold be, azt hittem hogy a tele dialogjában van MSGBOX.  ???

Dm rendszer hiba
« Válasz #10 Dátum: 2012. Október 22. - 17:45:19 »
0
Én írom rosszul szerintem :D
Na, akkor még egyszer :D
A Dmen belûl csak azokat a parancsokat lehet használni, amiben ilyen dialogok vannak:
DIALOG_STYLE_LIST
DIALOG_STYLE_MSGBOX
Tehát ugye, ha beírom /tele vagy a többi parancsot amiben DIALOG_STYLE_LIST van akkor behozza.
Ugyan így van a /cmds nél is, ha beírom a többi parancsot amiben DIALOG_STYLE_MSGBOX van akkor behozza.
Annyi kell, h ne tudja behozni.
Többi parancs amiben nem szerepel ez a két dialog normálisan mûködik, Dmen belül nem lehet használni.
Igen sok olyan parancs van amiben szerepelnek a dialogok. :D
« Utoljára szerkesztve: 2012. Október 22. - 17:47:06 írta ραυlч. »

Dm rendszer hiba
« Válasz #11 Dátum: 2012. Október 22. - 17:56:06 »
0
Elolvastam jó párszor de akkor se tiszta mit szeretnél..

Erre gondolsz?

 

if(strcmp(\"/tele\", cmdtext, true, 5) == 0)
{
if(dmid[playerid] == 1) // Ha nem vagy DM-ben akkor mûködik a /tele parancs
{
ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,\"Teleportok\",\"Általános\\nStunt\\nDrift\\nDM\",\"Tovább\",\"Mégse\");
} else { // Ha DM ben vagy akkor nem
SendClientMessage(playerid, -1, \"DM ben nem mûködik!\");
}
return 1;
}

 


Ha MSGBOX os parancsnál akarod ezt akkor ahhoz a parancshoz rakod be.  :)

Dm rendszer hiba
« Válasz #12 Dátum: 2012. Október 22. - 18:03:51 »
0
Igen erre csak erroros :| :D

Dm rendszer hiba
« Válasz #13 Dátum: 2012. Október 22. - 18:22:40 »
0
Mik azok?  ;D

Nem elérhető shadee

  • 1073
    • Profil megtekintése
Dm rendszer hiba
« Válasz #14 Dátum: 2012. Október 22. - 18:50:53 »
0
zárás hiba a végéhez return 1 elé }

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal