Beiträge von Akino Kiritani

    if(spielername == autoinfo[autoid][besitzer])


    so würd ich anfangen aber ohne variablen von deiner seite kann man dir wirklich nicht helfen, da wir, wie GooMAn schon sagte, nicht wissen wie du das abspeicherst.

    Wo genau meinst du bei DeleteString oder EineZeileInDerDatei ?


    //Edit: Es wäre echt nett wenn mir jemand helfen würde, da ich nicht weiß wo ich \r\n einfügen soll, es würd ja wenig Sinn machen, wenn ich das beim DeleteString mache. Nur wie soll ich das in diesen string bekommen?: EineZeileInDerDatei Ich hab das schon so ausprobiert fwrite(f, EineZeileInDerDatei\r\n); aber er spuckt mir dann nur diese Errors aus


    Zitat

    *:\****\*** ********\*********\AutosLaden.pwn(137) : error 001: expected token: ",", but found "\"
    *:\****\*** ********\*********\AutosLaden.pwn(137) : error 029: invalid expression, assumed zero
    *:\****\*** ********\*********\AutosLaden.pwn(137) : error 017: undefined symbol "r"
    *:\****\*** ********\*********\AutosLaden.pwn(137) : fatal error 107: too many error messages on one line

    1. Bist du dir Sicher das du dich auch in dem gewählten berreich aufhälst?
    2. müsste es doch so lauten
    if(BizInfo[bizSuperMarkt][bizProds]<-9999)
    {
    SendClientMessage(playerid,cRed,"Wir haben keine Prods mehr");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,BuyDia,2,BizInfo[bizSuperMarkt][bizName],"Telefonbuch\t\t10$\nWürfel\t\t\t2$\nFlasche Wasser(1l)\t5$\nFlasche Cola(1l)\t10$\nFlasche Bier(0,5l)\t12$\nBrot\t\t\t4$\nKondome,5er Packung\t20$\nFunkgerät\t\t180$","Kaufen","Beenden");
    }
    aber mir stellt sich die Frage warum du diese abfrage machst: if(BizInfo[bizSuperMarkt][bizProds]<-9999) Kann den ein biz unter 0 Prods haben? Müsste es dann nicht if(BizInfo[bizSuperMarkt][bizProds]==0)lauten?
    Befehl(ungetestet)
    dcmd_buy(playerid,params[])
    {
    #pragma unused params
    if(IsPlayerInRangeOfPoint(playerid,4.5,2.3995,-28.9299,1003.5494))
    {
    if(BizInfo[bizSuperMarkt][bizProds]==0)
    {
    SendClientMessage(playerid,cRed,"Wir haben keine Prods mehr");
    }
    else
    {
    ShowPlayerDialog(playerid,BuyDia,2,BizInfo[bizSuperMarkt][bizName],"Telefonbuch\t\t10$\nWürfel\t\t\t2$\nFlasche Wasser(1l)\t5$\nFlasche Cola(1l)\t10$\nFlasche Bier(0,5l)\t12$\nBrot\t\t\t4$\nKondome,5er Packung\t20$\nFunkgerät\t\t180$","Kaufen","Beenden");
    }
    }
    return 1;
    }


    //Edit: ein return enternt

    Du kannst dir passend zur Jahreszeit den GTA Snow Mod installieren, nur musste aufpassen, dass du nicht alle Funktionen davon installierst, am besten nur die GTA3.img, sonst hast du nachher ein großes Problem


    PS: Ich spreche/schreibe aus Erfahrung


    //Edit: Rechtschreibung und etwas hinzugefügt
    //Edit2: Der Snow mod hat auch das Detailed Radar

    Du musst bei den incudes #include <streamer> reinschreiben und bei OnGameModeInit die Objekt einfügen. Nur heißt es dann nicht CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance); sondern CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1(optional), interiorid = -1(optional), playerid = -1(optional), Float:distance = 200.0(optional));
    das musst du dann halt mit deinen Werte/Kordinaten ersetzten

    Das liegt wohl daran das ich was vertauscht habe -.-


    #if defined TANK_SYS
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(AUTOX[vehicleid][tank] < 1)
    {
    SendClientMessage(playerid,WHITE," Motor kann nicht gestartet werden da der Tank leer ist!");
    AUTOX[vehicleid][motor_an] = 0;
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    if(healthv > (375.0))
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new rando = random(4);
    switch(rando)
    {
    case 0:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    case 1:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    case 2:
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    }
    case 3:
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    }
    case 4:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    default:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    }
    }
    }
    #else
    if(healthv > (375.0))
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new rando = random(4);
    switch(rando)
    {
    case 0:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    case 1:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    case 2:
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    }
    case 3:
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    }
    case 4:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    default:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    }
    }
    #endif
    }
    else
    {
    AUTOX[vehicleid][motor_an] = 0;
    SendClientMessage(playerid,WHITE," Motor wurde ausgemacht.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }
    #endif
    return 0;


    Außerdem war das nicht
    TogglePlayerControllable(playerid,1);
    sondern
    TogglePlayerControllable(playerid,0);
    das du ersetzen solltest. Sorry mein Fehler -.-
    TogglePlayerControllable(playerid,1); // <- bewegbar
    TogglePlayerControllable(playerid,0); // <- nicht bewegbar


    Wenn das immer noch nicht geht musste mal den code posten von dem Schadensystem, wo der Motor dann ausgeht


    //Edit: verbessert
    //Edit: Rechtschreibung

    Du solltest jetzt nicht OnPlayerStateChange unten einfügen, sondern nach OnPlayerStateChange suchen und es dort einfügen
    so:
    public OnPlayerStateChange(playerid,newstate,oldstate)
    {
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    //weiterer code von dir
    }
    //weiterer code von dir
    }


    //Edit1 & Edit 3: etwas entfernt
    //Edit2: Ghosty biste verrückt nachher löscht er noch das falsche

    Ja diese Funktion bleibt dann, nur wird der Spieler nicht mehr gefreezt sondern der Motor bleibt aus


    //Edit: Das ganze sieht dann so aus


    #if defined TANK_SYS
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(AUTOX[vehicleid][tank] < 1)
    {
    SendClientMessage(playerid,WHITE," Motor kann nicht gestartet werden da der Tank leer ist!");
    AUTOX[vehicleid][motor_an] = 0;
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    if(healthv > (375.0))
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new rando = random(4);
    switch(rando)
    {
    case 0:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    }
    case 1:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    }
    case 2:
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    case 3:
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    case 4:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    }
    default:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    }
    }
    }
    }
    #else
    if(healthv > (375.0))
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    else
    {
    new rando = random(4);
    switch(rando)
    {
    case 0:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    }
    case 1:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    }
    case 2:
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    case 3:
    {
    AUTOX[vehicleid][motor_an] = 1;
    SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }
    case 4:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    }
    default:
    {
    SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
    }
    }
    }
    #endif
    }
    else
    {
    AUTOX[vehicleid][motor_an] = 0;
    SendClientMessage(playerid,WHITE," Motor wurde ausgemacht.");
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    }
    return 1;
    }
    #endif
    return 0;


    //Edit2: SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); für motor an
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); für motor aus

    am besten du setzt das bei OnPlayerStateChange ein


    code:
    public OnPlayerStateChange(playerid,newstate,oldstate)
    {
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    return 1;
    }
    Dann ist der Motor aus wenn du einsteigst
    oder halt bei OnPlayerEnterVehicle


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new vid = GetPlayerVehicleID(playerid);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    return 1;
    }


    PS: setz nächstes mal deinen code in den [pwn] tag


    //Edit: ungetest müsste aber funktionieren
    //Edit2: du müsstet dann auch TogglePlayerControllable(playerid,1); von deinem Motorsystem mit den VehicleParams ersetzen

    Ma ne frage warum hast du natives im Script stehen?


    SetVehicleParamsEx wird doch so verwendet:


    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); // <- für motor aus


    sonst guck einfach in den Tutorials