Jump to content
  • 0

DM


Deejaybwg

Question

Cum fac de exemplu, fac o comanda /minigun, si cand ma duc acolo, daca vreau sa ma teleportez ( /goto, /sf, /lv, etc )  sau daca vreau sa ies din acea zona, sa nu pot iesi fara /exit ? Sa pot iesi doar cu comanda /exit si cand dau /exit sa ii scoata armele jucatorului si sa il spawneze ?

P.S: Sa nu pot iesi de la /minigun fara sa dau /exit. ( adica zona DM )

www.youtube.com/thebwgg

Link to comment
Share on other sites

23 answers to this question

Recommended Posts

1.Pentru inceput creezi o variabile sa spunem

[pawn]

new IsPlayerInDeathMatch[ MAX_PLAYERS ];

[/pawn]

dupa aceea mergi la comanda /minigun sau la care vrei sa o adaugi

si pui:

[pawn]

IsPlayerInDeathMatch[ playerid ] = 1;

[/pawn]

dupa accea mergi la OnPlayerCommandText si pui

[pawn]

if ( IsPlayerInDeathMatch[ playerid ] == 1 ) return SendClientMessage( playerid, culoare, "You can not use commands in DeathMatch! Type /exit to leave the DM!" );

[/pawn]

dupa aceea faci comanda care va scoate playeru din DM:

[pawn]

if ( strcmp( cmdtext, "/exit", true ) )

{

    if ( IsPlayerInDeathMatch[ playerid ] == 0 ) return SendClientMesage( playerid, culoare, "You are not in a DM!" );

   

    SpawnPlayer( playerid );

    IsPlayerInDeathMatch[ playerid ] = 0;

    ResetPlayerWeapons( playerid );

    SendClientMessage( playerid, culoare, "You leave the DeathMatch!" );

    return 1;

}

[/pawn]

si am terminat ;)

EDIT: Am uitat sa spun ca trebuie pusa si la OnPlayerConnect asta:

[pawn]

IsPlayerInDeathMatch[ playerid ] = 0;

[/pawn]

TREBUIE sa pui asta la OnPlayerConnect pentru ca daca un player sa spunem cu id-ul 1 iese afara din server cand este intr-un DM, si intra alt player cu id-ul 1 in va spune ca nu poate folosi comenzi pentru ca este in dm dar defat playerul cu id-ul 1 a fost...

Fara reclama in semnatura!

Link to comment
Share on other sites

Te-as ajuta dar nu am inteles nimic din ce ai spus,i-a citeste si tu si vezi daca intelegi ceva :)

Cred ca vrei sa spui,ca vrei sa faci o comanda sa il puna pe acel player intr-o zona si sa ii dea minigun ,iar cand vrea sa iasa ,sa dea /exit si sa ii scoata minigun-ul nu ?

[pawn]

if(strcmp(cmd, "/minigun", true) == 0)

{

      SetPlayerPos(playerid,x,y,z);

      GivePlayerWeapon(playerid,id-ul armei,500);

return 1;

}

[/pawn]

Comanda /exit

[pawn]

if(strcmp(cmd, "/exit", true) == 0)

{

      SetPlayerPos(playerid,x,y,z);

}

[/pawn]

:)

Samp.OnlyPro.ro - RolePlay - Join Us !

Link to comment
Share on other sites

Am pus cum a zis xxSPEEDYxx, si imi da un warning:

C:\Users\Bwggu\Desktop\RSG1.pwn(3467) : warning 225: unreachable code

[pawn]3467 if (strcmp("/stunts",cmdtext,true,10)== 0)[/pawn]

si dialog-ul intreg:

[pawn]if (strcmp("/stunts",cmdtext,true,10)== 0)

  {

      ShowPlayerDialog(playerid,Stunts,DIALOG_STYLE_LIST,"{FFFFFF}Stunts","{FFFFFF}/lsa - {FF9900}Los Santos Airport\n{FFFFFF}lva - {FF9900}Las Venturas Airport \n{FFFFFF}/sfa - {FF9900}San Fierro Airport\n{FFFFFF}/stunt - {FF9900}Small Stunt\n{FFFFFF}/nrgs - {FF9900}Nrg Stunt\n{FFFFFF}/nrgs2 - {FF9900}Nrg Stunt2\n{FFFFFF}/skate - {FF9900}Bmx & Nrg","OK","Cancel");

      return 1;

  }[/pawn]

www.youtube.com/thebwgg

Link to comment
Share on other sites

Am facut inca odata tot de la inceput !

Am dat compile si imi da asa:

C:\Users\Bwggu\Desktop\RSG1.pwn(3466) : warning 225: unreachable code

C:\Users\Bwggu\Desktop\RSG1.pwn(3509) : error 029: invalid expression, assumed zero

[pawn]3466    if (strcmp("/stunts",cmdtext,true,10)== 0)

3509    else[/pawn]

www.youtube.com/thebwgg

Link to comment
Share on other sites

Cum fac de exemplu, fac o comanda /minigun, si cand ma duc acolo, daca vreau sa ma teleportez ( /goto, /sf, /lv, etc )  sau daca vreau sa ies din acea zona, sa nu pot iesi fara /exit ? Sa pot iesi doar cu comanda /exit si cand dau /exit sa ii scoata armele jucatorului si sa il spawneze ?

P.S: Sa nu pot iesi de la /minigun fara sa dau /exit. ( adica zona DM )

[pawn]new bool: Minigun[ MAX_PLAYERS ];[/pawn]

[pawn]if( !strcmp( cmdtext, "/minigun", true ) )

{

      if( Minigun[ playerid ] ) return SendClientMessage( playerid, -1, "You are already there." );

      Minigun[ playerid ] = 1;

      // stuff here

      return 1;

}

if( !strcmp( cmdtext, "/exit", true ) )

{

      if( ! Minigun[ playerid ] ) return SendClientMessage( playerid, -1, "You are not into the minigun area." );

      Minigun[ playerid ] = 0;

      ResetPlayerWeapons( playerid );

      SpawnPlayer( playerid );

      // stuff here

      return 1;

}[/pawn]

[pawn]Minigun[ playerid ] = 0; // OnPlayerConnect[/pawn]

Link to comment
Share on other sites

Am facut cum ai zis tu Razvann si dupa compile imi da asa:

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(2966) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3512) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3516) : error 029: invalid expression, assumed zero

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3527) : warning 213: tag mismatch

Liniile:

[pawn]2966 Minigun[ playerid ] = 0;[/pawn] (la OnPlayerConnect)

[pawn]3512      Minigun[ playerid ] = 1;

3516    else

3527      Minigun[ playerid ] = 0;[/pawn]

Si astea sunt cele 2 comenzi (/minigun, /exit):

Minigun:

[pawn]if( !strcmp( cmdtext, "/minigun", true ) )

{

      if( Minigun[ playerid ] ) return SendClientMessage( playerid, -1, "You are already there." );

      Minigun[ playerid ] = 1;

    {

        GivePlayerWeapon(playerid,38,8888);

}

    else

    {

        SetPlayerPos(playerid,21,1142.8766,1346.5623);

    }

    GivePlayerWeapon(playerid,38,8888);

    return 1;

}[/pawn]

/exit:

[pawn]if( !strcmp( cmdtext, "/exit", true ) )

{

      if( ! Minigun[ playerid ] ) return SendClientMessage( playerid, -1, "You are not into the minigun area." );

      Minigun[ playerid ] = 0;

      ResetPlayerWeapons( playerid );

      SpawnPlayer( playerid );

      SendClientMessage( playerid, 0xAA3333AA, "You leave the DeathMatch!" );

    return 1;

}[/pawn]

www.youtube.com/thebwgg

Link to comment
Share on other sites

[pawn]

if( !strcmp( cmdtext, "/minigun", true ) )

{

      if( Minigun[ playerid ] ) return SendClientMessage( playerid, -1, "You are already there." );

      Minigun[ playerid ] = 1;

      GivePlayerWeapon(playerid,38,8888);

      SetPlayerPos(playerid,21,1142.8766,1346.5623);

      return 1;

}[/pawn]

picard2.png

Stii macar sa iei coordonatele calumea? :|

Link to comment
Share on other sites

Am schimbat coordonatele ca nu erau bune..

EDIT: eu vreau sa rezolv warn-urile si errorile...

ERRORS & WARNS:

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(2968) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3515) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3519) : error 029: invalid expression, assumed zero

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3530) : warning 213: tag mismatch

Nu stiu sa le rezolv..

www.youtube.com/thebwgg

Link to comment
Share on other sites

Am schimbat coordonatele ca nu erau bune..

EDIT: eu vreau sa rezolv warn-urile si errorile...

ERRORS & WARNS:

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(2968) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3515) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3519) : error 029: invalid expression, assumed zero

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3530) : warning 213: tag mismatch

Nu stiu sa le rezolv..

Scuze ca-ti spun, dar esti prost de dai in gropi, DA-NE LINIILE RESPECTIVE SI CATEVA DIN JURUL LOR, MARCAND SI NUMARUL LINIILOR, exemplu:

[pawn]if( dialogid == ID_DIALOG ) //linia 248

{ //linia 249

    if( response )f //linia 250, eroare, de la 'f'

    {  //linia 251

...etc

}[/pawn]

Link to comment
Share on other sites

De ce sunt prost ?:| Ca am postat mai sus LINIILE ?! :|

stuntman[]! link=topic=14228.msg88454#msg88454 date=1312985788]

DA-NE LINIILE RESPECTIVE SI CATEVA DIN JURUL LOR, MARCAND SI NUMARUL LINIILOR, exemplu:

[pawn]if( dialogid == ID_DIALOG ) //linia 248

{ //linia 249

    if( response )f //linia 250, eroare, de la 'f'

    {  //linia 251

...etc

}[/pawn]

Liniile care le-ai postat n-au nici o problema.

Doar /minigun, incearc-o p'asta:

[pawn]if( strcmp( cmdtext, "/minigun", true ) == 0 )

{

if( Minigun[ playerid ] ) return SendClientMessage( playerid, -1, "You are already there." );

Minigun[ playerid ] = 1;

        GivePlayerWeapon(playerid,38,8888);

SetPlayerPos(playerid,21,1142.8766,1346.5623);

GivePlayerWeapon(playerid,38,8888);

return 1;

}[/pawn]

Poate ca de la asta era.

Link to comment
Share on other sites

Acum imi da 3 warns:

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(2968) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3516) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3526) : warning 213: tag mismatch

[pawn]2968 Minigun[ playerid ] = 0;[/pawn] la OnPlayerConnect

[pawn]3516 Minigun[ playerid ] = 1;[/pawn] de la comanda /minigun

[pawn]3526      Minigun[ playerid ] = 0;[/pawn] la comanda /exit

www.youtube.com/thebwgg

Link to comment
Share on other sites

Acum imi da 3 warns:

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(2968) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3516) : warning 213: tag mismatch

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3526) : warning 213: tag mismatch

[pawn]2968 Minigun[ playerid ] = 0;[/pawn] la OnPlayerConnect

[pawn]3516 Minigun[ playerid ] = 1;[/pawn] de la comanda /minigun

[pawn]3526      Minigun[ playerid ] = 0;[/pawn] la comanda /exit

[pawn]new bool: Minigun[ MAX_PLAYERS ];[/pawn]

schimba cu

[pawn]new Minigun[ MAX_PLAYERS ];[/pawn]

Link to comment
Share on other sites

Acum totul e ok. Dar vreau ca dupa ce dau /minigun, sa nu mearga si alte comenzi, ca de exemplu: /sf, /goto, /nrg, etc... Sa nu mearga nicio comanda daca esti la /minigun. Doar /exit. Ca am testat acum si dupa ce dau /minigun, pot sa dau /sf, /goto, etc..

www.youtube.com/thebwgg

Link to comment
Share on other sites

adaugi la fiecare

[pawn]

if( Minigun[ playerid ] ) return SendClientMessage( playerid, -1, "You can't enter there." );

[/pawn]

Ia cam mult sa puna la fiecare comanda aia.


http://www.sa-mp.ro/forum/index.php/topic,13195.0.html

Cred ca trebuia sa ti-l dau de la inceput :))


Baga asta sus la OnPlayerCommandText ( OnPlayerCommandPerformed daca ai ZCMD )

if( Minigun[ playerid ] == 1 && strcmp(cmdtext, "/exit", true) != 0 )
	return SendClientMessage( playerid, 0xFF0000FF, "EROARE: {FFFFFF}Nu poti iesi din aceasta zona, foloseste /exit!" );

Link to comment
Share on other sites

Acum imi da un warn:

C:\Users\Bwggu\Desktop\RSG4564212RO.pwn(3479) : warning 225: unreachable code

Postez ce e la inceput la OnPlayerCommandText:

[pawn]public OnPlayerCommandText(playerid, cmdtext[])

{

  // Create variables

  new cmd[256];

  new giveplayerid, moneys;

  new string [828];

  new idx;

  new tmp[256];

  new playermoney;

  new sendername[MAX_PLAYER_NAME];

  new giveplayer[MAX_PLAYER_NAME];

  new gMessage[256];

  new pName[MAX_PLAYER_NAME+1];

  new Message[256];

  new iName[MAX_PLAYER_NAME+1];

  cmd = strtok(cmdtext, idx);

  PlayerCmdFrq[playerid]++;

  if(PlayerCmdFrq[playerid]>MAX_COMMAND_FREQUENCY)

  if( Minigun[ playerid ] == 1 && strcmp(cmdtext, "/exit", true) != 0 )

return SendClientMessage( playerid, 0xFF0000FF, "EROARE: {FFFFFF}Nu poti iesi din aceasta zona, foloseste /exit!" );

 

{[/pawn]

Si linia 3479:

[pawn]3479  if (strcmp("/stunts",cmdtext,true,10)== 0)[/pawn]

Dar de ce imi da warn tocmai aici ? Nu are nicio legatura..

EDIT: Acum nu mai merge nicio comanda, chiar daca nu dau /minigun..

www.youtube.com/thebwgg

Link to comment
Share on other sites

Care paranteza man ?!

[pawn]if( Minigun[ playerid ] == 1 && strcmp(cmdtext, "/exit", true) != 0 )

return SendClientMessage( playerid, 0xFF0000FF, "EROARE: {FFFFFF}Nu poti iesi din aceasta zona, foloseste /exit!" );

 

{ //asta ?[/pawn]

EDIT: acum fac dupa tutorialul tau.

www.youtube.com/thebwgg

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.