SA-MP Forums Archive
Problema con este cmd - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Problema con este cmd (/showthread.php?tid=363832)



Problema con este cmd - adrianxd - 28.07.2012

Bien intento hacer un comando para rcon pero tengo un problema, cuando hago /startabase elijo la base 1 pero no tele transporta alas posiciones a los teams que hago mal?

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/startbase", cmdtext, true, 10) == 0)
    {
    if (IsPlayerAdmin(playerid))        
    ShowPlayerDialog(playerid,14041,DIALOG_STYLE_LIST,"{FF0000}Inicia una Base ","\n{00c4fa}Base: {ff0000}1 ","Accept","Cancel");
        return 1;
    }
    return 0;
}
en

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid==14041) {
    if(response) {
    if(listitem==0) {                    
    if(gTeam[playerid] == TEAM_1)
    {
        SetPlayerPos(playerid,2471.39990234,-1705.00000000,13.19999981);
        SetPlayerSkin(playerid,199);
    }
    }
    else if(gTeam[playerid] == TEAM_2)
    {
        SetPlayerPos(playerid,2443.50000000,-1555.90002441,23.60000038);
        SetPlayerSkin(playerid,199);
            }
        }
    }
    return 1;
}



Respuesta: Problema con este cmd - CeKiT - 01.08.2012

Tenes error en el showplayerdialog

Arriba del todo:

pawn Код:
#define DIALOG_SETBASE 5465
Remplaza el showplayerdialog del comando /setbase por este:

pawn Код:
ShowPlayerDialog(playerid, DIALOG_SETBASE, DIALOG_STYLE_LIST, "Titulo de Dialogo", "Team 1\nTeam 2", "Seleccionar", "Cancelar");
y en ondialogresponde cambia:

pawn Код:
if(dialogid == 14041 )
por

pawn Код:
if(dialogid == DIALOG_SETBASE)
Y LISTO!! (No testeado pero debe de funcionar)


їTe Ayude?
- Un poco de karma no te hace mal.


Respuesta: Problema con este cmd - adrianxd - 01.08.2012

lOl no bro asн no es lo que digo, lo que digo sera un cmd Rcon despuйs eligire la base 1, despuйs los team 1 y team 2 se irбn alas receptivas posiciones

Nota: Lo que tu dices ya lo hice en un fs


Re: Problema con este cmd - Daniel-92 - 01.08.2012

tenйs una linea "\n" al principio de la lista que no deberia estar ahi.


Respuesta: Problema con este cmd - adrianxd - 01.08.2012

Perdуn es que como puse barias bases me confundн entones si la borro ya sirve?


Re: Problema con este cmd - Daniel-92 - 01.08.2012

deberia o si no tendrias que cambiar en el dialogo if(listitem == 0) por if(listitem==1) pero sale mejor borrar la \n


Respuesta: Problema con este cmd - adrianxd - 01.08.2012

Ok checo


Respuesta: Problema con este cmd - CeKiT - 01.08.2012

Es haci?:

No entendi muy bien

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/startbase", cmdtext, true, 10) == 0)
    {
    if (IsPlayerAdmin(playerid))        
    ShowPlayerDialog(playerid,14041,DIALOG_STYLE_LIST,"{FF0000}Inicia una Base ","\n{00c4fa}Base: {ff0000}1 \n{00c4fa}Base: {ff0000}2","Aceptar","Cancelar");
        return 1;
    }
    return 0;
}



Respuesta: Problema con este cmd - TheChaoz - 01.08.2012

Tenes un problemita con las llaves, es un error muy comun cuando no se respetan los intents al programar/scriptear.

Tu codigo:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid==14041) {
        if(response) {
            if(listitem==0) {
                if(gTeam[playerid] == TEAM_1)
                {
                    SetPlayerPos(playerid,2471.39990234,-1705.00000000,13.19999981);
                    SetPlayerSkin(playerid,199);
                }
            }
            else if(gTeam[playerid] == TEAM_2)
            {
                SetPlayerPos(playerid,2443.50000000,-1555.90002441,23.60000038);
                SetPlayerSkin(playerid,199);
            }
        }
    }
    return 1;
}
Como deberia ser:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid==14041) {
        if(response) {
            if(listitem==0) {
                if(gTeam[playerid] == TEAM_1)
                {
                    SetPlayerPos(playerid,2471.39990234,-1705.00000000,13.19999981);
                    SetPlayerSkin(playerid,199);
                }
                else if(gTeam[playerid] == TEAM_2)
                {
                    SetPlayerPos(playerid,2443.50000000,-1555.90002441,23.60000038);
                    SetPlayerSkin(playerid,199);
                }
            }
        }
    }
    return 1;
}
PD: Si quieres teletransportar a todos los jugadores (cosa que creo que intentas hacer por lo que escribiste, deberias agregar un for).


Respuesta: Problema con este cmd - adrianxd - 01.08.2012

Quote:

PD: Si quieres teletransportar a todos los jugadores (cosa que creo que intentas hacer por lo que escribiste, deberias agregar un for).

Si eso es lo que planeo hacer.