їComo seteo un valor para todos?
#1

Hola a todos tengo un menъ para elegir mapas en mi servidor, sin embargo quisiera que al poner un Admin un comando Ejemplo: /setmansion les cambie a todos los jugadores, aquн un cуdigo del menъ para elegir mapas

pawn Код:
if(dialogid==4&&response) {
switch(listitem){
case 0: {
if(InIraq[playerid] == 0 || InHome[playerid] == 1 || InCityHall[playerid] == 1 || InOffCasino[playerid] == 1 || InLinden[playerid] == 1) {
if(InCt[playerid] == 1 && InTerror[playerid] == 0) {
new rand = random(sizeof(CtSpawnsIraq));
SetPlayerPos(playerid, CtSpawnsIraq[rand][0], CtSpawnsIraq[rand][1], CtSpawnsIraq[rand][2]),SetPlayerInterior(playerid, 5); }
if(InCt[playerid] == 0 && InTerror[playerid] == 1) {
new rand = random(sizeof(TerrorSpawnsIraq));
SetPlayerPos(playerid, TerrorSpawnsIraq[rand][0], TerrorSpawnsIraq[rand][1], TerrorSpawnsIraq[rand][2]),SetPlayerInterior(playerid, 5); }
if(English[playerid] == 1) return SendClientMessage(playerid,0xccccccff, "The map is successfully change to Madd Dogg's Mansion.");
SendClientMessage(playerid,0x00ffccff, "El mapa ha sido cambiado exitosamente a Mansiуn de Madd Dogg");
format(TText,128,"SERVIDOR: %s ha cambiado su mapa a: Mansiуn de Madd Dogg.",GetName(playerid),playerid);
SendClientMessageToAll(0xC4FDB0FF,TText);
InIraq[playerid] = 1; InHome[playerid] = 0; InCityHall[playerid] = 0; InOffCasino[playerid] = 0; InLinden[playerid] = 0;} }
La linea del final es lo que define el mapa pero no se como hacer que se cambie para todos

Por favor si alguien pudiera ayudarme
Reply
#2

lo hice con dcmd
http://pastebin.com/EruhDdxe
espero que te funcione.
Reply
#3

para ke cambie a todos los players tienes que agregarle la *i* de los jugadores conectados
Reply
#4

Quote:
Originally Posted by _X_
lo hice con dcmd
http://pastebin.com/EruhDdxe
espero que te funcione.
y para que el dcmd si ni usaste parametros que es por lo cual se suele usar dcmd?


no termine de enternder x completo, pero hice esto, espero que te sirva:
pawn Код:
if(dialogid==4 && response){
    switch(listitem){
        case 0:{
      for(new i=0; i<MAX_PLAYERS; i++){
        if(IsPlayerConnected(i)){
          if(InIraq[i] == 0 || InHome[i] == 1 || InCityHall[i] == 1 || InOffCasino[i] == 1 || InLinden[i] == 1){
            if(InCti] == 1 && InTerror[i] == 0){
              new rand = random(sizeof(CtSpawnsIraq));
              SetPlayerPos(i, CtSpawnsIraq[rand][0], CtSpawnsIraq[rand][1], CtSpawnsIraq[rand][2]);
              SetPlayerInterior(i, 5);
            }
            if(InCt[i] == 0 && InTerror[i] == 1){
              new rand = random(sizeof(TerrorSpawnsIraq));
              SetPlayerPos(i, TerrorSpawnsIraq[rand][0], TerrorSpawnsIraq[rand][1], TerrorSpawnsIraq[rand][2]);
              SetPlayerInterior(i, 5);
            }
            if(English[playerid] == 1) return SendClientMessage(playerid,0xccccccff, "The map is successfully change to Madd Dogg's Mansion.");
            SendClientMessage(playerid,0x00ffccff, "El mapa ha sido cambiado exitosamente a Mansiуn de Madd Dogg");
            format(TText,128,"SERVIDOR: %s(%d) ha cambiado su mapa a: Mansiуn de Madd Dogg.",GetName(playerid),playerid);
            SendClientMessageToAll(0xC4FDB0FF,TText);
            InIraq[i] = 1;
            InHome[i] = 0;
            InCityHall[i] = 0;
            InOffCasino[i] = 0;
            InLinden[i] = 0;
          }
        }
      }
    }
  }
}
Reply
#5

No me funciono ninguno T_T quiero hacerlo asн como el comando de los RP /weatherall que setea el mismo valor para todos.

Gracias igual
Reply
#6

ahora entendi lo que quisiste decir eso si se puede hacer con stock
Reply
#7

Quote:
Originally Posted by _X_
ahora entendi lo que quisiste decir eso si se puede hacer con stock
stock? no habras querido decir strcmp?

si lo queres hacer x comando:
pawn Код:
if(strcmp(cmdtext, "/comando", true) == 0){
  if(IsPlayerAdmin(playerid)){
    for(new i=0; i<MAX_PLAYERS; i++){
      if(IsPlayerConnected(i)){
        //aca pones la accion, no la pongo en codigo, ya que no se que es lo que queres hacer.
        return 1;
      }
    }
  }else return SendClientMessage(playerid, COLOR, "ERROR: Solo admins pueden usar este comando");
}
Reply
#8

quiero decir que lo que tienes ke hacer es crear funciones para cada lugar de mapeo, porque con un = 0; o = 1; no te teletrasportara a un lugar debes crear publics
Reply
#9

Quote:
Originally Posted by _X_
quiero decir que lo que tienes ke hacer es crear funciones para cada lugar de mapeo, porque con un = 0; o = 1; no te teletrasportara a un lugar debes crear publics
podes hacerlo mediante if en OnPlayerUpdate, pero no lo recomiendo ya que daria lag.
Reply
#10

si, daria lag porque el onplayerupdate actualiza muy rapido como a 1 milisegundo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)