Szerző Téma: DM Spawn  (Megtekintve 840 alkalommal)

Nem elérhető Vajzs

DM Spawn
« Dátum: 2013. április 24. - 20:52:09 »
0 Show voters
Helló csináltam egy dm teleportot..
 
    if(strcmp(cmdtext, \"/m4dm\") == 0 )
    {
       if(DM[playerid] == true) return SendClientMessage(playerid,0xFFFF00AA,\"DM zónában vagy! Elõször /exitdm\");
       ResetPlayerWeapons(playerid);
       GivePlayerWeapon(playerid,31,1000);
       SetPlayerArmour(playerid, 100);
   SetPlayerHealth(playerid, 100);
       SetPlayerPos(playerid,-2072.9172,-107.3010,35.3274);
       SendClientMessage(playerid, 0xFFFF00AA,\"Csatlakoztál a M4DM-hez! Kilépéshez: /exitdm\");
       DM[playerid] = true;
       new pName[30], string[128];
       GetPlayerName(playerid, pName, 30);
       format(string, 256, \"{0FFDD3}%s {8F698F}csatlakozott az {FF0606}M4DM-be! {0000FF}(/m4dm)!\", pName);
       SendClientMessageToAll(0xFFFFFFAA,string);
       return 1;
}

 
Azt hogy tudom megcsinálni, hogy amíg nem írja be, hogy /exitdm, addig vissza spawnolja a DM teleporthoz, vagyis: -2072.9172,-107.3010,35.3274 <-- Ide!
Elõre is köszi

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
DM Spawn
« Válasz #1 Dátum: 2013. április 24. - 20:54:38 »
0 Show voters

public OnPlayerSpawn( playerid )
{
if( DM[ playerid ] == true )
{
SetPlayerPos( playerid, -2072.9172,-107.3010,35.3274 );
SendClientMessage( playerid, -1, \"Mivel Death Mach pályában vagy ezért újra lettél spawnolva! Kilépésért: /exitdm\");
}
return 1;
}

DM Spawn
« Válasz #2 Dátum: 2013. április 24. - 20:56:36 »
0 Show voters
Ehhez dm zonat kell kèszíteni telefonról nem tudok linkelni de a leirasoknal  beirod a keresöbe  dm zona akkor az mindent  leír :D

Nem elérhető Vajzs

DM Spawn
« Válasz #3 Dátum: 2013. április 24. - 20:58:45 »
0 Show voters
Idézetet írta: ZyZu date=1366829678\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36524\" data-ipsquote-contentclass=\"forums_Topic


public OnPlayerSpawn( playerid )
{
if( DM[ playerid ] == true )
{
SetPlayerPos( playerid, -2072.9172,-107.3010,35.3274 );
SendClientMessage( playerid, -1, \"Mivel Death Mach pályában vagy ezért újra lettél spawnolva! Kilépésért: /exitdm\");
}
return 1;
}

 

26 Errors. O.o

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
DM Spawn
« Válasz #4 Dátum: 2013. április 24. - 21:01:35 »
0 Show voters
:o nem hiszem el.. le van zárva minden benne.. szóval lehet benne van 2x az OnPlayerSpawn függvény..  :hmmm:

Nem elérhető Vajzs

DM Spawn
« Válasz #5 Dátum: 2013. április 24. - 21:03:37 »
0 Show voters
Idézetet írta: ZyZu date=1366830095\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"36524\" data-ipsquote-contentclass=\"forums_Topic
:o nem hiszem el.. le van zárva minden benne.. szóval lehet benne van 2x az OnPlayerSpawn függvény..  :hmmm:
 
Azt láttam hogy kétszer van... töröltem és úgysem jó.

DM Spawn
« Válasz #6 Dátum: 2013. április 24. - 21:15:52 »
0 Show voters
#include a_samp
new DM;
public OnPlayerSpawn(playerid)
{
if(DM == 1)
{
   ResetPlayerWeapons(playerid);
          GivePlayerWeapon(playerid,31,1000);
          SetPlayerArmour(playerid, 100);
          SetPlayerHealth(playerid, 100);
          SetPlayerPos(playerid,-2072.9172,-107.3010,35.3274);
}
return 1;
}
public OnPlayerConnect(playerid)
{
DM=0; // Mikor belép nem lesz DM-ben
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/m4dm\") == 0 )
     {
       ResetPlayerWeapons(playerid);
       GivePlayerWeapon(playerid,31,1000);
       SetPlayerArmour(playerid, 100);
       SetPlayerHealth(playerid, 100);
       SetPlayerPos(playerid,-2072.9172,-107.3010,35.3274);
       SendClientMessage(playerid, 0xFFFF00AA,\"Csatlakoztál a M4DM-hez! Kilépéshez: /exitdm\");
       DM = 1;
       new pName[30], string[128];
       GetPlayerName(playerid, pName, 30);
       format(string, 256, \"{0FFDD3}%s {8F698F}csatlakozott az {FF0606}M4DM-be! {0000FF}(/m4dm)!\", pName);
       SendClientMessageToAll(0xFFFFFFAA,string);
       return 1;
}
if(strcmp(cmdtext, \"/sajt\") == 0)
{
    SendClientMessage(playerid, 0xFFFF00AA,\"Ettél egy sajtot!\");
    SetPlayerHealth(playerid, 100);
    return 1;
}
//Ha folytatólagosan írod a parancsokat, akkor az illetõ ha DM zónában van, akkor nem fogja engedni
//Hogy parancsot használjon.
if(strcmp(cmdtext,\"/exitdm\") == 0)
{
    if(DM >= 1)
{
    SetPlayerPos(playerid, 0,1,2);//Írd át arra a kordinátát, ahova akarod hogy kilépéskor kidobja.
    SendClientMessage(playerid,0xFFFFFFAA,\"Kiléptél a DM zónából\");
}
else
{
    SendClientMessage(playerid,0xFFFFFFAA,\"Nem vagy DM zónában!\");
}
return 1;
}
   
if(DM >=1) return SendClientMessage(playerid,0xFFFF00AA,\"DM zónában vagy! Elõször /exitdm\");
return 0;
}
/* Te ugye new bool: DM[MAX_PLAYERS]; Változót használtál. De én jobban szeretem ezt, new DM;
Mivel itt több értéket tudsz megadni.
Míg a bool nál 2 állítást tehetsz: \"True\" \"False\" azaz, IGAZ HAMIS, itt tehetsz akármennyit.
Mivel az újra spawnolás itt:
if(DM == 1)
{
   ResetPlayerWeapons(playerid);
          GivePlayerWeapon(playerid,31,1000);
          SetPlayerArmour(playerid, 100);
          SetPlayerHealth(playerid, 100);
          SetPlayerPos(playerid,-2072.9172,-107.3010,35.3274);
}
Az OnPlayerSpawn alatt, így néz ki, több DM zóna esetén lehet õket számozni ezzel a megoldással..
pl.:
if(strcmp(cmdtext, \"/dm2) == 0)
{
DM=2;
SetPlayerPos(playerid,x,y,z);
GivePlayerWeapon(playerid,24,1000);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid, 100);
return 1;
}
Akkor így vissza tudod újra spawnoláskor kérni ennek a cuccát is:
public OnPlayerSpawn(playerid)
{
if(DM == 1)
{
   ResetPlayerWeapons(playerid);
          GivePlayerWeapon(playerid,31,1000);
          SetPlayerArmour(playerid, 100);
          SetPlayerHealth(playerid, 100);
          SetPlayerPos(playerid,-2072.9172,-107.3010,35.3274);
}
if(DM == 2)
{
    SetPlayerPos(playerid,x,y,z);
GivePlayerWeapon(playerid,24,1000);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid, 100);
}
return 1;
}
*/

 

Dupla hozzászólás automatikusan összefûzve. ( 2013. április 24. - 21:17:20 )

Én a bool változót nem nagyon ismerem, de azt hiszem annak csak a \"False\" és a \"True\" értéket lehet adni nem?  ???

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
DM Spawn
« Válasz #7 Dátum: 2013. április 24. - 21:20:14 »
0 Show voters
Nem, mivel akkor az egész játékos benne van a DM -ben.. new DM[ MAX_PLAYERS ]; -el kell csinálni.. majd DM[ playerid ] = 1;

DM Spawn
« Válasz #8 Dátum: 2013. április 24. - 21:25:44 »
0 Show voters
Igaz..
Esteledik :D
Javítva:
 
#include a_samp
new DM[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
if(DM[playerid] == 1)
{
   ResetPlayerWeapons(playerid);
          GivePlayerWeapon(playerid,31,1000);
          SetPlayerArmour(playerid, 100);
          SetPlayerHealth(playerid, 100);
          SetPlayerPos(playerid,-2072.9172,-107.3010,35.3274);
}
return 1;
}
public OnPlayerConnect(playerid)
{
DM[playerid]=0;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/m4dm\") == 0 )
     {
       ResetPlayerWeapons(playerid);
       GivePlayerWeapon(playerid,31,1000);
       SetPlayerArmour(playerid, 100);
       SetPlayerHealth(playerid, 100);
       SetPlayerPos(playerid,-2072.9172,-107.3010,35.3274);
       SendClientMessage(playerid, 0xFFFF00AA,\"Csatlakoztál a M4DM-hez! Kilépéshez: /exitdm\");
       DM[playerid] = 1;
       new pName[30], string[128];
       GetPlayerName(playerid, pName, 30);
       format(string, 256, \"{0FFDD3}%s {8F698F}csatlakozott az {FF0606}M4DM-be! {0000FF}(/m4dm)!\", pName);
       SendClientMessageToAll(0xFFFFFFAA,string);
       return 1;
}
if(strcmp(cmdtext, \"/sajt\") == 0)
{
    SendClientMessage(playerid, 0xFFFF00AA,\"Ettél egy sajtot!\");
    SetPlayerHealth(playerid, 100);
    return 1;
}
//Ha folytatólagosan írod a parancsokat, akkor az illetõ ha DM zónában van, akkor nem fogja engedni
//Hogy parancsot használjon.
if(strcmp(cmdtext,\"/exitdm\") == 0)
{
    if(DM[playerid] >= 1)
{
    SetPlayerPos(playerid, 0,1,2);//Írd át arra a kordinátát, ahova akarod hogy kilépéskor kidobja.
    SendClientMessage(playerid,0xFFFFFFAA,\"Kiléptél a DM zónából\");
}
else
{
    SendClientMessage(playerid,0xFFFFFFAA,\"Nem vagy DM zónában!\");
}
return 1;
}
   
if(DM[playerid] >=1) return SendClientMessage(playerid,0xFFFF00AA,\"DM zónában vagy! Elõször /exitdm\");
return 0;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal