Szerző Téma: Dialogban választható csapat dm  (Megtekintve 951 alkalommal)

Dialogban választható csapat dm
« Dátum: 2012. Augusztus 18. - 11:02:00 »
0 Show voters
Szükségem lenne egy dm scripre.
A parancs /dm legyen utána jelenjen meg egy dialog amiben kilehet választani, hogy melyik csapatba legyünk. Rendörök és bünözök.
Ha egy rendõr hal meg akkor a rendõrségre spawnoljon újra, ha meg a bünözõ akkor meg a gettóba.
/exit dm-el lehessen kilépni a dm-bõl és kilépést követõen állítsa vissza a skint meg mindent.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Dialogban választható csapat dm
« Válasz #1 Dátum: 2012. Augusztus 18. - 12:28:20 »
0 Show voters
Tessék a többit remélem meg tudod csinálni..  ;)
Mod elejére:
 

#define DIALOG_CSAPAT 1

 
Parancsa:
 

CMD:dm(playerid, params[])
{
ShowPlayerDialog(playerid, DIALOG_CSAPAT, DIALOG_STYLE_LIST, \"Válasz egy Csapatot\", \"Rendõr\\nBünõzõ\", \"Választ\", \"Mégsem\");
return 1;
}

 
OnDialogResponse alá!
 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_CSAPAT)
    {
        if(response)
        {
            if(listitem == 0) //Rendõr Csapata
            {
                SetPlayerPos(playerid, POZICÍÓ);
            }
            if(listitem == 1) //Bünõzõ Csapat
            {
               SetPlayerPos(playerid, POZÍCIÓ);
            }
         }
     }
     return 1;
}
« Utoljára szerkesztve: 2012. Augusztus 20. - 17:57:10 írta ZyZu »

Dialogban választható csapat dm
« Válasz #2 Dátum: 2012. Augusztus 18. - 13:12:05 »
0 Show voters
Pont a légyeget hagyják le mindig.
A dialogust meg az egyszerû dm-et megtudom csinálni.
Azt kéne megcsinál, hogy halál utána a rendõrt rakja vissza a rendõrállmásra, és külön dm zónában legyen az egész ahova bekell lépni (/dm) és kikell lépni.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Dialogban választható csapat dm
« Válasz #3 Dátum: 2012. Augusztus 18. - 13:46:20 »
0 Show voters
Létre kell hozni egy dm változót majd az OnPlayerSpawn alá írni a if(dm[playerid] = true) majd tegye vissza.

Dialogban választható csapat dm
« Válasz #4 Dátum: 2012. Augusztus 18. - 14:03:15 »
0 Show voters
És azt, hogy?

Dupla hozzászólás automatikusan összefûzve. ( 2012. Augusztus 19. - 13:16:23 )

Több segítség kell, hogyan tovább?
« Utoljára szerkesztve: 2012. Augusztus 19. - 13:16:23 írta aprila44 »

Dialogban választható csapat dm
« Válasz #5 Dátum: 2012. Augusztus 20. - 14:50:17 »
0 Show voters
Valaki segít rendesen megcsinálni?

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Dialogban választható csapat dm
« Válasz #6 Dátum: 2012. Augusztus 20. - 18:21:11 »
0 Show voters
Tessék majd tölsd ki a többi cuccokat, fegyver adást és a pozíciót.
Mód Elejére ami szükséges:
 

#include <zcmd> //Include
new IsPlayerInDM[MAX_PLAYERS]; //Egy váltózó létrehozása.
new IsPlayerInDMRendor[MAX_PLAYERS]; //Két váltózó kell, hogy e keveredjenek össze a csapatok.
#define DIALOG_CSAPAT 1 //Ez a dialog ID ha, hogy ne ütközzön más dialogal össze.

 
Belépési Parancs:
 

CMD:dm(playerid, params[])
{
if(IsPlayerInDM[playerid] == 1) return SendClientMessage(playerid, 0x00FF00, \"Már DM -ben vagy nem választhatól megint!\"); //Ha a Játékos már DM -ben van akkor ki irja neki a szöveget.
if(IsPlayerInDMRendor[playerid] == 1) return SendClientMessage(playerid, 0x00FF00, \"Már DM -ben vagy nem választhatól megint!\");
ShowPlayerDialog(playerid, DIALOG_CSAPAT, DIALOG_STYLE_LIST, \"Válasz egy Csapatot\", \"Rendõr\\nBünõzõ\", \"Választ\", \"Mégsem\"); //A dialog kijelenése és a választása \"Rendõr\" majd \"Bünõzõ\"
return 1;
}

 
OnDialogResponse alá!
 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_CSAPAT) //A dialog neve amit létrehoztunk a belépésnél.
    {
        if(response)
        {
            if(listitem == 0) //Rendõr Csapata
            {
                SetPlayerPos(playerid, POZICÍÓ); //IDE A POZíCÍTÓ AHOVÁ TEGYE A JÁTÉKOST A RENDÕRÕKNEK!
                IsPlayerInDMRendor[playerid] == 1;
            }
            if(listitem == 1) //Bünõzõ Csapat
            {
               SetPlayerPos(playerid, POZÍCIÓ); //IDE AZ A POZíCÍÓ AHOVÁ TEGYE A BÜNÕZÕKET!
               IsPlayerInDM[playerid] == 1;
            }
         }
     }
     return 1;
}

 
OnPlayerConnect rész!
 

public OnPlayerConnect(playerid) //Csatlakozás a Szerverrhez!
{
IsPlayerInDM[playerid] = 0; //Ha egy játékos ha csatlakozik ne tegye be a DM -be így le 0 -zuk.
IsPlayerInDMRendor[playerid] == 0;
return 1;
}

 
OnPlayerDiconnect alá!
 

public OnPlayerDisconnect(playerid, reason) //Lelépés a szerverrõl.
{
IsPlayerInDM[playerid] = 0; //Ha egy játékos lemegyen a szerverrõl akkor kilép a dm zónából is.
IsPlayerInDMRendor[playerid] = 0;
return 1;
}

 
OnPlayerSpawn alá!
 

public OnPlayerSpawn(playerid) //Ha a játékos meghall akkor lespawnolja.
{
if(IsPlayerInDM[playerid] == 1) //Ha megölik a játékos le ellenõrzi, hogy nincs -e DM -ben ha DM -ben van akkor vissza teszi.
{
   SetPlayerPos(playerid, DM SPAWNOLÁSA); //HOVA TEGYE
           SendClientMessage(playerid,-1,\"{FF0606}Meghaltál ezért vissza lettél rakva a Dead Matchba! Killépéshez /exitdm!\");
        SetPlayerHealth(playerid, 100); //adunk neki 100 életerõt.
   SetPlayerArmour(playerid,0); //levesszûk a páncélt de ha szeretnél adni neki akkor tedd 100 a 0 -t!
   return 1;
     }
if(IsPlayerInDMRendor[playerid] == 1) //Ha megölik a játékos le ellenõrzi, hogy nincs -e DM -ben ha DM -ben van akkor vissza teszi.
{
   SetPlayerPos(playerid, DM SPAWNOLÁSA); //HOVA TEGYE
           SendClientMessage(playerid,-1,\"{FF0606}Meghaltál ezért vissza lettél rakva a Dead Matchba! Killépéshez /exitdm!\");
        SetPlayerHealth(playerid, 100); //adunk neki 100 életerõt.
   SetPlayerArmour(playerid,0); //levesszûk a páncélt de ha szeretnél adni neki akkor tedd 100 a 0 -t!
   return 1;
     }
   return 1;
}

 
Kilépés a DM -bõl.
 

CMD:exitdm(playerid, params[]) //A killépési parancs!
{
     new string[600],pname[MAX_PLAYER_NAME];
     GetPlayerName(playerid, pname, sizeof(pname));
     if(IsPlayerInDM[playerid] == 0) return SendClientMessage(playerid, 0x00FF00, \"Nem vagy DM -ben!\"); //Ha a játékos nincs DM -ben akkor elküldi ezt az üzenetet.
     if(IsPlayerInDMRendor[playerid] == 0) return SendClientMessage(playerid, 0x00FF00, \"Nem vagy DM -ben!\"); //Ha a játékos nincs DM -ben akkor elküldi ezt az üzenetet.
     IsPlayerInDMRendor[playerid] == 0)
     IsPlayerInDM[playerid] = 0; //A játékost killéptetjük a DM zonából vagyis már nincs benne.
     format(string, sizeof(string), \"Játékos %s killépet a DM Zónábol! (/exitdm)\", pname); //Elküldi mindenkinek az üzenetet.
     SendClientMessageToAll(0x00FF00, string);
     SendClientMessage(playerid, 0x00FF00, \"Sikeresen killéptél a DM Zónábol!\"); //Elküldi a játékosnak, hogy killépet a DM -zónából.
     SetPlayerPos(playerid, SPAWNOLÁSA);
     return 1;
}

 
A DM -ben a játékosok ne használjanak parancsokat.!
 

if(IsPlayerInDM[playerid] == 1) return SendClientMessage(playerid, 0x00FF00, \"Vigyázz DM -ben vagy így nem használhatól más parancsot!\");

 


if(IsPlayerInDMRendor[playerid] == 1) return SendClientMessage(playerid, 0x00FF00, \"Vigyázz DM -ben vagy így nem használhatól más parancsot!\");
« Utoljára szerkesztve: 2012. Augusztus 20. - 18:46:09 írta ZyZu »

Dialogban választható csapat dm
« Válasz #7 Dátum: 2012. Augusztus 20. - 19:34:14 »
0 Show voters
Elég sok hiba van benne, de a legtöbb hibát a kezdõiség okozza, jó dolog hogy próbálsz segíteni, de elõtte többször is nézd át mit adsz ki a kezeid közül.
Nem kell 2 változó hisz nem csak  1 és 0 értéket lehet adni, a másik hogy ha valaminek értéket adsz nem két egyenlõség jellel adjuk, elég neki 1 is.

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Dialogban választható csapat dm
« Válasz #8 Dátum: 2012. Augusztus 20. - 19:45:22 »
0 Show voters
Gondolkoz egy kicsit, ha van 2 cspat akkor 2 válatózó kell mert 2 csapatod van és mind2 csapat más helyre spawnol ha meghall. Én szerintem jó  :confused:

Dialogban választható csapat dm
« Válasz #9 Dátum: 2012. Augusztus 20. - 20:40:46 »
0 Show voters
PlayerTeam[ playerid ] = 1; // Ha rendõr
PlayerTeam[ playerid ] = 2; // Ha bûnözõ
PlayerTeam[ playerid ] = 0; // Ha semleges
Vágod?

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Dialogban választható csapat dm
« Válasz #10 Dátum: 2012. Augusztus 20. - 21:52:44 »
0 Show voters
Vágom, de szerintem így is jó  ;)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal