RC Cars

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Zuerst oben die defines:


    #define RC_BANDIT 441
    #define RC_BARON 464
    #define RC_GOBLIN 501
    #define RC_RAIDER 465
    #define D_TRAM 449
    #define RC_MINITANK 564
    #define RC_CAM 594


    Dann bei OnPlayerKeyStateChange das:


    if(newkeys == KEY_SECONDARY_ATTACK ){//the secondary attack key ,which you can change into your own choice
    if(!IsPlayerInAnyVehicle(playerid)){ //checks the player if he/she is in the vehicle.
    new Float:x, Float:y, Float:z, vehicle; //these Float gets the player position that where the player is present
    GetPlayerPos(playerid, x, y, z );//gets player position
    GetVehicleWithinDistance(playerid, x, y, z, 20.0, vehicle);//gets the player distance from the vehicle


    if(IsVehicleRc(vehicle)){ //it checks the player vehicle is RC or not .
    PutPlayerInVehicle(playerid, vehicle, 0);
    }
    }


    else {
    new vehicleID = GetPlayerVehicleID(playerid);
    if(IsVehicleRc(vehicleID) || GetVehicleModel(vehicleID) == RC_CAM){
    if(GetVehicleModel(vehicleID) != D_TRAM){
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    SetPlayerPos(playerid, x+0.5, y, z+1.0);
    }
    }
    }
    }


    Und zu unterst im Script (Nicht in einem Public das):


    GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &veh){//It should be in script other wise the GetVehicleWithInDistance will not work
    for(new i = 1; i < MAX_VEHICLES; i++){
    if(GetVehicleModel(i) > 0){
    if(GetPlayerVehicleID(playerid) != i ){
    new Float:x, Float:y, Float:z;
    new Float:x2, Float:y2, Float:z2;
    GetVehiclePos(i, x, y, z);
    x2 = x1 - x; y2 = y1 - y; z2 = z1 - z;
    new Float:vDist = (x2*x2+y2*y2+z2*z2);
    if( vDist < dist){
    veh = i;
    dist = vDist;
    }
    }
    }
    }
    }
    IsVehicleRc( vehicleid ){//defines the RC vehicles.
    new model = GetVehicleModel(vehicleid);
    switch(model){
    case RC_GOBLIN, RC_BARON, RC_BANDIT, RC_RAIDER, RC_MINITANK: return 1;
    default: return 0;
    }


    return 0;
    }


    Wurde getestet und funktioniert!