Beiträge von Kaliber

    Nimm doch einfach so eine Variable:


    new owned[MAX_PLAYERS];


    //bei dem /buyhause Befehl:
    owned[playerid] = 1;
    if(owned[playerid] == 1) return SendClientMessage(playerid, rot,"Du besitzt schon ein Haus !");


    //bei dem /sellhaus Befehl:
    owned[playerid] = 0;


    mfg. :thumbup:

    Schaue dir die Errors ganz genau an ;)


    Sie beziehen sich nicht alle auf dein Script ^^


    include\dutils.inc(312) : warning 216: nested comment
    include\dini.inc(49) : error 017: undefined symbol "ret_memcpy"
    include\dini.inc(59) : error 017: undefined symbol "ret_memcpy"


    und der letzte Error sagt aus, dass diese Funktion bereits definiert wurde ;)
    Also lösche diese ^^


    mfg. :thumbup:

    Da sich der Timer auf den Spieler beziehen soll (du willst den Parameter playerid übergeben) musst du SetTimerEx verwenden ;)


    Also:


    SetTimerEx("WpHack",60000,1,"i",playerid);


    mfg. :thumbup:

    An der Klammer, schreibe es so:


    if(dialogid == DETE)
    {
    if(response == 0)
    {
    return SendClientMessage(playerid, COLOR_GRAD1, "Abgebrochen.");
    }
    if(response == 1)
    {
    if(IsACop(playerid))
    {
    return SendClientMessage(playerid, COLOR_RED, "Du kannst als Staatsbeamter kein Dedektiv sein!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast den Job Müllman wenn du Hilfe brauchst");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*gebe /hilfe ein.Du musst jetzt 1 Stunde als Dedektiv Arbeiten");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du dienst den Staat zum Suchen von Verbrechern. Viel Spaß.!");
    PlayerInfo[playerid][pJob] = 1;
    }
    }
    }


    Schreibe es so ;)


    mfg. :thumbup:

    Sehe gerade, dass der Error sich in einer Include datei befindet nämlich hier:


    \düdü\pawno\include\bfx_objects.inc



    öffne die mal und gehe da in Zeile: 371


    mfg. :thumbup:

    Das kann man auch beheben, ist nur etwas komplizierter :D


    Musst das dann bei deinem Befehl so einstellen, dass sobald 2 Leute sagen wir den Wert 1 auf der Variable haben, dass der dann bei den nächsten auf 2 gesetzt wird, dann bei den nächsten auf 3 usw...


    die for schleife sähe dann anders aus:


    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(eventplayer[playerid] == eventplayer[i] && i != playerid)
    {
    //hier wäre dann i = playerid des gewinners
    }
    }


    mfg. :thumbup:

    So, halt die anderen Sachen die ich oben gemacht habe auch einfügen:


    new eventplayer[MAX_PLAYERS];


    //Befehl wenn man sich auf die Plattform portet
    eventplayer[playerid] = 1;


    public TestEvent(playerid)
    {
    new Float: X, Float: Y, Float: Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(Z <= 500 ) //Z = die Höhe von dem Spieler
    {
    eventplayer[playerid] = 0;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(eventplayer[i] == 1)
    {
    //i = playerid des Spielers der gewonnen hat (der noch oben steht) ;)
    }
    }
    SetPlayerHealth(playerid, 0);
    KillTimer(eventtimer[playerid]);
    }
    return 1;
    }


    mfg. :thumbup:

    new eventtimer[MAX_PLAYERS];
    forward TestEvent(playerid);


    //hier der Befehl wie man auf diese Plattform kommt:
    eventtimer[playerid] = SetTimerEx("TestEvent", 1000, 1, "i", playerid);
    //die Plattform muss höher als 500 Meter sein oder unten Höhe anpassen !



    public TestEvent(playerid)
    {
    new Float: X, Float: Y, Float: Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(Z <= 500 ) //Z = die Höhe von dem Spieler
    {
    SetPlayerHealth(playerid, 0);
    KillTimer(eventtimer[playerid]);
    }
    return 1;
    }


    Nicht getestet, aber ist so grob der Code ^^


    mfg. :thumbup: