Beiträge von Jeffry

    MapAndreas_Init(mode);


    Diese Funktion muss mindestens ein mal vor benutzen der ersten Abfrage des Z Koordinate benutzt werden.
    Hast du das gemacht? Am besten unter OnGameModeInit.


    EDIT:
    Falls du den Mode nicht weißt:
    MapAndreas_Init(MAP_ANDREAS_MODE_FULL);

    http://forum.sa-mp.com/showthread.php?t=259368
    http://forum.sa-mp.com/showthread.php?t=191820
    http://forum.sa-mp.com/showthread.php?t=478529
    http://forum.sa-mp.com/showthread.php?t=166714
    http://forum.sa-mp.com/showthread.php?t=470652


    Sollte genügend Auswahl sein.



    Enum: Wenn, dann so: Was du gepostet hast wird nicht funktionieren, sondern immer dann, wenn die Farbe nicht "rot" ist.
    ocmd:label(playerid,params[])
    {
    new text[30],farbe[10],Float:Pos[3];
    if(sscanf(params,"s[30]s[10]",text,farbe))return SendClientMessage(playerid,-1,"/label [Text][Farbe]");
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    if(!strcmp(farbe,"rot"),true))return Create3DTextLabel(text,rot,Pos[0],Pos[1],Pos[2],20,0);
    //usw...
    return 1;
    }

    Setzt du den Wert von TUT[playerid] bei OnPlayerConnect auch zurück?


    TUT[playerid] = 0; //oder 1 Je nach Je nach dem was dein Startwert ist.


    Wenn das fehlt kann das der Grund sein warum andere die Meldung bekommen.
    Ansonsten erkenne ich aus dem Code keine Fehlerquelle.

    Gut, wir kommen dem Fehler näher.
    Der Fehler liegt hier, bei "121".
    Function IstInGangFight(playerid)
    {
    print("Before call2.");
    new TempZone = GetPlayerFightzone(playerid);
    print("121");
    if(TempZone != -255){
    printf("TempZone: %d", TempZone); //Wird den Fehler zeigen.
    if(FightSystem[TempZone][fsFightTime] && FightSystem[TempZone][fsAttackFaction] != -255){// Wenn Gegner nicht gleich -255 ist
    return 1;
    }
    }
    print("Done.");
    return 1;
    }


    Logischerweise kann man jetzt darauf zurückschließen, dass TempZone einen Wert erhält, der das Array [TempZone] sprengt. (Negativ oder zu groß.)
    Wenn du den Code jetzt so einfügst und nochmal laufen lässt, den Log postest, dann wissen wir warum es passiert.



    Poste jetzt bitte noch die Deklaration von FightSystem (new FightSystem...), das enum sowie die dazugehörigen Konstanten, damit wir den Fehler auch gleich beheben können. :)

    Auch nichts auffälliges. Dann debugge jetzt mal die zwei Funktionen und dazu noch die GetPlayerFightzone Funktion. Dann poste den Code und das was im Server_log steht noch einmal.


    Den gesamten debuggten Code damit wir nachvollziehen können was der Code macht.

    Da haben wir den Grund:


    if (!IsACop(killerid) && reason != 49 && PlayerInfo[killerid][pJailed] == 0 && !IstInGangFight(playerid))


    Irgendwas ist an dieser Zeile faul.


    Poste mal die zwei dazugehörigen Funktionen und ändere print("19"); zu:


    printf("19: killerid %d playerid %d", killerid, playerid);

    Enum: Hier die sscanf Funktion zu nutzen ist Käse, du hast nur einen Parameter, was willst du da splitten?


    ocmd:test(playerid,params[])
    {
    new string[144];
    if(!params[0]) return SendClientMessage(playerid,Rot,"/test [Text]");
    format(string,144,"**(( %s %s sagt: %s ))**",GetAdminRang(playerid),GetName(playerid),params);
    return SendClientMessageToAll(-1,string);
    }


    Außerdem ist für Chat-Ausgaben die Länge 144 wesentlich besser, da mehr geschrieben werden kann. (144 = Maximum)

    new objectid = CreateObject(18981, 1244.86450, -2621.29468, 1.05910, 0.00000, 90.00000, 0.00000);
    new objectid1 = CreateObject(18981, 1223.07068, -2621.25024, 1.05910, 0.00000, 90.00000, 0.00000);
    new objectid2 = CreateObject(7191, 1234.50037, -2633.35620, 2.94250, 0.00000, 0.00000, 90.00000);
    new objectid3 = CreateObject(7191, 1234.51978, -2609.20435, 2.94250, 0.00000, 0.00000, 90.00000);
    new objectid4 = CreateObject(7191, 1234.59058, -2620.58521, 2.94250, 0.00000, 0.00000, 90.00000);
    new objectid5 = CreateObject(18763, 1243.07629, -2610.77393, 3.73020, 0.00000, 0.00000, 0.00000);
    new objectid6 = CreateObject(18763, 1240.44861, -2610.80908, 3.73020, 0.00000, 0.00000, 0.00000);
    new objectid7 = CreateObject(18763, 1238.07190, -2610.81055, 3.73020, 0.00000, 0.00000, 0.00000);
    new objectid8 = CreateObject(18763, 1235.72449, -2610.82764, 3.73020, 0.00000, 0.00000, 0.00000);


    new dinghy = CreateVehicle(473,1197.0582,-2615.2734,-0.7072,96.0694, 0.00000, 0.00000);
    new dinghy1 = CreateVehicle(473,1194.0582,-2615.2734,-0.7072,96.0694, 0.00000, 0.00000);
    new dinghy2 = CreateVehicle(473,1190.0582,-2615.2734,-0.7072,96.0694, 0.00000, 0.00000);
    //etc...


    AttachObjectToVehicle(objectid, dinghy, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(objectid1, dinghy1, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(objectid2, dinghy2, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(objectid3, dinghy3, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(objectid4, dinghy4, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(objectid5, dinghy5, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(objectid6, dinghy6, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(objectid7, dinghy7, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(objectid8, dinghy8, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);


    Wobei hier die Ressourcenfreundlichkeit mal vernachlässigt ist, Hauptsache du verstehst das Prinzip.

    Auf Anfrage in PM den Debug Code zu machen:


    Saphire:
    print("Before call.");
    if(PlayerInfo[playerid][pHeadValue] > 0)
    {
    print("Call1");
    if(IsPlayerConnected(killerid))
    {
    print("Call2");
    if(PlayerInfo[killerid][pMember] == 8 || PlayerInfo[killerid][pLeader] == 8)
    {
    print("Call3");
    ConsumingMoney[killerid] = 1;
    print("4");
    new killer[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killer, sizeof(killer));
    printf("5 (%d)", killerid);
    GivePlayerMoney(killerid, PlayerInfo[playerid][pHeadValue]);
    printf("6 (%d)", PlayerInfo[playerid][pHeadValue]);
    format(string,128,"<< Hitman %s hat den Auftrag an %s erfüllt und bekommt: $%d >>",killer,name,PlayerInfo[playerid][pHeadValue]/2);
    print("7");
    SendFamilyMessage(8, COLOR_YELLOW4, string);
    print("8");
    PlayerInfo[playerid][pHeadValue] = 0;
    print("Done.");
    }
    }
    }


    Poste dann bitte, was im server_log steht wenn OnPlayerDeath aufgerufen wird.

    Debug den Code mal indem du prints zwischen die Zeilen und nach die if-abfragen setzt.
    Bis wohin kommt der Code? Wird der Code überhaupt ausgeführt? Wenn das nämlich nicht der Fall ist, dann liegt der Fehler im Code darüber.

    Klingt vielleicht abwägig, aber schau mal in die samp.ban Datei. Steht da zufälligerweise 127.0.0.1 drin?
    Bzw, lösche die Datei einfach mal.


    Er behauptet ja dass dein localhost blockiert wird. Dafallen mir spontan nur NPCs ein.