Hi Community.
Ich arbeite derzeit an einem Entwickler-Script für mich selbst(<-weil ich nicht weiß was ich tun soll)
Soweit hat alles geklappt, jedoch hänge ich an meinen eigenen Save-Befehlen.
Ich möchte, dass nicht alles als AddPlayerClass ausgespieben wird sondern gleich als z.B. CreatePickup.
Nun zum Problem:
Ich habe diesen Code:
dcmd_savepickup(playerid, params[])
{
#pragma unused params
if(!IsPlayerInAnyVehicle(playerid))
{
ShowPlayerDialog(playerid, pickup_start, DIALOG_STYLE_MSGBOX, "Pickup Saving Progress - 0%", "This dialog will guide you through the pickup saving.\nThe data type will be shown at the single steps.", "Next", "Cancel");
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Feature not available. Leave the car and try it again.");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == pickup_start)
{
ShowPlayerDialog(playerid, pickup_variable, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 20%", "The variable you want to use in the script(e.g. pickup1)\nShould be a string.", "Next", "Back");
}
if(dialogid == pickup_variable)
{
if(response == 0)
{
ShowPlayerDialog(playerid, pickup_start, DIALOG_STYLE_MSGBOX, "Pickup Saving Progress - 0%", "This dialog will guide you through the pickup saving.\nThe data type will be shown at the single steps.", "Next", "Cancel");
}
else
{
pickupVariableTag = strlen(inputtext);
ShowPlayerDialog(playerid, pickup_type, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 40%", "The type of pickup(e.g. 1 for 'Not pickupable, exists all the time.')\nShould be an integer.\nFull list at http://wiki.sa-mp.com/wiki/PickupTypes.", "Next", "Back");
}
}
if(dialogid == pickup_type)
{
if(response == 0)
{
ShowPlayerDialog(playerid, pickup_variable, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 20%", "The variable you want to use in the script(e.g. pickup1)\nShould be a string.", "Next", "Back");
pickupVariableTag = 0;
}
else
{
pickupType = strlen(inputtext);
ShowPlayerDialog(playerid, pickup_world, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 60%", "The world where the pickup will be shown(Hint: -1 for all worlds)\nShould be an integer.", "Next", "Back");
}
}
if(dialogid == pickup_world)
{
if(response == 0)
{
ShowPlayerDialog(playerid, pickup_type, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 40%", "The type of pickup(e.g. 1 for 'Not pickupable, exists all the time.')\nShould be an integer.\nFull list at http://wiki.sa-mp.com/wiki/PickupTypes.", "Next", "Back");
pickupType = 0;
}
else
{
pickupWorld = strlen(inputtext);
ShowPlayerDialog(playerid, pickup_name, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 80%", "The name will be shown as a comment behind the line.\nShould be an string.", "Next", "Back");
}
}
if(dialogid == pickup_name)
{
if(response == 0)
{
ShowPlayerDialog(playerid, pickup_world, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 60%", "The world where the pickup will be shown(Hint: -1 for all worlds)\nShould be an integer.", "Next", "Back");
pickupWorld = 0;
}
else
{
pickupName = strlen(inputtext);
ShowPlayerDialog(playerid, pickup_end, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 100%", "While you are reading this, the pickup data will be saved in a file.\nHint: Look at the scriptfiles folder.", "Next", "Back");
}
}
if(dialogid == pickup_end)
{
if(response == 0)
{
ShowPlayerDialog(playerid, pickup_name, DIALOG_STYLE_INPUT, "Pickup Saving Progress - 80%", "The name will be shown as a comment behind the line.\nShould be an string.", "Next", "Back");
pickupName = 0;
}
else
{
GetPlayerPos(playerid, xPos, yPos, zPos);
new File:picks=fopen("pickups.wrn", io_append);
format(string, 256, "new %s \r\n%s = CreatePickup(1242, %d, %f, %f, %f, %d);//%s \r\n", pickupVariableTag, pickupType, xPos, yPos, zPos, pickupWorld, pickupName);
fwrite(picks, string);
fclose(picks);
}
}
return 1;
}
Im Script sind keine Errors und keine Warnings.
Aber wenn ich nun ins Spiel gehe und etwas eingebe passiert etwas vollkommen falsches.
Ich gebe jetzt z.B. ein: Variable = pickup1, Type=1, World=-1, Name=pickup is nice
Und das wird generiert:
Hatte es vorher auch anders, wie z.B. bei den Vehicles:
dcmd_savevehcoords(playerid, params[])
{
new vehicleVariableTag, vehicleType, vehicleLongName, vehicleFirstColor, vehicleSecondColor, Float:xPos, Float:yPos, Float:zPos, Float:rotation, string[128];
if(IsPlayerInVehicle(playerid, car))
{
if (sscanf(params, "sdds", vehicleVariableTag, vehicleFirstColor, vehicleSecondColor, vehicleLongName)) SendClientMessage(playerid, 0xFF0000FF, "Usage: \"/savevehcoords [variable tag][first color][second color][longname]\"");
if (vehicleFirstColor <= 0 && vehicleFirstColor >= 255) vehicleFirstColor = 0;
if (vehicleSecondColor <= 0 && vehicleSecondColor >= 255) vehicleSecondColor = 0;
else
{
GetVehiclePos(car, xPos, yPos, zPos);
GetVehicleZAngle(car, rotation);
vehicleType = GetVehicleModel(car);
new File:vehs=fopen("vehicles.wrn", io_append);
format(string, 256, " %s = CreateVehicle(%d, %f, %f, %f, %f, %d, %d, 0);//%s \r\n", vehicleVariableTag, vehicleType, xPos, yPos, zPos, rotation, vehicleFirstColor, vehicleSecondColor, vehicleLongName);
fwrite(vehs, string);
fclose(vehs);
}
}
else
{
SendClientMessage(playerid, 0xFF0000FF, "Feature not available. Enter a car and try it again.");
}
return 1;
}
Eingegeben: /savevehcoords test 89 43 thisisatestingcar
Also: Variable=test, Farbe1=89, Farbe2=43, Name=thisisatestingcar
Da kam dann raus:
isisatestingcar = CreateVehicle(456, 1821.068725, -1569.034545, 13.625162, 206.888534, 89, 43, 0);//tÈisisatestingcar
Wäre nett wenn mit jemand versucht zu helfen und gut wenn jemand weiß was mein Fehler ist.
Seit ruhig hart zu mir wenn es ein dummer Fehler ist
Solange es dann geht...
MfG Raphii