12.09.2017, 16:30
(
Последний раз редактировалось TwunZ; 13.09.2017 в 19:07.
Причина: [B]ЎЎNADA!![/B]
)
ЎЎNADA!!
#define Dialogo_reglas 17372 //lo cambias por un nъmero de diбlogo que no tengas en usу.
CMD:ayuda(playerid, params[])
{
new strbox[2000]; // 2000 carбcteres en total, si editas el texto de algъn strcat, te recomiendo usar esta pбgina para no excederte con las celdas (2000 en este caso), menos celdas, un poco de optimizaciуn, http://www.contadordecaracteres.comnl673...4.21019315
strcat(strbox, "1. {FFFFFF}Al chocar siempre deberбs rolear con /me y /do\n\n");
strcat(strbox, "2. {FFFFFF}En las zonas pъblicas, no deberбs realizar ningъn tipo de acciуn ilegal.\n\n");
strcat(strbox, "3. {FFFFFF}En todo momento, ten en cuenta el entorno.\n\n");
strcat(strbox, "4. {FFFFFF}Si vas a hacerle daсo a alguien, deberбs tener algъn motivo IC para hacerlo.\n\n");
strcat(strbox, "5. {FFFFFF}En todo momento deberбs estar ON ROL a menos que un Administrador diga lo contrario.\n\n");
strcat(strbox, "6. {FFFFFF}Al saltar paredes, vallas o rejas, deberбs rolearlo con /intentar.\n\n");
strcat(strbox, "7. {FFFFFF}En todo momento mantйn respeto para con los demбs usuarios.\n\n");
strcat(strbox, "8. {FFFFFF}Si quieres averiguar localizaciones IC, deberбs averiguarlas IC, como en la vida real.\n\n");
strcat(strbox, "9. {FFFFFF}Recuerda que cuando te matan, pierdes la memoria parcialmente. Nunca vuelvas al lugar donde te mataron para cobrar venganza.\n\n");
strcat(strbox, "10. {FFFFFF}Mentir a la administraciуn, o estafar OOC es motivo de Ban... ten cuidado.\n\n");
ShowPlayerDialog(playerid, Dialogo_reglas/*Estб parte*/, DIALOG_STYLE_MSGBOX, "Creditos", strbox, "Cerrar", "");
return 1;
}
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Creditos", strbox, "Cerrar", "");
El fallo esta en el "0". Debes poner el nombre del define por ejemplo "CREDITOS" y luego al principio del gamemode donde tengas los defines aсades #define CREDITOS xx. En la XX debes introducir un valor numerico que no se use en otro define para dialogs. No pongas 99999999, pon numeros bajos para evitar movidones haha Te recomiendo que uses un include que te permita poner tantos dialogs como quiera sin necesidad de definirlos, el include se encargara de ello Include: easyDialog Anotacion: ShowPlayerDialog deberб ser sustituido por Dialog_Show y no debes definir ningъn dialog. |
#include <easyDialog>
CMD:weapons(playerid, params[])
{
Dialog_Show(playerid, WeaponMenu/*Puedes ponerle otro nombre sin tener que definir lo*/, DIALOG_STYLE_LIST, "Weapon Menu", "9mm\nSilenced 9mm\nDesert Eagle\nShotgun\nSawn-off Shotgun\nCombat Shotgun", "Select", "Cancel");/*Como puedes ver para usarlo es casi igual que un dialogo normal nada mas que a este le pones Dialog_Show los demas parametros son los mismos de un dialogo normal*/
return 1;
}
/*Para darle uso osea esto seria como el ondialogresponse pero esto va aparte de cada dialogo que tu tienes*/
Dialog:WeaponMenu/*WeaponMenu es el dialogo que mostramos en el comando*/(playerid, response, listitem, inputtext[])
{
if (response)
{
new str[64];
format(str, 64, "You have selected the '%s'.", inputtext);
GivePlayerWeapon(playerid, listitem + 22, 500);
SendClientMessage(playerid, -1, str);
}
return 1;
/*Con este dialogo puedes revisar si un dialogo es usado con esta publica.*/
public OnDialogPerformed(playerid, dialog[], response, success)
{
if (!strcmp(dialog, "WeaponMenu") && IsPlayerInAnyVehicle(playerid))/*Por ejemplo cuando el dialogo "WeaponMenu" es usado. Revisa si el jugador esta en un Vehнculo y le envнa un mensaje diciйndole que tiene que estar a pie para obtener un arma y retoma 0 para que no se cumpla el dialogo y no le de armas*/
{
SendClientMessage(playerid, -1, "You must be on-foot to spawn a weapon.");
return 0;
}
return 1;
}
}