23.02.2015, 23:50
Hola gente, estaba al fin poniendo el sistema de concesionario dinбmico, y todo bien, pero me falta esta parte, la cual es la del dialog, que serнa la parte final y es la ъltima que me falta, por favor les pido que me ayuden, creo que solo la acomodй mal o no sй, por favor me ayudan? de antemano muchнsimas gracias.
El dialog completo:
La parte del concesionario donde me da error:
Los errores:
PD: asн estб en el GM de dуnde lo saquй:
El dialog completo:
pawn Код:
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, "RolZone-RP", "Ingresa Una Contraseсa", "Aceptar", "Salir");
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 \nIngrese Su Contraseсa",inputtext);
ShowPlayerDialog(playerid, INGRESO, DIALOG_STYLE_INPUT, "Chile-RP", string, "Confirmar", "Salir");
}
if (dialogid == INGRESO)
{
new nombrejugador[MAX_PLAYER_NAME], archivo[256], comprobante[256];
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, INGRESO, DIALOG_STYLE_INPUT, "RolZone-RP", "Escribe Una Contraseсa", "Aceptar", "Salir");
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))
{
SpawnPlayer(playerid);
CargarDatos(playerid);
}
else
{
ShowPlayerDialog(playerid, 1213, DIALOG_STYLE_MSGBOX, "RolZone-RP", "La Contraseсa No Coincide Con El Nombre!", "Aceptar", "");
Kick(playerid);
}
}
if(dialogid == SELECCIONARSEXO)
{
if(response == 0)
{
SetPlayerSkin(playerid,12);
Informacion[playerid][ISexo] = 2;
SendClientMessage(playerid,C_Positivo,"Eres Mujer!");
SetPlayerSkin(playerid, 55);
ShowPlayerDialog(playerid, SELECCIONAREDAD, DIALOG_STYLE_LIST, "Que Edad Tienes", "18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33", "Seleccionar", "");
}
if(response == 1)
{
SetPlayerSkin(playerid,7);
Informacion[playerid][ISexo] = 1;
SendClientMessage(playerid,C_Positivo,"Eres Hombre!");
SetPlayerSkin(playerid, 185);
ShowPlayerDialog(playerid, SELECCIONAREDAD, DIALOG_STYLE_LIST, "Que Edad Tienes", "18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33", "Seleccionar", "");
}
return 1;
}
if(dialogid == SELECCIONAREDAD)
{
if(response)
{
if(listitem == 0)
{
Informacion[playerid][IEdad] = 18;
SendClientMessage(playerid,C_Positivo,"Tienes 18!");
GameTextForPlayer(playerid, "~b~Tienes~r~18~b~Aсos", 3000, 3);
}
else if(listitem == 1)
{
Informacion[playerid][IEdad] = 19;
SendClientMessage(playerid,C_Positivo,"Tienes 19!");
GameTextForPlayer(playerid, "~b~Tienes~r~19~b~Aсos", 3000, 3);
}
else if(listitem == 2)
{
Informacion[playerid][IEdad] = 20;
SendClientMessage(playerid,C_Positivo,"Tienes 20!");
GameTextForPlayer(playerid, "~b~Tienes~r~20~b~Aсos", 3000, 3);
}
else if(listitem == 3)
{
Informacion[playerid][IEdad] = 21;
SendClientMessage(playerid,C_Positivo,"Tienes 21!");
GameTextForPlayer(playerid, "~b~Tienes~r~21~b~Aсos", 3000, 3);
}
else if(listitem == 4)
{
Informacion[playerid][IEdad] = 22;
SendClientMessage(playerid,C_Positivo,"Tienes 22!");
GameTextForPlayer(playerid, "~b~Tienes~r~22~b~Aсos", 3000, 3);
}
else if(listitem == 5)
{
Informacion[playerid][IEdad] = 23;
SendClientMessage(playerid,C_Positivo,"Tienes 23!");
GameTextForPlayer(playerid, "~b~Tienes~r~23~b~Aсos", 3000, 3);
}
else if(listitem == 6)
{
Informacion[playerid][IEdad] = 24;
SendClientMessage(playerid,C_Positivo,"Tienes 24!");
GameTextForPlayer(playerid, "~b~Tienes~r~24~b~Aсos", 3000, 3);
}
else if(listitem == 7)
{
Informacion[playerid][IEdad] = 25;
SendClientMessage(playerid,C_Positivo,"Tienes 25!");
GameTextForPlayer(playerid, "~b~Tienes~r~25~b~Aсos", 3000, 3);
}
else if(listitem == 8)
{
Informacion[playerid][IEdad] = 26;
SendClientMessage(playerid,C_Positivo,"Tienes 26!");
GameTextForPlayer(playerid, "~b~Tienes~r~26~b~Aсos", 3000, 3);
}
else if(listitem == 9)
{
Informacion[playerid][IEdad] = 27;
SendClientMessage(playerid,C_Positivo,"Tienes 27!");
GameTextForPlayer(playerid, "~b~Tienes~r~27~b~Aсos", 3000, 3);
}
else if(listitem == 10)
{
Informacion[playerid][IEdad] = 28;
SendClientMessage(playerid,C_Positivo,"Tienes 28!");
GameTextForPlayer(playerid, "~b~Tienes~r~28~b~Aсos", 3000, 3);
}
else if(listitem == 11)
{
Informacion[playerid][IEdad] = 29;
SendClientMessage(playerid,C_Positivo,"Tienes 29!");
GameTextForPlayer(playerid, "~b~Tienes~r~29~b~Aсos", 3000, 3);
}
else if(listitem == 12)
{
Informacion[playerid][IEdad] = 30;
SendClientMessage(playerid,C_Positivo,"Tienes 30!");
GameTextForPlayer(playerid, "~b~Tienes~r~30~b~Aсos", 3000, 3);
}
else if(listitem == 13)
{
Informacion[playerid][IEdad] = 31;
SendClientMessage(playerid,C_Positivo,"Tienes 31!");
GameTextForPlayer(playerid, "~b~Tienes~r~31~b~Aсos", 3000, 3);
}
else if(listitem == 14)
{
Informacion[playerid][IEdad] = 32;
SendClientMessage(playerid,C_Positivo,"Tienes 32!");
GameTextForPlayer(playerid, "~b~Tienes~r~32~b~Aсos", 3000, 3);
}
else if(listitem == 15)
{
Informacion[playerid][IEdad] = 33;
SendClientMessage(playerid,C_Positivo,"Tienes 33!");
GameTextForPlayer(playerid, "~b~Tienes~r~33~b~Aсos", 3000, 3);
}
}
SendClientMessage(playerid,C_Aviso,"ENTER Para Cambiar El Tutorial");
TutorialT[playerid] = 1;
return 1;
}
//===
if(dialogid == MENUADMINCLICK)
{
new string[128];
if(response)
{
if(listitem == 0)
{
format(string,sizeof(string),"Le Cambiaras La Faccion A: %s \n Escribe El Numero De La Faccion",Name(JSeleccionado[playerid]));
ShowPlayerDialog(playerid,CAMBIARFACCIONA,DIALOG_STYLE_INPUT,"Cambiar Faccion",string,"Aceptar","Cancelar");
}
if(listitem == 1)
{
SendClientMessage(playerid,0x1adc88ff,"Agrega Otra Cosa");
}
}
}
//===
if(dialogid == MSJACAMBIARFACCION)
{
if(response == 0)
{
SpawnPlayer(playerid);
}
if(response == 1)
{
SpawnPlayer(playerid);
}
return 1;
}
//===
if(dialogid == CAMBIARFACCIONA)
{
new string[128];
if(response)
{
if((strlen(inputtext)>0))
{
format(string,sizeof(string),"Te Ascendieron A Lider De La Faccion %d",strval(inputtext));
ShowPlayerDialog(JSeleccionado[playerid],MSJACAMBIARFACCION,DIALOG_STYLE_MSGBOX,"Cambiar Faccion",string,"Aceptar","");
JSeleccionado[playerid]=INVALID_PLAYER_ID;
Informacion[playerid][IFaccion] = strval(inputtext);
}
else
{
format(string,sizeof(string),"Le Cambiaras La Faccion A: %s \n Escribe El Numero De La Faccion",Name(JSeleccionado[playerid]));
ShowPlayerDialog(playerid,CAMBIARFACCIONA,DIALOG_STYLE_INPUT,"Cambiar Faccion",string,"Aceptar","Cancelar");
}
}
else
{
JSeleccionado[playerid]=INVALID_PLAYER_ID;
}
}
if(response)// Si se pulsa el primer botуn.
{
switch(dialogid == 7)// 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
{
SetPlayerSkin(playerid, 286);
}
case 1: // Esto es el segundo boton
{
SetPlayerSkin(playerid, 163);
}
case 2: // El Tercer boton
{
SetPlayerSkin(playerid, 164);
}
case 3: // El Tercer boton
{
SetPlayerSkin(playerid, 165);
}
case 4: // El Tercer boton
{
SetPlayerSkin(playerid, 166);
}
case 5: // El Tercer boton
{
SetPlayerSkin(playerid, 186);
}
}
}
}
}
if(response)// Si se pulsa el primer botуn.
{
switch(dialogid == 8)// 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(Informacion[playerid][IAdministrador] < 1) return NoPuede
{
SendClientMessage(playerid, COLOR_BLANCO, "/adminduty /ir /aduda /congelar /descongelar /pm /areporte");
}
}
case 1: // Esto es el segundo boton
{
if(Informacion[playerid][IAdministrador] < 2) return NoPuede
{
SendClientMessage(playerid, COLOR_BLANCO, "/ir /traer /congelar /descongelar /pm /areporte /aduda");
SendClientMessage(playerid, COLOR_BLANCO, "/jail /abug /spec /kick");
}
}
case 2: // El Tercer boton
{
if(Informacion[playerid][IAdministrador] < 3) return NoPuede
{
SendClientMessage(playerid, COLOR_BLANCO, "/ban /kick /slap /sethp /setarmor /setskin /fixveh /check");
}
}
case 3: // El Tercer boton
{
if(Informacion[playerid][IAdministrador] < 4) return NoPuede
{
SendClientMessage(playerid, COLOR_BLANCO, "/respawnautos /rcar /traerauto /irauto /vehslap /warn");
}
}
case 4: // El Tercer boton
{
if(Informacion[playerid][IAdministrador] < 5) return NoPuede
{
SendClientMessage(playerid, COLOR_BLANCO, "/unban /dinero /slap /givegun /hacerlider /setskin /fixveh /irbanco");
}
}
case 5: // El Tercer boton
{
if(Informacion[playerid][IAdministrador] < 2015) return NoPuede
{
SendClientMessage(playerid, COLOR_BLANCO, "/crearcasa /editarcasa /daradmin /admincasa /conce /cconce");
}
}
}
}
}
}
if(response)// Si se pulsa el primer botуn.
{
switch(dialogid == 10)// 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:// CADETE
{
SetPlayerSkin(playerid, 71);
}
case 1: // OFICIAL
{
SetPlayerSkin(playerid, 280);
}
case 2: // DETECTIVE
{
SetPlayerSkin(playerid, 281);
}
case 3: // SARGENTO
{
SetPlayerSkin(playerid, 282);
}
case 4: // TENIENTE
{
SetPlayerSkin(playerid, 288);
}
case 5: // OFICIAL MOTO
{
SetPlayerSkin(playerid, 285);
}
case 6: // SWAT
{
SetPlayerSkin(playerid, 284);
}
case 7: // COMANDANTE
{
SetPlayerSkin(playerid, 283);
}
}
}
if(dialogid == DIALOG_VEHICLE)
{
if(response)
{
switch(listitem)
{
case 0:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 1) { engine = 0; lights = 0; }
else { engine = 1; lights = 1; }
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 1:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(lights == 1) lights = 0; else lights = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 2:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(bonnet == 1) bonnet = 0; else bonnet = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 3:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(boot == 1) boot = 0; else boot = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 4:
{
new id = GetPVarInt(playerid, "DialogValue1");
if(GetPlayerVehicleAccess(playerid, id) < 2)
{
ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
return 1;
}
new msg[128];
VehicleCreated[id] = 0;
new money = VehicleValue[id]/2;
GivePlayerMoney(playerid, money);
format(msg, sizeof(msg), "You have sold your vehicle for $%d", money);
SendClientMessage(playerid, COLOR_WHITE, msg);
RemovePlayerFromVehicle(playerid);
DestroyVehicle(VehicleID[id]);
SaveVehicle(id);
}
case 5:
{
new vehicleid = GetPVarInt(playerid, "DialogValue1");
if(GetPlayerVehicleAccess(playerid, vehicleid) < 2)
{
ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
return 1;
}
GetVehiclePos(VehicleID[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1], VehiclePos[vehicleid][2]);
GetVehicleZAngle(VehicleID[vehicleid], VehiclePos[vehicleid][3]);
VehicleInterior[vehicleid] = GetPlayerInterior(playerid);
VehicleWorld[vehicleid] = GetPlayerVirtualWorld(playerid);
SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
UpdateVehicle(vehicleid, 1);
PutPlayerInVehicle(playerid, VehicleID[vehicleid], 0);
SaveVehicle(vehicleid);
}
case 6:
{
ShowDialog(playerid, DIALOG_VEHICLE_PLATE);
}
}
}
return 1;
}
if(dialogid == DIALOG_VEHICLE_BUY)
{
return 1;
}
if(dialogid == DIALOG_VEHICLE_SELL)
{
if(response)
{
if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
{
ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
return 1;
}
new targetid = GetPVarInt(playerid, "DialogValue1");
new id = GetPVarInt(playerid, "DialogValue2");
new price = GetPVarInt(playerid, "DialogValue3");
if(GetPlayerMoney(playerid) < price)
{
ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
return 1;
}
new msg[128];
GetPlayerName(playerid, VehicleOwner[id], sizeof(VehicleOwner[]));
GivePlayerMoney(playerid, -price);
GivePlayerMoney(targetid, price);
SaveVehicle(id);
format(msg, sizeof(msg), "You have bought this vehicle for $%d", price);
SendClientMessage(playerid, COLOR_WHITE, msg);
format(msg, sizeof(msg), "%s (%d) has accepted your offer and bought the vehicle", PlayerName(playerid), playerid);
SendClientMessage(targetid, COLOR_WHITE, msg);
}
else
{
new targetid = GetPVarInt(playerid, "DialogValue1");
new msg[128];
format(msg, sizeof(msg), "%s (%d) refused your offer", PlayerName(playerid), playerid);
SendClientMessage(targetid, COLOR_WHITE, msg);
}
return 1;
}
if(dialogid == DIALOG_TRUNK)
{
if(response)
{
SetPVarInt(playerid, "DialogValue2", listitem);
ShowDialog(playerid, DIALOG_TRUNK_ACTION);
}
else
{
new id = GetPVarInt(playerid, "DialogValue1");
ToggleBoot(VehicleID[id], VEHICLE_PARAMS_OFF);
}
return 1;
}
if(dialogid == DIALOG_TRUNK_ACTION)
{
if(response)
{
new id = GetPVarInt(playerid, "DialogValue1");
new slot = GetPVarInt(playerid, "DialogValue2");
switch(listitem)
{
case 0:
{
new weaponid = GetPlayerWeapon(playerid);
if(weaponid == 0)
{
ShowErrorDialog(playerid, "You don't have a weapon in your hands!");
return 1;
}
VehicleTrunk[id][slot][0] = weaponid;
if(IsMeleeWeapon(weaponid)) VehicleTrunk[id][slot][1] = 1;
else VehicleTrunk[id][slot][1] = GetPlayerAmmo(playerid);
RemovePlayerWeapon(playerid, weaponid);
SaveVehicle(id);
}
case 1:
{
if(VehicleTrunk[id][slot][1] <= 0)
{
ShowErrorDialog(playerid, "This slot is empty!");
return 1;
}
GivePlayerWeapon(playerid, VehicleTrunk[id][slot][0], VehicleTrunk[id][slot][1]);
VehicleTrunk[id][slot][0] = 0;
VehicleTrunk[id][slot][1] = 0;
SaveVehicle(id);
}
}
}
ShowDialog(playerid, DIALOG_TRUNK);
return 1;
}
if(dialogid == DIALOG_VEHICLE_PLATE)
{
if(response)
{
if(strlen(inputtext) < 1 || strlen(inputtext) >= sizeof(VehicleNumberPlate[]))
{
ShowErrorDialog(playerid, "Invalid length!");
return 1;
}
new id = GetPVarInt(playerid, "DialogValue1");
new vehicleid = VehicleID[id];
strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[]));
SaveVehicle(id);
SetVehicleNumberPlate(vehicleid, inputtext);
SetVehicleToRespawn(vehicleid);
new msg[128];
format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
else ShowDialog(playerid, DIALOG_VEHICLE);
return 1;
}
if(dialogid == DIALOG_EDITVEHICLE)
{
if(response)
{
new id = GetPVarInt(playerid, "DialogValue1");
new nr, params[128];
sscanf(inputtext, "ds", nr, params);
switch(nr)
{
case 1:
{
new value = strval(params);
if(value < 0) value = 0;
VehicleValue[id] = value;
UpdateVehicleLabel(id, 1);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 2:
{
new value;
if(IsNumeric(params)) value = strval(params);
else value = GetVehicleModelIDFromName(params);
if(value < 400 || value > 611)
{
ShowErrorDialog(playerid, "Modelo inexistente");
return 1;
}
VehicleModel[id] = value;
for(new i=0; i < sizeof(VehicleMods[]); i++)
{
VehicleMods[id][i] = 0;
}
VehiclePaintjob[id] = 255;
UpdateVehicle(id, 1);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 3:
{
new color1, color2;
sscanf(params, "dd", color1, color2);
VehicleColor[id][0] = color1;
VehicleColor[id][1] = color2;
SaveVehicle(id);
ChangeVehicleColor(VehicleID[id], color1, color2);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 4:
{
if(strlen(params) < 1 || strlen(params) > 8)
{
ShowErrorDialog(playerid, "Texto invalido");
return 1;
}
strmid(VehicleNumberPlate[id], params, 0, sizeof(params));
SaveVehicle(id);
SetVehicleNumberPlate(VehicleID[id], params);
SetVehicleToRespawn(VehicleID[id]);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 5:
{
DestroyVehicle(VehicleID[id]);
if(VehicleCreated[id] == VEHICLE_DEALERSHIP)
{
Delete3DTextLabel(VehicleLabel[id]);
}
VehicleCreated[id] = 0;
SaveVehicle(id);
new msg[128];
format(msg, sizeof(msg), "Has removido el vehiculo ID %d", id);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
case 6:
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
ShowErrorDialog(playerid, "No estas conduciendo ningun vehiculo");
return 1;
}
GetVehiclePos(VehicleID[id], VehiclePos[id][0], VehiclePos[id][1], VehiclePos[id][2]);
GetVehicleZAngle(VehicleID[id], VehiclePos[id][3]);
VehicleInterior[id] = GetPlayerInterior(playerid);
VehicleWorld[id] = GetPlayerVirtualWorld(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Has aparcado este vehiculo en esa posicino");
UpdateVehicle(id, 1);
PutPlayerInVehicle(playerid, VehicleID[id], 0);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 7:
{
new Float:x, Float:y, Float:z;
GetVehiclePos(VehicleID[id], x, y, z);
SetPlayerPos(playerid, x, y, z+1);
new msg[128];
format(msg, sizeof(msg), "Has ido al vehiculo ID %d", id);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
}
}
return 1;
}
if(dialogid == DIALOG_FINDVEHICLE)
{
if(response)
{
new vehicleid = GetPlayerVehicleID(playerid);
new Float:x1, Float:y1, Float:z1;
GetVehiclePos(VehicleID[vehicleid], x1, y1, z1);
SetPlayerCheckpoint(playerid, x1, y1, z1, 5);
TrackCar[playerid] = VehicleID[vehicleid];
}
}
}
return 1;
}
pawn Код:
if(dialogid == DIALOG_VEHICLE)
{
if(response)
{
switch(listitem)
{
case 0:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 1) { engine = 0; lights = 0; }
else { engine = 1; lights = 1; }
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 1:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(lights == 1) lights = 0; else lights = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 2:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(bonnet == 1) bonnet = 0; else bonnet = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 3:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(boot == 1) boot = 0; else boot = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 4:
{
new id = GetPVarInt(playerid, "DialogValue1");
if(GetPlayerVehicleAccess(playerid, id) < 2)
{
ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
return 1;
}
new msg[128];
VehicleCreated[id] = 0;
new money = VehicleValue[id]/2;
GivePlayerMoney(playerid, money);
format(msg, sizeof(msg), "You have sold your vehicle for $%d", money);
SendClientMessage(playerid, COLOR_WHITE, msg);
RemovePlayerFromVehicle(playerid);
DestroyVehicle(VehicleID[id]);
SaveVehicle(id);
}
case 5:
{
new vehicleid = GetPVarInt(playerid, "DialogValue1");
if(GetPlayerVehicleAccess(playerid, vehicleid) < 2)
{
ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
return 1;
}
GetVehiclePos(VehicleID[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1], VehiclePos[vehicleid][2]);
GetVehicleZAngle(VehicleID[vehicleid], VehiclePos[vehicleid][3]);
VehicleInterior[vehicleid] = GetPlayerInterior(playerid);
VehicleWorld[vehicleid] = GetPlayerVirtualWorld(playerid);
SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
UpdateVehicle(vehicleid, 1);
PutPlayerInVehicle(playerid, VehicleID[vehicleid], 0);
SaveVehicle(vehicleid);
}
case 6:
{
ShowDialog(playerid, DIALOG_VEHICLE_PLATE);
}
}
}
return 1;
}
if(dialogid == DIALOG_VEHICLE_BUY)
{
return 1;
}
if(dialogid == DIALOG_VEHICLE_SELL)
{
if(response)
{
if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
{
ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
return 1;
}
new targetid = GetPVarInt(playerid, "DialogValue1");
new id = GetPVarInt(playerid, "DialogValue2");
new price = GetPVarInt(playerid, "DialogValue3");
if(GetPlayerMoney(playerid) < price)
{
ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
return 1;
}
new msg[128];
GetPlayerName(playerid, VehicleOwner[id], sizeof(VehicleOwner[]));
GivePlayerMoney(playerid, -price);
GivePlayerMoney(targetid, price);
SaveVehicle(id);
format(msg, sizeof(msg), "You have bought this vehicle for $%d", price);
SendClientMessage(playerid, COLOR_WHITE, msg);
format(msg, sizeof(msg), "%s (%d) has accepted your offer and bought the vehicle", PlayerName(playerid), playerid);
SendClientMessage(targetid, COLOR_WHITE, msg);
}
else
{
new targetid = GetPVarInt(playerid, "DialogValue1");
new msg[128];
format(msg, sizeof(msg), "%s (%d) refused your offer", PlayerName(playerid), playerid);
SendClientMessage(targetid, COLOR_WHITE, msg);
}
return 1;
}
if(dialogid == DIALOG_TRUNK)
{
if(response)
{
SetPVarInt(playerid, "DialogValue2", listitem);
ShowDialog(playerid, DIALOG_TRUNK_ACTION);
}
else
{
new id = GetPVarInt(playerid, "DialogValue1");
ToggleBoot(VehicleID[id], VEHICLE_PARAMS_OFF);
}
return 1;
}
if(dialogid == DIALOG_TRUNK_ACTION)
{
if(response)
{
new id = GetPVarInt(playerid, "DialogValue1");
new slot = GetPVarInt(playerid, "DialogValue2");
switch(listitem)
{
case 0:
{
new weaponid = GetPlayerWeapon(playerid);
if(weaponid == 0)
{
ShowErrorDialog(playerid, "You don't have a weapon in your hands!");
return 1;
}
VehicleTrunk[id][slot][0] = weaponid;
if(IsMeleeWeapon(weaponid)) VehicleTrunk[id][slot][1] = 1;
else VehicleTrunk[id][slot][1] = GetPlayerAmmo(playerid);
RemovePlayerWeapon(playerid, weaponid);
SaveVehicle(id);
}
case 1:
{
if(VehicleTrunk[id][slot][1] <= 0)
{
ShowErrorDialog(playerid, "This slot is empty!");
return 1;
}
GivePlayerWeapon(playerid, VehicleTrunk[id][slot][0], VehicleTrunk[id][slot][1]);
VehicleTrunk[id][slot][0] = 0;
VehicleTrunk[id][slot][1] = 0;
SaveVehicle(id);
}
}
}
ShowDialog(playerid, DIALOG_TRUNK);
return 1;
}
if(dialogid == DIALOG_VEHICLE_PLATE)
{
if(response)
{
if(strlen(inputtext) < 1 || strlen(inputtext) >= sizeof(VehicleNumberPlate[]))
{
ShowErrorDialog(playerid, "Invalid length!");
return 1;
}
new id = GetPVarInt(playerid, "DialogValue1");
new vehicleid = VehicleID[id];
strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[]));
SaveVehicle(id);
SetVehicleNumberPlate(vehicleid, inputtext);
SetVehicleToRespawn(vehicleid);
new msg[128];
format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
else ShowDialog(playerid, DIALOG_VEHICLE);
return 1;
}
if(dialogid == DIALOG_EDITVEHICLE)
{
if(response)
{
new id = GetPVarInt(playerid, "DialogValue1");
new nr, params[128];
sscanf(inputtext, "ds", nr, params);
switch(nr)
{
case 1:
{
new value = strval(params);
if(value < 0) value = 0;
VehicleValue[id] = value;
UpdateVehicleLabel(id, 1);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 2:
{
new value;
if(IsNumeric(params)) value = strval(params);
else value = GetVehicleModelIDFromName(params);
if(value < 400 || value > 611)
{
ShowErrorDialog(playerid, "Modelo inexistente");
return 1;
}
VehicleModel[id] = value;
for(new i=0; i < sizeof(VehicleMods[]); i++)
{
VehicleMods[id][i] = 0;
}
VehiclePaintjob[id] = 255;
UpdateVehicle(id, 1);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 3:
{
new color1, color2;
sscanf(params, "dd", color1, color2);
VehicleColor[id][0] = color1;
VehicleColor[id][1] = color2;
SaveVehicle(id);
ChangeVehicleColor(VehicleID[id], color1, color2);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 4:
{
if(strlen(params) < 1 || strlen(params) > 8)
{
ShowErrorDialog(playerid, "Texto invalido");
return 1;
}
strmid(VehicleNumberPlate[id], params, 0, sizeof(params));
SaveVehicle(id);
SetVehicleNumberPlate(VehicleID[id], params);
SetVehicleToRespawn(VehicleID[id]);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 5:
{
DestroyVehicle(VehicleID[id]);
if(VehicleCreated[id] == VEHICLE_DEALERSHIP)
{
Delete3DTextLabel(VehicleLabel[id]);
}
VehicleCreated[id] = 0;
SaveVehicle(id);
new msg[128];
format(msg, sizeof(msg), "Has removido el vehiculo ID %d", id);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
case 6:
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
ShowErrorDialog(playerid, "No estas conduciendo ningun vehiculo");
return 1;
}
GetVehiclePos(VehicleID[id], VehiclePos[id][0], VehiclePos[id][1], VehiclePos[id][2]);
GetVehicleZAngle(VehicleID[id], VehiclePos[id][3]);
VehicleInterior[id] = GetPlayerInterior(playerid);
VehicleWorld[id] = GetPlayerVirtualWorld(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Has aparcado este vehiculo en esa posicino");
UpdateVehicle(id, 1);
PutPlayerInVehicle(playerid, VehicleID[id], 0);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 7:
{
new Float:x, Float:y, Float:z;
GetVehiclePos(VehicleID[id], x, y, z);
SetPlayerPos(playerid, x, y, z+1);
new msg[128];
format(msg, sizeof(msg), "Has ido al vehiculo ID %d", id);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
}
}
return 1;
}
if(dialogid == DIALOG_FINDVEHICLE)
{
if(response)
{
new vehicleid = GetPlayerVehicleID(playerid);
new Float:x1, Float:y1, Float:z1;
GetVehiclePos(VehicleID[vehicleid], x1, y1, z1);
SetPlayerCheckpoint(playerid, x1, y1, z1, 5);
TrackCar[playerid] = VehicleID[vehicleid];
}
}
}
return 1;
}
Los errores:
Код:
C:\Documents and Settings\Nazareno\Escritorio\RP NUEVO\gamemodes\CH-RP.pwn(2057) : error 002: only a single statement (or expression) can follow each "case" C:\Documents and Settings\Nazareno\Escritorio\RP NUEVO\gamemodes\CH-RP.pwn(2057 -- 2058) : error 028: invalid subscript (not an array or too many subscripts): "DIALOG_VEHICLE" C:\Documents and Settings\Nazareno\Escritorio\RP NUEVO\gamemodes\CH-RP.pwn(2057 -- 2059) : error 001: expected token: "}", but found "if" C:\Documents and Settings\Nazareno\Escritorio\RP NUEVO\gamemodes\CH-RP.pwn(2057 -- 2059) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.
PD: asн estб en el GM de dуnde lo saquй:
pawn Код:
if(dialogid == DIALOG_VEHICLE)
{
if(response)
{
switch(listitem)
{
case 0:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == 1) { engine = 0; lights = 0; }
else { engine = 1; lights = 1; }
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 1:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(lights == 1) lights = 0; else lights = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 2:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(bonnet == 1) bonnet = 0; else bonnet = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 3:
{
new vehicleid = GetPlayerVehicleID(playerid);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
if(boot == 1) boot = 0; else boot = 1;
SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
}
case 4:
{
new id = GetPVarInt(playerid, "DialogValue1");
if(GetPlayerVehicleAccess(playerid, id) < 2)
{
ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
return 1;
}
new msg[128];
VehicleCreated[id] = 0;
new money = VehicleValue[id]/2;
GivePlayerMoney(playerid, money);
format(msg, sizeof(msg), "You have sold your vehicle for $%d", money);
SendClientMessage(playerid, COLOR_WHITE, msg);
RemovePlayerFromVehicle(playerid);
DestroyVehicle(VehicleID[id]);
SaveVehicle(id);
}
case 5:
{
new vehicleid = GetPVarInt(playerid, "DialogValue1");
if(GetPlayerVehicleAccess(playerid, vehicleid) < 2)
{
ShowErrorDialog(playerid, "You are not the owner of this vehicle!");
return 1;
}
GetVehiclePos(VehicleID[vehicleid], VehiclePos[vehicleid][0], VehiclePos[vehicleid][1], VehiclePos[vehicleid][2]);
GetVehicleZAngle(VehicleID[vehicleid], VehiclePos[vehicleid][3]);
VehicleInterior[vehicleid] = GetPlayerInterior(playerid);
VehicleWorld[vehicleid] = GetPlayerVirtualWorld(playerid);
SendClientMessage(playerid, COLOR_WHITE, "You have parked this vehicle here");
UpdateVehicle(vehicleid, 1);
PutPlayerInVehicle(playerid, VehicleID[vehicleid], 0);
SaveVehicle(vehicleid);
}
case 6:
{
ShowDialog(playerid, DIALOG_VEHICLE_PLATE);
}
}
}
return 1;
}
if(dialogid == DIALOG_VEHICLE_BUY)
{
return 1;
}
if(dialogid == DIALOG_VEHICLE_SELL)
{
if(response)
{
if(GetPlayerVehicles(playerid) >= MAX_PLAYER_VEHICLES)
{
ShowErrorDialog(playerid, "You can't buy any more vehicles! Max: " #MAX_PLAYER_VEHICLES );
return 1;
}
new targetid = GetPVarInt(playerid, "DialogValue1");
new id = GetPVarInt(playerid, "DialogValue2");
new price = GetPVarInt(playerid, "DialogValue3");
if(GetPlayerMoney(playerid) < price)
{
ShowErrorDialog(playerid, "You don't have enough money to buy this vehicle!");
return 1;
}
new msg[128];
GetPlayerName(playerid, VehicleOwner[id], sizeof(VehicleOwner[]));
GivePlayerMoney(playerid, -price);
GivePlayerMoney(targetid, price);
SaveVehicle(id);
format(msg, sizeof(msg), "You have bought this vehicle for $%d", price);
SendClientMessage(playerid, COLOR_WHITE, msg);
format(msg, sizeof(msg), "%s (%d) has accepted your offer and bought the vehicle", PlayerName(playerid), playerid);
SendClientMessage(targetid, COLOR_WHITE, msg);
}
else
{
new targetid = GetPVarInt(playerid, "DialogValue1");
new msg[128];
format(msg, sizeof(msg), "%s (%d) refused your offer", PlayerName(playerid), playerid);
SendClientMessage(targetid, COLOR_WHITE, msg);
}
return 1;
}
if(dialogid == DIALOG_TRUNK)
{
if(response)
{
SetPVarInt(playerid, "DialogValue2", listitem);
ShowDialog(playerid, DIALOG_TRUNK_ACTION);
}
else
{
new id = GetPVarInt(playerid, "DialogValue1");
ToggleBoot(VehicleID[id], VEHICLE_PARAMS_OFF);
}
return 1;
}
if(dialogid == DIALOG_TRUNK_ACTION)
{
if(response)
{
new id = GetPVarInt(playerid, "DialogValue1");
new slot = GetPVarInt(playerid, "DialogValue2");
switch(listitem)
{
case 0:
{
new weaponid = GetPlayerWeapon(playerid);
if(weaponid == 0)
{
ShowErrorDialog(playerid, "You don't have a weapon in your hands!");
return 1;
}
VehicleTrunk[id][slot][0] = weaponid;
if(IsMeleeWeapon(weaponid)) VehicleTrunk[id][slot][1] = 1;
else VehicleTrunk[id][slot][1] = GetPlayerAmmo(playerid);
RemovePlayerWeapon(playerid, weaponid);
SaveVehicle(id);
}
case 1:
{
if(VehicleTrunk[id][slot][1] <= 0)
{
ShowErrorDialog(playerid, "This slot is empty!");
return 1;
}
GivePlayerWeapon(playerid, VehicleTrunk[id][slot][0], VehicleTrunk[id][slot][1]);
VehicleTrunk[id][slot][0] = 0;
VehicleTrunk[id][slot][1] = 0;
SaveVehicle(id);
}
}
}
ShowDialog(playerid, DIALOG_TRUNK);
return 1;
}
if(dialogid == DIALOG_VEHICLE_PLATE)
{
if(response)
{
if(strlen(inputtext) < 1 || strlen(inputtext) >= sizeof(VehicleNumberPlate[]))
{
ShowErrorDialog(playerid, "Invalid length!");
return 1;
}
new id = GetPVarInt(playerid, "DialogValue1");
new vehicleid = VehicleID[id];
strmid(VehicleNumberPlate[id], inputtext, 0, sizeof(VehicleNumberPlate[]));
SaveVehicle(id);
SetVehicleNumberPlate(vehicleid, inputtext);
SetVehicleToRespawn(vehicleid);
new msg[128];
format(msg, sizeof(msg), "You have changed vehicle number plate to %s", inputtext);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
else ShowDialog(playerid, DIALOG_VEHICLE);
return 1;
}
if(dialogid == DIALOG_EDITVEHICLE)
{
if(response)
{
new id = GetPVarInt(playerid, "DialogValue1");
new nr, params[128];
sscanf(inputtext, "ds", nr, params);
switch(nr)
{
case 1:
{
new value = strval(params);
if(value < 0) value = 0;
VehicleValue[id] = value;
UpdateVehicleLabel(id, 1);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 2:
{
new value;
if(IsNumeric(params)) value = strval(params);
else value = GetVehicleModelIDFromName(params);
if(value < 400 || value > 611)
{
ShowErrorDialog(playerid, "Modelo inexistente");
return 1;
}
VehicleModel[id] = value;
for(new i=0; i < sizeof(VehicleMods[]); i++)
{
VehicleMods[id][i] = 0;
}
VehiclePaintjob[id] = 255;
UpdateVehicle(id, 1);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 3:
{
new color1, color2;
sscanf(params, "dd", color1, color2);
VehicleColor[id][0] = color1;
VehicleColor[id][1] = color2;
SaveVehicle(id);
ChangeVehicleColor(VehicleID[id], color1, color2);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 4:
{
if(strlen(params) < 1 || strlen(params) > 8)
{
ShowErrorDialog(playerid, "Texto invalido");
return 1;
}
strmid(VehicleNumberPlate[id], params, 0, sizeof(params));
SaveVehicle(id);
SetVehicleNumberPlate(VehicleID[id], params);
SetVehicleToRespawn(VehicleID[id]);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 5:
{
DestroyVehicle(VehicleID[id]);
if(VehicleCreated[id] == VEHICLE_DEALERSHIP)
{
Delete3DTextLabel(VehicleLabel[id]);
}
VehicleCreated[id] = 0;
SaveVehicle(id);
new msg[128];
format(msg, sizeof(msg), "Has removido el vehiculo ID %d", id);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
case 6:
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
ShowErrorDialog(playerid, "No estas conduciendo ningun vehiculo");
return 1;
}
GetVehiclePos(VehicleID[id], VehiclePos[id][0], VehiclePos[id][1], VehiclePos[id][2]);
GetVehicleZAngle(VehicleID[id], VehiclePos[id][3]);
VehicleInterior[id] = GetPlayerInterior(playerid);
VehicleWorld[id] = GetPlayerVirtualWorld(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Has aparcado este vehiculo en esa posicino");
UpdateVehicle(id, 1);
PutPlayerInVehicle(playerid, VehicleID[id], 0);
SaveVehicle(id);
ShowDialog(playerid, DIALOG_EDITVEHICLE);
}
case 7:
{
new Float:x, Float:y, Float:z;
GetVehiclePos(VehicleID[id], x, y, z);
SetPlayerPos(playerid, x, y, z+1);
new msg[128];
format(msg, sizeof(msg), "Has ido al vehiculo ID %d", id);
SendClientMessage(playerid, COLOR_WHITE, msg);
}
}
}
return 1;
}
if(dialogid == DIALOG_FINDVEHICLE)
{
if(response)
{
new vehicleid = GetPlayerVehicleID(playerid);
new Float:x1, Float:y1, Float:z1;
GetVehiclePos(VehicleID[vehicleid], x1, y1, z1);
SetPlayerCheckpoint(playerid, x1, y1, z1, 5);
TrackCar[playerid] = VehicleID[vehicleid];
}
return 1;
}
return 0;
}