Beiträge von Dachdecker

    Okei, aber wieso kommt das erst und wieso funktionieren die Befehle dann nicht mehr?

    Wenn das im compiler steht, funktionieren die Befehle nicht mehr... but i dont know why


    Was ist das Problem?

    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    Header size: 5060 bytes
    Code size: 99552 bytes
    Data size: 149800 bytes
    Stack/heap size: 16384 bytes; estimated max. usage=4529 cells (18116 bytes)
    Total requirements: 270796 bytes

    Ich habe den Fehler behoben.


    In dem Public Minute wird die PayTime am Anfang nochmal um 1 erhöht.


    Die Lösung war, bei /gibpayday die paytime auf 59 zu setzen, die 1 kommt bei dem aufzug der Minute(); dazu.


    Ingame funktioniert alles.


    Danke für eure Mühe

    Hallo liebe Scripter,




    Ich möchte PayDays auch per Befehl vergeben können, aber es geht irgendwie nicht.. die PayDay Zeit wird auf -1 gestellt und ja..




    ocmd:gibpayday(playerid, params[])
    {
    if(SpielerInfo[playerid][AdminLevel] <= 7) return SendClientMessage(playerid, Weiss,"");
    new pID;
    if(sscanf(params, "u",pID)) return SendClientMessage(playerid, Weiss, "/gibpayday [SpielerID]");



    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, Rot, "Dieser Spieler ist nicht online");



    SpielerInfo[pID][PayTime] = 60;
    Minute();
    printf("Spieler %s | PayDay Zeit auf %i gestellt",SpielerName(pID), SpielerInfo[pID][PayTime]);
    return 1;
    }

    Hallo liebe Scripter,




    Ich möchte Waffenmenüs machen in einem Switch mit case aber ingame wird der Dialog dann nicht angezeigt der im Case geschrieben wird.. (bestimmt bin ich einfach doof und erkenne den Fehler einfach nicht)



    if( newkeys == KEY_NO)
    {
    new FrakName[120];
    for(new i = 0; i < sizeof(WaffenMenu); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5, WaffenMenu[i][WM_X], WaffenMenu[i][WM_Y], WaffenMenu[i][WM_Z]))
    {
    if(SpielerInfo[playerid][Fraktion] == WaffenMenu[i][WMFrak])
    {
    switch(SpielerInfo[playerid][Fraktion])
    {
    case 1:
    {
    ShowPlayerDialog(playerid, WaffenDialog1, DIALOG_STYLE_LIST, FrakName,"Folgt","Auswählen","Abbrechen");
    }
    case 2:
    {
    ShowPlayerDialog(playerid, WaffenDialog2, DIALOG_STYLE_LIST, FrakName,"Folgt","Auswählen","Abbrechen");
    }
    case 3:
    {
    ShowPlayerDialog(playerid, WaffenDialog3, DIALOG_STYLE_LIST, FrakName,"Deagle\nSchutzweste\nAK 47\nSniper\nRGP","Auswählen","Abbrechen");
    }
    }
    }
    }
    }

    }


    DANKE im Voraus

    Hallo,


    Ich habe ein problem bei einem enum bzw bei einem Array.



    Codes:



    enum AutohausInfo
    {
    Ahname[60],
    Float: Ah_X,
    Float: Ah,Y,
    Float: Ah_Z,
    Float: AhSpawn_X,
    Float: AhSpawn_Y,
    Float: AhSpawn_Z,
    Float: AhSpawn_A,
    Inhaber[MAX_PLAYER_NAME],
    Kasse
    }



    new Autohaus[1][AutohausInfo] =
    {
    { "Autohaus",559.4249,-1289.5043,17.2482,532.1439,-1267.3007,16.2834,308.3060, "Dachdecker",0} //Das ist Zeile 98
    };


    Fehler:



    C:\Users\Justin\Desktop\GTA San Andreas\Server\gamemodes\Selfmade.pwn(98) : warning 213: tag mismatch
    C:\Users\Justin\Desktop\GTA San Andreas\Server\gamemodes\Selfmade.pwn(98) : warning 228: length of initialler exceeds size of the enum field
    C:\Users\Justin\Desktop\GTA San Andreas\Server\gamemodes\Selfmade.pwn(98) : warning 213: tag mismatch
    C:\Users\Justin\Desktop\GTA San Andreas\Server\gamemodes\Selfmade.pwn(98) : error 018: initialization data exceeds declared size


    if(dialogid == FrakEinstell3)
    {
    if(!response) return 1;
    new pID,L1[259],L2[259];
    strdel(inputtext, strfind(inputtext, "\t"), strlen(inputtext));
    pID = strval(inputtext);
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Rot,"Nicht mehr on!");
    SetPVarInt(playerid, "lohn_id",pID);
    format(L1,sizeof(L1),"%s`s Lohn setzen",SpielerName(pID));
    format(L2,sizeof(L2),"Geben Sie den neuen Lohn für %s ein",SpielerName(pID));
    ShowPlayerDialog(playerid, FrakEinstell4, DIALOG_STYLE_INPUT,L1,L2,"Bestätigen","Abbrechen");
    return 1;
    }


    Kann doch so bleiben oder?

    sa-mp-011.pngjetzt kommt endlich der Dialog wo man etwas eintragen kann


    Muss ich jetzt mit SetPVarInt und GetPVarInt arbeiten um die PlayerID im Input Dialog weiter verwenden zu können?



    //EDIT


    Ich habe jetzt mit SetPVarInt(playerid, "lohn_id",pID); gearbeitet. Es dann im folgenden Dialog(FrakEinstell4) ausgelesen mit new pID = GetPVarInt(playerid,"lohn_id"); und es dann am ende unter der letzten SendClientMessage mit DestroyPVar(playerid, "lohn_id"); gereinigt.


    Lohn wurde dann ingame mit Dialog gesetzt. Und wurde auch angezeigt beim erneuten öffnen des Dialoges.


    Kann es jetzt nach dem ich den PVar Destroyed habe noch zu komplikationen kommen?

    sa-mp-010.png beide Tests werden wiedergegeben






    Dieser Printf wird nicht ausgegeben.



    if(dialogid == FrakEinstell3)
    {
    SendClientMessage(playerid, Rot, "Test1");
    if(!response) return 1;
    SendClientMessage(playerid, Rot, "Test2");
    new pID,tmp[3];
    tmp[0] = inputtext[0];
    if('0' <= inputtext[1] <= '9') tmp[1] = inputtext[1];
    if('0' <= inputtext[2] <= '9') tmp[2] = inputtext[2];
    pID = strval(tmp);
    printf(" pID = strval(tmp) %i",strval(tmp));
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Rot,"Nicht mehr on!");
    // SetPVarInt(playerid, "lohn_id",pID);
    new L1[259],L2[259];
    format(L1,sizeof(L1),"%s`s Lohn setzen",SpielerName(pID));
    format(L2,sizeof(L2),"Geben Sie den neuen Lohn für %s ein",SpielerName(pID));
    ShowPlayerDialog(playerid, FrakEinstell4, DIALOG_STYLE_INPUT,L1,L2,"Bestätigen","Abbrechen");
    return 1;
    }