Beiträge von Jeffry

    format(query, 128, "SELECT GName FROM grangnamen WHERE GID = %d AND GRang = %d", teamid, rang);


    Die ' brauchst du nur wenn du Strings übergibst.



    EDIT: Heißt ja doch "grangnamen", habs im Bild gesehen.
    EDIT2: ElDiabolo: Ja, ist mir dann auch aufgefallen. Super!

    Also ich kann das ganz normal kompilieren und ich sehe da auch keinen Fehler.
    Poste mal deine Definitionen (GRAU, REGISTER, ...).


    Und was passiert, wenn du Zeile 33-35 ausmarkierst? (Mit //)

    if (IsAFahrschulVeh(vehicleid) && !ispassenger)
    {
    print("1");
    if (IsATutVeh(vehicleid) && !ispassenger)
    {
    print("2");
    if(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pMember]== 11 || TakingLesson[playerid] == 1 || TUT[playerid] == 1)
    {
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast keinen Schlüssel.");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    }
    }


    Was steht im Server log wenn du einsteigst?
    Kommt die SendClientMessage überhaupt?

    Mal ne Frage,
    ich wollte mir gerade eine Funktion mit dem Namen register schreiben jedoch ist mir aufgefallen, dass das Wort "register" syntaxlich blau gefärbt ist.
    Aber warum? Was bringt das genau?


    Nichts mir Bekanntes. Falls doch jemand was weiß wäre ich extrem überrascht, da:
    Man kann es ganz normal verwenden:


    new register;
    public OnFilterScriptInit()
    {
    register = 1;
    printf("%d", register);
    return 1;
    }


    Ist halt schön blau. 8o
    In der PAWN Language Guide steht darüber auch nichts.


    Das kommt auf den Pickup Typen drauf an, wenn es Pickup Type 2 z.B. ist, verschwindet das Pickup und es dauert seine Zeit bis es respawnt.


    Dessen bin ich mir bewusst, aber er hat gesagt, dass er dort schon ewig fest hängt und die Nachricht immer wieder kommt. Und da dein Code gar nicht ging (warum auch immer? sieht korrekt aus), soll er es eben so probieren.
    Cheers 8)

    Das liegt schlichtweg daran, dass OnPlayerPickUpPickup immer wieder aufgerufen wirst, während du im Pickup "eingefroren" bist.


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    static inSuche[MAX_PLAYERS];
    if(pickupid == suche && inSuche[playerid] + 12 < gettime()) //12 Sekunden gesperrt.
    {
    if(IsPlayerInRangeOfPoint(playerid,1,247.0259,302.6663,999.1484))
    {
    new string[128];
    format(string, sizeof(string), "~g~%s sucht",PlayerName(playerid));
    GameTextForPlayer(playerid, string, 1000, 1);
    SetTimerEx("suchen",7000,false,"i",playerid);
    TogglePlayerControllable(playerid,0);
    inSuche[playerid] = gettime();
    return 1;
    }
    }
    return 1;
    }



    forward suchen(playerid);
    public suchen(playerid)
    {
    GameTextForPlayer(playerid, "~g~Gefunden", 1000, 1);
    SendClientMessage(playerid,WEISS,"Du hast deine Brieftasche gefunden!");
    TogglePlayerControllable(playerid,1);
    SetPlayerCheckpoint(playerid,243.7181,304.9580,999.1484,1);
    return 1;
    }



    Enum:
    if(pickupid==suche{
    :pinch:
    Und das "forward" fehlt auch.

    ShowPlayerDialog(...menu mit den Waffenarten...); //(WaffenArtenMenu)



    OnDialogResponse:
    if(dialogid == WaffenArtenMenu && response)
    {
    switch(listitem)
    {
    case 0: ShowPlayerDialog(...Hier dann die Maschinen M4, AK7, ...); //(MaschinenGewehrMenu)
    case 1: ShowPlayerDialog(...Hier die Schrotflinten...); //(SchrotflintenMenu)
    case 2: //etc...
    }
    }


    if(dialogid == SchrotflintenMenu && response)
    {
    switch(listitem)
    {
    case 0: //Abgesägte geben
    case 1: //Normale...
    case 2: //etc
    }
    }


    if(dialogid == MaschinenGewehrMenu && response)
    {
    switch(listitem)
    {
    case 0: //M4
    case 1: //Ak47...
    case 2: //etc
    }
    }




    Beispiel für ein Menu:
    ShowPlayerDialog(playerid, SprachenMenu, DIALOG_STYLE_LIST, "Sprachen", "English\nDutch\nFrench\nGerman\nIndonesian", "Select", "Cancel");

    So, ich hab das mal bei mir getestet. Funktioniert.



    • SAfull.hmap in scriptfiles
    • MapAndreas.dll in plugins
    • mapandreas.inc in pawno/include
    • "MapAndreas" bei plugins (server.cfg)
    • MapAndreas_Init(MAP_ANDREAS_MODE_FULL); //OnFilterScriptInit
    • new Float:z; //Irgendwo wo es aufgerufen wird.
      MapAndreas_FindZ_For2DCoord(1234.0, 1425.1, z);
      printf("%f", z); //Ausgabe: 5.789999


    Wenn bei dir so noch immer 0 ausgegeben wird, dann poste mal deinen Code.