04.01.2013, 07:17
Muy buenas gente de Samp, hoy he echo un dialog de bebidas pero no cumple la funcion. Por ejemplo, si fuera dar armas no las daria. Os dejo todos los codigos (:
Os dejare todo la Callback para que mireis si hay algun mal cierre o algo.
Код:
#define selecarmas 4
Код:
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/bebidas", true)) { ShowPlayerDialog(playerid, 4, DIALOG_STYLE_LIST, "Que Desea ?", "Bebidas ($1)\nCerveza ($2)\nVino ($3)", "Comprar", "Cancelar"); } return 1; }
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 4) { if(response)// Si se pulsa el primer botуn. { switch(dialogid)// Si sуlo tiene un cuadro de diбlogo, entonces esto no es necesario, pero es mбs Organizado para cuando se implementan mбs cuadros de diбlogo. { case 1:// Nuestro dialogo { switch(listitem)// Comprueba Si a Sido Seleccionado { case 0:// El Primer Boton Incluido { if(GetPlayerMoney(playerid) < 1) return SendClientMessage(playerid, 0xFFFFFF, "Usted No Tiene Suficiente Dinero Para pagar Esta Bebida!");//El GetPlayerMoney Significa que mira el Dinero al Jugador. <1 Esto Significa Que Debe Tener mas de 1 Dolar GivePlayerMoney(playerid, -1);//El GivePLayerMoney -1 Significa Que le Quita 1 Dolar SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);// Esto es una animacion Despues les paso el link de las animaciones } case 1: // Esto es el segundo boton { if(GetPlayerMoney(playerid) < 2) return SendClientMessage(playerid, 0xFFFFFF, "Usted No Tiene suficiente Dinero."); GivePlayerMoney(playerid, -2); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER); } case 2: // El Tercer boton { if(GetPlayerMoney(playerid) < 3) return SendClientMessage(playerid, 0xFFFFFF, "No Tiene dinero Para Pagar Esta bebida"); GivePlayerMoney(playerid, -3); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE); } } } } } } return 1; }
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == Registro) { new nombrejugador[MAX_PLAYER_NAME], archivo[256],string[200]; if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Registro, DIALOG_STYLE_INPUT, "Registro", "{FF6600}Welcome To iZombisGaming !{FF6600}. Enter a password to register your account", "Register", "Cancel"); if (!response) return Kick(playerid); GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador)); format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador); dini_Create(archivo); dini_Set(archivo, "Usuario", nombrejugador); dini_Set(archivo, "Contraseсa", inputtext); CrearCuenta(playerid); format(string,sizeof(string),"Contraseсa: %s Ingrese Su Contraseсa",inputtext); ShowPlayerDialog(playerid, Logueo, DIALOG_STYLE_PASSWORD, "iZombisGaming", string, "Confirmar", "Salir"); } if (dialogid == Logueo) { new nombrejugador[MAX_PLAYER_NAME], archivo[256], comprobante[256]; if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Logueo, DIALOG_STYLE_PASSWORD, "iZombisGaming ", "{FF6600}Welcome Back To{FF6600}iZombisGaming !{FF6600}. Insert your Password To Loggin", "Login", "Cancel"); if (!response) return Kick(playerid); GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador)); format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador); format(comprobante, sizeof(comprobante), "%s", dini_Get(archivo, "Contraseсa")); if (!strcmp (inputtext, comprobante)) { CargarDatos(playerid); } else { ShowPlayerDialog(playerid, 1213, DIALOG_STYLE_MSGBOX, "Samp-Script Freeroam", "La Contraseсa No Coincide Con El Nombre!", "Aceptar", ""); ActualizarCuenta(playerid); Kick(playerid); } } if(dialogid == 4) { if(response)// Si se pulsa el primer botуn. { switch(dialogid)// Si sуlo tiene un cuadro de diбlogo, entonces esto no es necesario, pero es mбs Organizado para cuando se implementan mбs cuadros de diбlogo. { case 1:// Nuestro dialogo { switch(listitem)// Comprueba Si a Sido Seleccionado { case 0:// El Primer Boton Incluido { if(GetPlayerMoney(playerid) < 1) return SendClientMessage(playerid, 0xFFFFFF, "Usted No Tiene Suficiente Dinero Para pagar Esta Bebida!");//El GetPlayerMoney Significa que mira el Dinero al Jugador. <1 Esto Significa Que Debe Tener mas de 1 Dolar GivePlayerMoney(playerid, -1);//El GivePLayerMoney -1 Significa Que le Quita 1 Dolar SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);// Esto es una animacion Despues les paso el link de las animaciones } case 1: // Esto es el segundo boton { if(GetPlayerMoney(playerid) < 2) return SendClientMessage(playerid, 0xFFFFFF, "Usted No Tiene suficiente Dinero."); GivePlayerMoney(playerid, -2); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER); } case 2: // El Tercer boton { if(GetPlayerMoney(playerid) < 3) return SendClientMessage(playerid, 0xFFFFFF, "No Tiene dinero Para Pagar Esta bebida"); GivePlayerMoney(playerid, -3); SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_WINE); } } } } } } return 1; }