Beiträge von Enum

    Die Fehler werden wohl nicht ohne Grund dagewesen sein ;)


    Lade dir mal die neue Include herunter und ersetze diese.

    Euch ist klar, dass das alles falsch ist?
    Ihr könnt unter OnPlayerEnterVehicle kein RemovePlayerFromVehicle benuzen, weil der Spieler noch in keinem Fahrzeug sitzt :thumbup:


    Versuch das mal so ;)
    public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger){
    if(GetVehicleModel(vehicleid)==515&&!ispassenger){
    if(GetPlayerScore(playerid)<2){
    TogglePlayerControllable(playerid,0),TogglePlayerControllable(playerid,1);
    return SendClientMessage(playerid,ROT,"Du brauchst Level 2 um dieses Fahrzeug zu fahren!");
    }
    }
    return 1;
    }
    stock LoadAccount(playerid){
    new Spielerdatei[64],name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(Spielerdatei,64,"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"loggedin",1);
    if(GetPVarInt(playerid,"Baned")==1)return SendClientMessage(playerid,ROT,"Du bist vom Server gebannt."),Kick(playerid);
    return 1;
    }
    EDIT: Oder du fragst das ganze unter OnPlayerStateChange ab, dann kannst du das natürlich mit RemovePlayerFromVehicle benutzen ;)
    Außerdem lässt du unter SpielerLaden das Level usw. nicht in der PVar schreiben, somit kannst du auch nichts mit der PVar auslesen 8o

    Stimmt, wenn er das aber anders gemacht hätte ;)


    @TE: Mach das mal so:
    ocmd:carwechsel(playerid,params[]){
    new Float:_Pos[3],Vehicle[MAX_PLAYERS];
    if(!IsPlayerInAnyVehicle(playerid)||!IsPlayerInRangeOfPoint(playerid,3,x,y,z))return 1;
    if(!params[0])return SendClientMessage(playerid,-1,"/carwechsel [Vehicle-ID]");
    if(strval(params)<400||strval(params)>611)return SendClientMessage(playerid,-1,"Ungültige Vehicle-ID");
    GetPlayerPos(playerid,_Pos[0],_Pos[1],_Pos[2]);
    DestroyVehicle(GetPlayerVehicleID(playerid));
    Vehicle[playerid]=CreateVehicle(params,_Pos[0],_Pos[1],_Pos[2],0,0,0,0);
    return PutPlayerInVehicle(playerid,Vehicle[playerid],0);
    }

    Natürlich ist das möglich ;)
    new Float:_Pos[3],car[MAX_PLAYERS];


    ocmd:carwechsel(playerid,params[]){
    if(IsPlayerInAnyVehicle(playerid)&&IsPlayerInRangeOfPoint(playerid,3,x,y,z)){
    GetPlayerPos(playerid,_Pos[0],_Pos[1],_Pos[2]);
    DestroyVehicle(GetPlayerVehicleID(playerid));
    car[playerid]=CreateVehicle(411,_Pos[0],_Pos[1],_Pos[2],0,0,0,0);
    return PutPlayerInVehicle(playerid,car[playerid],0);
    }
    return 1;
    }
    So ungefähr. Wenn du das mit einem Dialog haben möchtest, dann füge da ein Dialog ein.

    Bekommst du etwas in der server.log geschrieben?


    Außerdem, was hat das hier zu bedeuten mit dem vehicleid?
    dcmd_lock(playerid,vehicleid,params[])
    Das vehicleid muss doch weg, oder?

    if(dialogid==DIALOG_SBUY){
    if(!response)return SendClientMessage(playerid,COLOR_RED,"Scheinkauf abgebrochen...");
    switch(listitem){
    case 0:{
    if(GetPlayerMoney(playerid)<7000)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Bargeld!");
    return GivePlayerMoney(playerid,-7000),GivePlayerWeapon(playerid,30,350),SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast eine AK-47 mit 350 Schuss bekommen!"),1;
    }
    case 1:{
    if(GetPlayerMoney(playerid)<5000)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Bargeld!");
    return GivePlayerMoney(playerid,-5000),GivePlayerWeapon(playerid,24,150),SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast eine Desert Eagle mit 150 Schuss bekommen!"),1;
    }
    case 2:{
    if(GetPlayerMoney(playerid)<6000)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Bargeld!");
    return GivePlayerMoney(playerid,-6000),GivePlayerWeapon(playerid,29,325),SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast eine MP5 mit 325 Schuss bekommen!"),1;
    }
    case 3:{
    if(GetPlayerMoney(playerid)<8500)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Bargeld!");
    return GivePlayerMoney(playerid,-8500),GivePlayerWeapon(playerid,34,90),SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast ein Scharfschützengewehr mit 90 Schuss bekommen!"),1;
    }
    case 4:{
    if(GetPlayerMoney(playerid)<5500)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Bargeld!");
    return GivePlayerMoney(playerid,-5500),GivePlayerWeapon(playerid,26,80),SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast eine Schrotflinte mit 80 Schuss bekommen!"),1;
    }
    case 5:{
    if(GetPlayerMoney(playerid)<1000)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Bargeld!");
    return GivePlayerMoney(playerid,-1000),GivePlayerWeapon(playerid,4,1),SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast ein Messer bekommen!"),1;
    }
    case 6:{
    if(GetPlayerMoney(playerid)<1000)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Bargeld!");
    return GivePlayerMoney(playerid,-1000),GivePlayerWeapon(playerid,5,1),SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du hast einen Baseballschläger bekommen!"),1;
    }
    }
    return 1;
    }
    So ist es nun kurz gehalten ;)
    Sollte auch einwandfrei klappen.