SA-MP Forums Archive
[ayuda] Dialogo - 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: [ayuda] Dialogo (/showthread.php?tid=504207)



[ayuda] Dialogo - Daniel_Ruiz - 02.04.2014

Bueno miren lo que pasa es esto estoy haciendo la fac de NFS todo va bien pongo el comando /venderveh
y le aparece el dialogo hasta ahy todo bien pero cuando le da aceptar no muestra lo que deberia de mostrar el dialogo si respon de que si, osea solo le da las llaves del auto y no le dice que felicidades lo compraste ni nada їpor que?

pawn Код:
if(strcmp(cmd, "/venderveh", true) == 0)
    {
                new giveplayerid;
                new newcar = GetPlayerVehicleID(playerid);
                giveplayerid = ReturnUser(tmp);
                tmp = strtok(cmdtext,idx);

                if(NFS(playerid))
                {
                if (!strlen(tmp))
                {
                SendClientMessage(playerid, COLOR_GREY, "USAGE: /venderveh [playerid/partOfName]");
                return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if (giveplayerid == INVALID_PLAYER_ID)
                {
                SendClientMessage(playerid, COLOR_GREY, "Jugador Off Line");
                return 1;
                }
                if(IsAnOwnableCar(idcar))
                {
                    if(PlayerInfo[giveplayerid][pLevel] < 3)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Necesita Minimo Nivel 3, Para tener Un Coche..!");
                        return 1;
                    }
                    if(CarInfo[newcar][cOwned]==1)
                    {
                    SendClientMessage(playerid, COLOR_GREY, "Vendedor: Este Coche Ya Tiene Dueсo, Lo Siento.");
                    RemovePlayerFromVehicle(playerid);
                    TogglePlayerControllable(playerid, 1);
                    return 1;
                    }
                    if(PlayerInfo[giveplayerid][pPcarkey] == 999){}
                    else if(PlayerInfo[giveplayerid][pPcarkey2] == 999) { }
                    else { SendClientMessage(playerid, COLOR_GREY, "Unicamente Se Permite Tener 2 Coches Por Persona."); return 1; }
                   
                    if(GetPlayerMoney(giveplayerid) >= CarInfo[idcar][cValue])
                    {
                    if(PlayerInfo[giveplayerid][pPcarkey] == 999) { PlayerInfo[giveplayerid][pPcarkey] = idcar; }
                        else if(PlayerInfo[giveplayerid][pPcarkey2] == 999) { PlayerInfo[giveplayerid][pPcarkey2] = idcar; }
                        else { return 1; }
                        ShowPlayerDialog(giveplayerid,2014,DIALOG_STYLE_MSGBOX,"Confirmacion","їDesea Aceptar este auto?","Si","No");
                        return 1;
                    }else SendClientMessage(playerid, COLOR_GREY, "Sin Dinero suficiente");
                    }
                } else SendClientMessage(playerid, COLOR_GREY, "No Eres vendedor de autos");
            return 1;
     }
El Dialogo

pawn Код:
if(dialogid == 2014){
    if(response){
    new giveplayerid;
    new tmp[25];
    new idcar = GetPlayerVehicleID(playerid);
    new newcar = GetPlayerVehicleID(playerid);
    giveplayerid = ReturnUser(tmp);
    GetPlayerName(giveplayerid, sendername, sizeof(sendername));
    CarInfo[idcar][cOwned] = 1;
    CarInfo[idcar][cOwner] = sendername;
    SafeGivePlayerMoney(giveplayerid,-CarInfo[idcar][cValue]);
    SBizzInfo[11][sbTill] += CarInfo[idcar][cValue]*2; // Conce Lujo
    SBizzInfo[16][sbTill] += CarInfo[idcar][cValue]; // Conce Normal
    SBizzInfo[22][sbTill] += CarInfo[idcar][cValue]/2; // Conce Bajo
    PlayerPlayMusic(giveplayerid);
    GameTextForPlayer(giveplayerid, "~w~Felicitaciones~n~Utiliza /V Estacionar, Para Parkear Tu Coche!", 5000, 3);
    SendClientMessage(giveplayerid, COLOR_GRAD2, "Que Lo Disfrutes!");
    SendClientMessage(giveplayerid, COLOR_GRAD2, "Escribe: /Manual, Para Ver Los Comandos Del Coche..!");
    SendClientMessage(giveplayerid, COLOR_YELLOW2, "Ya Puedes Encender Tu Coche.. Utilize: /Motor..!");
    gEngine[giveplayerid] = 0;
    engineOn[GetPlayerVehicleID(giveplayerid)] = false;
    DateProp(giveplayerid);
    OnPropUpdate();
    PlayerUpdate(giveplayerid);
    format(string, sizeof(string), "ESET-NOD32: %s (%s)[%d]", sendername, CarInfo[idcar][cDescription]);
    ESETPropertyLog(string);
        }
        else{
            SendClientMessage(playerid,COLOR_GRAD2,"Ok , No compraste el auto");
        }
    }
muchas gracias por su ayuda +rep.


Respuesta: [ayuda] Dialogo - OTACON - 03.04.2014

intenta con un print debajo del mensaje y ve el resultado.
saludos.



Respuesta: [ayuda] Dialogo - unuky - 04.04.2014

En el diбlogo no estб definido "tmp".

pawn Код:
giveplayerid = ReturnUser(tmp);

// Hay que definir tmp
tmp = strtok(cmdtext,idx);



Respuesta: [ayuda] Dialogo - Daniel_Ruiz - 05.04.2014

Es que no deja definir cmd por que tocaria que fuera en onplayercommandtext

por que me dice que cmdtext no esta definido


Respuesta: [ayuda] Dialogo - OTACON - 05.04.2014

crea una variable con la que guardaras el id al que le venderas y despues la utilizas para darle la funcion correspondiente al jugador, ejemplo en vez de usar playerid usas la variable.

pawn Код:
InfoComprador[playerid] = giveplayerid;

giveplayerid = InfoComprador[playerid];
PD: lo anterior no es necesario en este caso.

saludos.



Respuesta: [ayuda] Dialogo - Daniel_Ruiz - 05.04.2014

Osea

pawn Код:
new persona[MAX_PLAYERS];
y donde vende

pawn Код:
persona[getplayerid];
Si no es haci me podrias ayudar?


Respuesta: [ayuda] Dialogo - OTACON - 05.04.2014

pawn Код:
//en el comando
persona[playerid] = giveplayerid ;

//en OnDialogResponse reemplaza ReturnUser(tmp) por la variable
giveplayerid = persona[playerid];



Respuesta: [ayuda] Dialogo - Daniel_Ruiz - 05.04.2014

Haciї?

pawn Код:
if(strcmp(cmd, "/venderveh", true) == 0)
    {
                new giveplayerid;
                new newcar = GetPlayerVehicleID(playerid);
                persona[playerid] = giveplayerid ;

                if(NFS(playerid))
                {
                if (!strlen(persona))
                {
                SendClientMessage(playerid, COLOR_GREY, "USAGE: /venderveh [playerid/partOfName]");
                return 1;
                }
                giveplayerid = ReturnUser(persona);
                if (giveplayerid == INVALID_PLAYER_ID)
                {
                SendClientMessage(playerid, COLOR_GREY, "Jugador Off Line");
                return 1;
                }
                if(IsAnOwnableCar(idcar))
                {
                    if(PlayerInfo[giveplayerid][pLevel] < 3)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "Necesita Minimo Nivel 3, Para tener Un Coche..!");
                        return 1;
                    }
                    if(CarInfo[newcar][cOwned]==1)
                    {
                    SendClientMessage(playerid, COLOR_GREY, "Vendedor: Este Coche Ya Tiene Dueсo, Lo Siento.");
                    RemovePlayerFromVehicle(playerid);
                    TogglePlayerControllable(playerid, 1);
                    return 1;
                    }
                    if(PlayerInfo[giveplayerid][pPcarkey] == 999){}
                    else if(PlayerInfo[giveplayerid][pPcarkey2] == 999) { }
                    else { SendClientMessage(playerid, COLOR_GREY, "Unicamente Se Permite Tener 2 Coches Por Persona."); return 1; }
                   
                    if(GetPlayerMoney(giveplayerid) >= CarInfo[idcar][cValue])
                    {
                    if(PlayerInfo[giveplayerid][pPcarkey] == 999) { PlayerInfo[giveplayerid][pPcarkey] = idcar; }
                        else if(PlayerInfo[giveplayerid][pPcarkey2] == 999) { PlayerInfo[giveplayerid][pPcarkey2] = idcar; }
                        else { return 1; }
                        ShowPlayerDialog(giveplayerid,2014,DIALOG_STYLE_MSGBOX,"Confirmacion","їDesea Aceptar este auto?","Si","No");
                        return 1;
                    }else SendClientMessage(playerid, COLOR_GREY, "Sin Dinero suficiente");
                    }
                } else SendClientMessage(playerid, COLOR_GREY, "No Eres vendedor de autos");
            return 1;
     }



Respuesta: [ayuda] Dialogo - Stront - 05.04.2014

Quote:
Originally Posted by OTACON
Посмотреть сообщение
pawn Код:
//en el comando
persona[playerid] = giveplayerid ;

//en OnDialogResponse reemplaza ReturnUser(tmp) por la variable
giveplayerid = persona[playerid];
no es necesario hacer eso, o en todo caso serнa otra cosa. Si quieres tener el id de quiйn te vendiу el vehнculo serнa.

pawn Код:
persona[giveplayerid] = playerid;

giveplayerid = persona[playerid];



Respuesta: [ayuda] Dialogo - Daniel_Ruiz - 06.04.2014

No sirve me dice /venderveh [ID] Le doy la id y no la cumple me vuelve y me dice lo mismo Use:/venderveh [ID]