Kleine Frage zum Scripten eines Befehles

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
  • Guten Abend Breadfish


    Wäre es Theoretisch möglich das wenn man z.b. zu einem Punkt mit einem Car hinfährt dort
    einen bestimmten Befehl eingibt. Das man sozusagen das Car wechseln kann.
    Also z.b. man fährt mit einem Sultan da rein und man will eine NRG haben und gibt
    dann da die Carid für die NRG ein damit man dann auch die NRG bekommt .


    wenn dies Möglich wäre wie könnte man das umsetzen ?



    MFG XDFanta


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

    Einmal editiert, zuletzt von XDFanta ()

  • 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.

  • Die Position muss nicht unbedingt global deklariert werden...
    new car[MAX_PLAYERS];
    ocmd:carwechsel(playerid,params[]){
    new Float:_Pos[3];
    if(!IsPlayerInAnyVehicle(playerid)&&!IsPlayerInRangeOfPoint(playerid,3,x,y,z)) return 1;
    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);
    }


    Nur so als kleine Verbesserung ;)


    L.G.



  • Und wenn ich jetzt will das er auf alle Cars die es auf SAMP gibt zugreifen kann
    also das er z.b. nen Uranus oder nen Infernus haben kann ?
    also halt alle von carid 400 bis 611 ?


    //Edit
    das müsste doch dann so aussehen oder ?


    if(strval(inputtext)>=400&&strval(inputtext)<=611) {


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

  • if(strval(inputtext)<400||strval(inputtext)>611)return 1;
    Mach das so, bzw. sende eine Nachricht ab ;)


    if(strval(inputtext)<400||strval(inputtext)>611)return 1;
    Mach das so, bzw. sende eine Nachricht ab ;)



    :/
    error 017: undefined symbol "inputtext"
    error 036: empty statement
    error 028: invalid subscript (not an array or too many subscripts): "car"
    warning 215: expression has no effect
    error 001: expected token: ";", but found "]"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line


    new car;
    new Float:_Pos[3];
    GetPlayerPos(playerid,_Pos[0],_Pos[1],_Pos[2]);
    DestroyVehicle(GetPlayerVehicleID(playerid));
    if(strval(inputtext)<400||strval(inputtext)>611);
    car[playerid]=CreateVehicle(carid,_Pos[0],_Pos[1],_Pos[2],0,0,0,0);
    return PutPlayerInVehicle(playerid,car[playerid],0);


    Weiß schon was die heißen weiß nur nicht wo da was falsch sein soll Oo


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

  • 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);
    }

  • (45432) : error 029: invalid expression, assumed zero
    (45435) : error 029: invalid expression, assumed zero
    (45436) : warning 209: function "M_PutPlayerInVehicle" should return a value
    (45438) : warning 225: unreachable code


    new Float:_Pos[3],Vehicle[MAX_PLAYERS];
    if(params[]<400||params[]>611)return 1; 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);


    Jeder hat hier nen geilen Text stehen außer mir ._. <3