Beiträge von Jeffry

    Die Debugs werden dir ausgegeben, weil du mysql_log(LOG_ALL); im Code stehen hast.
    Debug-Meldungen dienen nur der Fehlerfindung und sind kein Problem, daher sollte jetzt alles in Ordnung sein.

    Ok, dann ändere
    GivePlayerMoney(playerid,ShopVehicle[i][svCost]/2);
    zu:
    if(i == MAX_CARS_AT_SHOP) return SendClientMessage(playerid,COLOR_GRAD1,"Dieses Fahrzeug ist kein ShopVehicle-Model.");
    GivePlayerMoney(playerid,ShopVehicle[i][svCost]/2);

    Ich habe mitbekommen das @Jeffry sich auskennt

    Ich erstelle keine Codes nach Auftrag und/oder gegen Bezahlung, sorry.


    Ich programmiere nicht gegen Bezahlung, außerdem trete ich keinem Projekt bei, weder frei noch gegen Bezahlung.


    Meiner Meinung nach wirst du aber für 20-30€ auch nichts gescheites bekommen. Da kannst du auch einen DM Gamemode der veröffentlich wurde herunterladen und mit dem einen oder anderen Filterscript verbinden, dann hast du im Endeffekt wesentlich mehr als was du für das Geld bekommen würdest.

    Ok, kannst du dann bitte mal dein OnPlayerDeath posten?


    Passiert das eigentlich bei allen, oder nur bei dir?

    Könntest du von dem Problem vielleicht ein kurzes Video machen, damit wir uns das Problem vorstellen können?

    Du kannst die Schleife hinten dran hängen:
    cmd:motor(playerid,params[])
    {
    #pragma unused params
    if(!IsPlayerInAnyVehicle(playerid))return 1;
    new vehicleid=GetPlayerVehicleID(playerid);
    if(vehicleid==INVALID_VEHICLE_ID)return 1;
    if(EventCar[GetPlayerVehicleID(playerid)] && !adminduty[playerid]) return ErrorMsg(playerid, "Das ist ein Eventfahrzeug.");
    if(GetVehicleModel(vehicleid)==481||GetVehicleModel(vehicleid)==509||GetVehicleModel(vehicleid)==510)
    {
    return 1;
    }
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    for(new i = 0; i < sizeof(PlayerAuto); i++)
    {
    if(!strcmp(SpielerName(playerid),PlayerAuto[i][vkey],true)&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid||!strcmp(SpielerName(playerid),PlayerAuto[i][key1],true)&&strlen(PlayerAuto[i][key1])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid||!strcmp(SpielerName(playerid),PlayerAuto[i][key2],true)&&strlen(PlayerAuto[i][key2])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid
    ||!strcmp(SpielerName(playerid),PlayerAuto[i][key3],true)&&strlen(PlayerAuto[i][key3])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid||!strcmp(SpielerName(playerid),PlayerAuto[i][key4],true)&&strlen(PlayerAuto[i][key4])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid||!strcmp(SpielerName(playerid),PlayerAuto[i][key5],true)&&strlen(PlayerAuto[i][key5])&&PlayerAuto[i][vmodel]!=0&&PlayerAuto[i][id_x]==vehicleid)
    {
    if(engine==1)
    {
    engineOff(vehicleid);
    GameTextForPlayer(playerid,"~w~Motor ~r~ausgeschaltet",1500,4);
    }
    else
    {
    if(tank[vehicleid]>0)
    {
    if(istkaputt[vehicleid]==0)
    {
    engineOn(vehicleid);
    GameTextForPlayer(playerid,"~w~Motor ~g~angeschaltet",1500,4);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Der Motor ist kaputt.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"ACHTUNG: Kein Benzin!");
    }
    }
    }
    }
    for(new i = 0; i < sizeof(FraktAuto); i++)
    {
    if(vehicleid == FraktAuto[i][id_x])
    {
    if(!IsPlayerInFrakt(playerid,FraktAuto[i][besitzer]))
    {
    SendClientMessage(playerid, 0xFF0000FF, "Error: Du bist nicht in der Fraktion dieses Fahrzeugs.");
    return 1;
    }
    if(engine==1)
    {
    engineOff(vehicleid);
    GameTextForPlayer(playerid,"~w~Motor ~r~angeschaltet",1500,4);
    }
    if(engine==0)
    {
    engineOn(vehicleid);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~aus!", 2000, 5);
    }
    break;
    }
    }
    for(new i = 0; i < sizeof(taxicar); i++)
    {
    if(vehicleid == taxicar[i])
    {
    if(!IsPlayerInFrakt(playerid,TAXI_FRAK_HIER))
    {
    SendClientMessage(playerid, 0xFF0000FF, "Error: Du bist nicht in der Fraktion dieses Fahrzeugs.");
    return 1;
    }
    if(engine==1)
    {
    engineOff(vehicleid);
    GameTextForPlayer(playerid,"~w~Motor ~r~angeschaltet",1500,4);
    }
    if(engine==0)
    {
    engineOn(vehicleid);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~aus!", 2000, 5);
    }
    break;
    }
    }
    return 1;
    }

    Klar ist das in Ordnung ;) nur ist deine Vermutung mit TextDrawLetterSize nicht ganz richtig. Bei ihm im Code fehlt TextDrawTextSize, er muss das nach der angegebenen "Formel" hinzufügen, TextDrawLetterSize bleibt gleich.


    In etwa geschätzt so:
    TextDrawTextSize(RadioSystemDraw[6], 351.0 + 40.0, 15.0);
    Wie gesagt, nur geschätzt, das musst du wahrscheinlich noch etwas anpassen, da ich nicht genau weiß wie groß das Textdraw wirklich ist.

    Liegt es an der neuen Datei? oder woran?

    Daran sollte es eigentlich nicht liegen. Möglicherweise war es zuvor nicht (richtig) kompiliert. Du kannst die Datei ja mal wieder entfernen und schauen ob der Fehler dann wieder auftritt, sollte er eigentlich aber nicht, wenn der Code richtig ist.
    Aber das wichtigste ist ja, dass es jetzt funktioniert! :)

    @Tusk warum machst du es dann so umständlich, wenn es so simpel ist?
    Anstatt dem Funktionsaufruf und der Schleife darin kannst du auch einfach die Zählervariable nutzen. Außerdem braucht man das boolean Array nicht.


    ________________


    @DerBossDavid


    Unter den Includes:
    new TeamSize[2];
    new TeamID[MAX_PLAYERS] = {-1,...}; //Setzt alle Spieler auf Team -1 (kein Team)


    Wenn der Spieler das Match betritt:
    if(TeamID[playerid] != -1) return 1;
    TeamID[playerid] = TeamSize[1] < TeamSize[0] ? 1 : 0;
    TeamSize[TeamID[playerid]]++;
    Die zweite Zeile heißt:
    Wenn TeamSize von 1 kleiner als die von Team 0 ist, dann wird er in Team 1 gesetzt, ansonsten in Team 0.
    Alternativ kannst du die Zeile auch so schreiben:
    if(TeamSize[1] < TeamSize[0]) TeamID[playerid] = 1;
    else TeamID[playerid] = 0;
    Falls dir das lieber ist.



    Wenn der Spieler das Match verlässt:
    if(TeamID[playerid] == -1) return 1;
    TeamSize[TeamID[playerid]]--;
    TeamID[playerid] = -1;

    Dann versuche folgendes, damit du die Fehlerstelle im Code findest:
    Erstelle in deinem /pawno/ Ordner eine Datei "pawn.cfg" und schreibe dort "-d3" rein (ohne Anführungszeichen). Dann speichere die Datei, und öffne die pawno.exe. Dann wähle deinen Code aus, über "Öffnen", und kompiliere ihn. Du bekommst dann eine mehrzeilige Meldung mit vielen Zahlen im Compiler. Dann starte den Server erneut, und poste nochmal den Log, bzw. lese dort die Zeile des Fehlers aus.


    Das "-d3" ist eine Compiler-Option und schält den Debug Modus an (daher die Meldung im Compiler).
    Für das Crashdetect Plugin bedeutet das, dass es genauere Informationen ausgeben kann, wie zum Beispiel die genaue Zeile des Errors, den es ausgibt.