Okay I need help with dialoge responses I got a gamemode and it got a dialoge responses both fs dialoges and gm dialoges mixes up any help what to do?
If I buy a thing from store which is in my fs the Gamemode dialoge response comes there
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch (dialogid)
{
case 1: // Register
{
if(!response) {
SendClientMessage(playerid, COLOR_GREY," Thanks for coming...");
Kick(playerid);
}
else if(response) {
if(!strlen(inputtext)) return ShowDialog(playerid, 1, DIALOG_PASS, "Hi there, Welcome to College ", "Hello new citizen!\n\nWelcome to Supernatural College, where crime doesn't pay.\nPlease register.", "Register", "Exit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File, "Password", udb_hash(inputtext));
INI_WriteInt(File, "Admin", 0);
INI_WriteInt(File, "Origin", 0);
INI_WriteInt(File, "Gender", 0);
INI_WriteInt(File, "Age", 0);
INI_WriteFloat(File, "sPosX", 194.485778);
INI_WriteFloat(File, "sPosY", 1103.993408);
INI_WriteFloat(File, "sPosZ", 16.347635);
INI_WriteFloat(File, "sPosA", 30.403614);
INI_WriteFloat(File, "sHealth", 100);
INI_WriteFloat(File, "sArmor", 0);
INI_WriteInt(File, "Money", 2000);
INI_WriteInt(File, "BankBalance", 20000);
INI_WriteInt(File, "BankPin", 0);
INI_WriteInt(File, "Cellphone", 0);
INI_WriteInt(File, "HouseID", 0);
INI_WriteInt(File, "CarID", 0);
INI_WriteInt(File, "Gun1", 0);
INI_WriteInt(File, "Gun2", 0);
INI_WriteInt(File, "Gun3", 0);
INI_WriteInt(File, "Gun4", 0);
INI_WriteInt(File, "Gun5", 0);
INI_WriteInt(File, "Gun6", 0);
INI_WriteInt(File, "Gun7", 0);
INI_WriteInt(File, "Gun8", 0);
INI_WriteInt(File, "Gun9", 0);
INI_WriteInt(File, "Gun10", 0);
INI_WriteInt(File, "Gun11", 0);
INI_WriteInt(File, "Gun12", 0);
INI_WriteInt(File, "Gun13", 0);
INI_WriteInt(File, "WTChannel", 0);
INI_WriteInt(File, "Faction", 0);
INI_WriteInt(File, "FLeader", 0);
INI_WriteInt(File, "Job", 0);
INI_WriteInt(File, "sInterior", 0);
INI_WriteInt(File, "sVW", 0);
INI_WriteInt(File, "Skin", 1);
INI_WriteInt(File, "Muted", 0);
INI_WriteInt(File, "nMute", 0);
INI_WriteInt(File, "Helper", 0);
INI_WriteInt(File, "Developer", 0);
INI_WriteInt(File, "RentingID", 0);
INI_Close(File);
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);
ClearScreen(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Principal: Thank you for registering in our College.");
SendClientMessage(playerid, COLOR_WHITE, "We now require you to fill out some basic identification!");
SetPlayerCameraPos(playerid, -2828.9058,-397.5271,7.1875);
SetPlayerCameraLookAt(playerid, -2828.9058,-397.5271,7.1875);
SetPlayerVirtualWorld(playerid, 0);
ShowDialog(playerid, 3, DIALOG_INFO, "College Identification", "Are you a male or female?", "Male", "Female");
}
return 1;
}
case 2: //Login
{
if(!response) {
SendClientMessage(playerid, COLOR_LIGHTRED, " Come back soon...");
Kick(playerid);
}
if(response) {
if(udb_hash(inputtext) == PlayerInfo[playerid][Password])
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
SetPlayerHealth(playerid, PlayerInfo[playerid][sHealth]);
SetPlayerArmour(playerid, PlayerInfo[playerid][sArmor]);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);
ClearScreen(playerid);
SendClientMessage(playerid, COLOR_WHITE, "SERVER: You've logged into College Of Supernatural Roleplay.");
SetSpawnInfo(playerid, 0, 0,-2828.9058,-397.5271,7.1875,357.3467, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
else {
SendClientMessage(playerid, COLOR_LIGHTRED, "SERVER: Incorrect password. Kicked, please try again!");
Kick(playerid);
}
}
return 1;
}
case 3: // Gender
{
if(response) {
PlayerInfo[playerid][Gender] = 1; // Male
ShowDialog(playerid, 4, DIALOG_INPUT, "College Identification", "You identified yourself as a Male.\n\nNow how old are you?", "Enter", "");
PlayerInfo[playerid][Skin] = 1;
SetSpawnInfo(playerid, 0, 1, -2828.9058,-397.5271,7.1875,357.3467, 0, 0, 0, 0, 0, 0);
}
else {
PlayerInfo[playerid][Gender] = 2; // Female
ShowDialog(playerid, 4, DIALOG_INPUT, "College Identification", "You identified yourself as a Female.\n\nNow how old are you?", "Enter", "");
PlayerInfo[playerid][Skin] = 12;
SetSpawnInfo(playerid, 0, 12, -2828.9058,-397.5271,7.1875,357.3467, 0, 0, 0, 0, 0, 0);
}
}
case 4: // Age
{
new age = strval(inputtext);
if(!strlen(inputtext)) return ShowDialog(playerid, 4, DIALOG_INPUT, "College Identification", "Please tell us how old you are!", "Enter", "");
//if(!IsNumeric(age)) return ShowDialog(playerid, 4, DIALOG_INPUT, "Fort Carson Identification", "Please tell us how old you are!", "Enter", "");
if(age < 13 || age > 99) return ShowDialog(playerid, 4, DIALOG_INPUT, "College Identification", "Please enter a realistic age (14-21)", "Enter", "");
PlayerInfo[playerid][Age] = age;
ShowDialog(playerid, 5, DIALOG_LIST, "College Identification - Where are you from?", "America\nEurope\nAustralia\nAfrica\nRussia", "Okay", "");
}
case 5: // Origin
{
if(response)
{
switch(listitem)
{
case 0: //America
{
PlayerInfo[playerid][Origin] = 1;
}
case 1: //Europe
{
PlayerInfo[playerid][Origin] = 2;
}
case 2: //Australia
{
PlayerInfo[playerid][Origin] = 3;
}
case 3: //Africa
{
PlayerInfo[playerid][Origin] = 4;
}
case 4: //Russia
{
PlayerInfo[playerid][Origin] = 5;
}
}
ShowDialog(playerid, 6, DIALOG_INFO, "College Identifcation", "Thank you for identifying yourself.\n\nIf you require help, please use /help or /ask.\nIf you do not Roleplay, we will punish you.\n\nVisit our forums, cosrp.co.cc", "Okay", "");
gPlayerLoggedIn[playerid] = 1;
SpawnPlayer(playerid);
}
else
{
ShowDialog(playerid, 5, DIALOG_LIST, "College Identification - Where are you from?", "America\nEurope\nAustralia\nAfrica\nRussia", "Okay", "");
}
}
}
return 1;
}
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)// They pressed the first button.
{
switch(dialogid)// If you only have one dialog, then this isn't required, but it's neater for when you implement more dialogs.
{
case 1:// Our dialog!
{
switch(listitem)// Checking which listitem was selected
{
case 0:// The first item listed
{
if(GetPlayerMoney(playerid) < 5) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
GivePlayerMoney(playerid, -5);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_SPRUNK);
}
case 1: // The second item listed
{
if(GetPlayerMoney(playerid) < 10) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
GivePlayerMoney(playerid, -10);
ApplyAnimation(playerid,"FOOD","EAT_Burger",4.1,0,0,0,0,1);
}
case 2: // The third item listed
{
if(GetPlayerMoney(playerid) < 5) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
GivePlayerMoney(playerid, -5);
ApplyAnimation(playerid,"FOOD","EAT_Burger",4.1,0,0,0,0,1);
}
case 3: // The forth item listed
{
if(GetPlayerMoney(playerid) < 25) return SendClientMessage(playerid, 0xFFFFFF, "You don't have enough cash.");
GivePlayerMoney(playerid, -25);
ApplyAnimation(playerid,"FOOD","EAT_Pizza",4.1,0,0,0,1,1,1);
}
}
}
}
}
return 1;
}
You have used ShowPlayerDialog with the same dialogid in both scripts.
Change 1 dialogid to ID 1, and the other one to another ID such as 10 or any other digit. Make sure you don't mix up dialog ids or they can combine and give unwanted responses.