Beiträge von Austrianer

    Muss sagen es wäre echt geil, einziger Bug der manchmal vorkommt so immer nach meinem 10. Compilen das sich der Compiler nicht mehr meldet und das ganze Programm abstürzt. Vielleicht liegt es darin das ich soviele Zeilen habe oder was auch immer. Beim englischen gehts ohne Probleme. :wacko:

    Bei deiner else-Zeile liegt der Fehler. Du kannst nicht 2 Sachen nach einer Bedingung machen ohne eine schwellige Klammer.


    if(strcmp(cmdtext,"/vehradio",true)==0) {
    if(IsPlayerInAnyVehicle(playerid)) {
    ShowPlayerDialog(playerid,DIALOG_RADIO,DIALOG_STYLE_LIST, "Gute Radiosender", "TechnoBase.FM\nHouseTime.FM\nByte.FM\nILoveRadio.de\nTop100 Station\nDubstep.FM\nRockland Radio\nRauteMusic House\nRauteMusic Club\nRadio ausschalten", "Auswählen", "Beenden");
    } else {
    SendClientMessage(playerid,0x00FF00AA,"Du bist in keinem Fahrzeug");
    StopAudioStreamForPlayer(playerid);
    }
    return 1;
    }

    public OnPlayerDeath(playerid, killerid, reason) {
    new string[128], name[24];
    SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
    GivePlayerMoney(killerid, 1000); // Geld nach deinem Belieben ändern
    GetPlayerName(killerid, name, sizeof(name));
    format(string, sizeof(string), "Du wurdest von %s getötet.", name);
    SendClientMessage(playerid, FARBE, string);
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "Du hast %s getötet.", name);
    SendClientMessage(killerid, FARBE, string);
    return 1;
    }


    Falls du das mit den Messages nicht haben möchtest, einfach entfernen ;)

    Den Fehler hatte ich auch mal, ich habe extrem lange danach gesucht, bis ich es gefunden habe. Die Schleife durchläuft alle Fahrzeuge die du maximal hast obwohl sie nicht mal gespawnt/erstellt worden ist.
    Deswegen würde ich dir das empfehlen.


    for(new x=0;x<MaxVeh;x++)
    {
    if(IsVehicleStreamedIn(x, playerid)
    {
    if(strcmp(PlayerCar[gpid][x][CarNummernschild],kz,true)==0)
    {
    PlayerCar[gpid][x][CarAbgeschleppt] = 1;
    PlayerCar[gpid][x][CarSperrpreis]=preis;
    }
    } else {
    break;
    }
    }

    Omg da haben ein paar Poster Scripten verlernt.


    Beim Kickbefehl keinen String verwenden.
    Die Kick-Methode benötigt einen Int-Wert ;)


    Weder strlen -> Weil das nur die Zeichenlänge des Strings angibt und nicht den String zu einem Int macht.
    Außerdem auch nicht inputtext einfach einsetzen. Fail X( ^^


    Kick(strval(inputtext);


    Strval wird benutzt um einen String zu einem Int zu machen.


    ;)

    Einfach die Special-Actions anschauen dann siehst du es.


    Zitat

    0 - SPECIAL_ACTION_NONE


    SetPlayerSpecialAction(pID,SPECIAL_ACTION_NONE);


    Das jetzt unter irgendeinen Befehl einbauen oder wenn er ihn einknastet ;)

    Ich hatte mein Tachosystem mit mehreren Textdraws, und immer wenn ich das eine PlayerTextdraw neu gesetzt habe sind die anderen verschwunden und das neugesetzte wurde angezeigt. Immer eins nach dem anderem. Hab jetzt alle in eines zusammengefügt dies funktioniert.

    Hmm das ist echt komisch.


    Dann füg dies mal unter OnGameModeInit ein.


    for(new i=1; i != MAX_VEHICLES; i++)
    {
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    }


    Und das bei OnVehicleSpawn entfernen den Code innerhalb des Callbacks.

    Du hast Level geschrieben, diese Variable gibt es bei dir gar nicht. Du hast das Admin davor vergessen.


    format(string, sizeof(string), "%s's Adminlevel wurde von %s auf %d gesetzt.", pIDName, Givername, Level);


    in


    format(string, sizeof(string), "%s's Adminlevel wurde von %s auf %d gesetzt.", pIDName, Givername, AdminLevel);


    umändern.


    Probier es dann mal aus.

    Du hast einen fatalen Fehler gemacht. Und zwar hast du die schwelligen Klammern vergessen.


    if(Admin == 1) {
    new Float:x,Float:y,Float:z; // <-- Landet sowieso unter der if Anweisung.
    GetPlayerPos(playerid, x, y, z);
    CreateHaus(x,y,z,100,"Keiner",strval(params));
    }


    So funktioniert es. ;)


    EDIT:


    Goldkiller war schneller als ich ;)

    Jedes Mal wenn du nun ein Fahrzeug spawnst wird die Schleife aufgerufen. Omg das kannst du doch nicht tun :pinch:


    Außerdem hab ich deinen Fehler schon gefunden. Du hast die Werte für engine, lights usw. nicht gesetzt.
    Hier für dich ;)


    public OnVehicleSpawn(vehicleid) {
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    return 1;
    }

    Ist eh ganz leicht.


    Aber kommt jetzt drauf an ob du möchtest das der eingeladene Spieler das Angebot ablehnen/akzeptieren kann oder der Leader gleich einen Spieler ohne Ablehnung/Annehmung inviten kann ;)