Deine Script Struktur finde ich nicht sehr ansehlich, schreib das mal eher so in meine Richtung.
//OnPlayerConnect
SetPVarInt(playerid, "roller.mieten", -1);
//OnPlayerDisconnect
if(GetPVarInt(playerid, "roller.mieten") != -1) DestroyVehicle(GetPVarInt(playerid, "roller.mieten")), SetPVarInt(playerid, "roller.mieten", -1);
if(!strcmp(cmdtext,"/roller",true)){
if(GetPlayerDistanceFromPoint(playerid, 1235.1978,-1729.1222,13.1712) >= 5.1)return 1;
if(GetPVarInt(playerid,"roller.mieten") >= 0)return SendClientMessage(playerid, RED, "Du hast schon einen Roller gemietet.");
ShowPlayerDialog(playerid,DIALOG_RROLLER,DIALOG_STYLE_MSGBOX, "{00FFA0}Roller Mieten","{FEFEFE}Möchtest du einen Roller für {00FF00}40${FEFEFE} mieten ?","Mieten","Nein");
return 1;
}
if(dialogid == DIALOG_RROLLER){
if(!response)return SendClientMessage(playerid, 0xFFFF00FF, "Du hast den Vorgang abgebrochen");
if(GetPVarInt(playerid,"roller.mieten") >= 0)return SendClientMessage(playerid, RED, "Du hast schon einen Roller gemietet.");
new getmyname[MAX_PLAYER_NAME];
GetPlayerName(playerid, getmyname, sizeof getmyname);
new putVehID = CreateVehicle(462,1235.1978,-1729.1222,13.1712,356.6787,3,3,-1);
SetVehicleNumberPlate(vehiclefid, getmyname),
GivePlayerMoney(playerid,-40),
SendClientMessage(playerid, 0xFFFFFFFF, "Du hast dir einen Roller für 40$ gemietet."),
SendClientMessage(playerid, 0xFFFFFFFF, "Dein Roller wurde auf der Straße Gespawnt"),
SendClientMessage(playerid, 0xFFFFFFFF, "Viel Spaß mit dem Roller");
SetPVarInt(playerid, "roller.mieten", putVehID);
}
Das ganze sollte dann am Ende Funktionieren, kannst es ja mal ausprobieren!
mfg