Hi,
ich habe mir folgendes Script zusammengebastelt:
public erzabgeben(playerid, vehicleid)
{
new str[128];
new rnd = random(Load[vehicleid]);
format(str,sizeof str,"Du hast %skg Gestein abgeliefert!\nIn diesem Gestein befanden sich {009BFF}%skg Eisenerz {FFFFFF}.\n\nDafür erhälst du %s€!",inspoints(Load[vehicleid]),inspoints(rnd),inspoints(rnd+1000));
pInfo[playerid][pMoney] += rnd+1000;
JobInfo[EisenKG] += rnd;
PlayerTextDrawHide(playerid, JobInfo0[playerid]);
TextDrawHideForPlayer(playerid, JobInfo1);
PlayerTextDrawHide(playerid, JobInfo2[playerid]);
ErzjobCP[playerid] = 0;
JobInfo[Erzbergstadium] += 1;
SaveJobInfo();
ShowPlayerDialog(playerid,DLG_ERZ,DIALOG_STYLE_MSGBOX,"Job :: Erzarbeiter",str,"Schliessen","");
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0) {
if(Erzabgeben[playerid] == 1) {
if(GetPlayerVehicleID(playerid) == 406) {
if(HOLDING(KEY_ANALOG_DOWN)) {
if(IsCoordBehindVehicle(GetPlayerVehicleID(playerid),680.9702,824.3072,-26.7051)) {
erztimer[playerid]=SetTimerEx("erzabgeben",7000,0,"dd",playerid,GetPlayerVehicleID(playerid));
kadpressed[playerid] = 1;
} else {
SendClientMessage(playerid,COLOR_LIGHTRED,"Dein Fahrzeug befindet sich nicht mit der Ladefläche zum Gesteinsfilter!");
}
}
if(RELEASED(KEY_ANALOG_DOWN)) {
if(kadpressed[playerid] == 1) { KillTimer(erztimer[playerid]); }
}
}
}
}
return 1;
}
Doch leider wird der "erzabgeben"-Callback nie aufgerufen
Woran liegt es?
lg