Beiträge von Tomsen

    JEtzt bekomm ich die Errors:


    error 033: array must be indexed (variable "zID")
    error 035: argument type mismatch (argument 1)


    new zID[128],string[128],string2[128];
    GetPVarString(playerid,"PlayerToPay",zID,128);
    SpielerInfo[playerid][pGeldBank] -= strval(inputtext);
    SpielerInfo[zID][pGeldBank] = SpielerInfo[zID][pGeldBank] + strval(inputtext);
    format(string,sizeof(string),"Du hast dem Spieler %s %d € überwiesen!",strval(inputtext));
    format(string2,sizeof(string2),"Der Spieler %s hat dir %d € überwiesen!",SpielerName(playerid),strval(inputtext));
    SendClientMessage(playerid,gruen,string);
    SendClientMessage(zID,gruen,string2);


    Hab pID mal zu zID umbenannt


    - Tomsen

    Wieso bekomm ich hier nen Error?


    new pID,string[128],string2[128];
    GetPVarString(playerid,"PlayerToPay",pID,128);


    Code
    error 035: argument type mismatch (argument 3)


    Blitz 100


    Mach mal ganz unten im Public nen SendClientMessage rein und schau ingame obs aufgerufen wird.
    Wahrscheinlich aber nicht, wo wird der Timer gestartet?


    - Tomsen

    Hab 2 Fragen:


    1: Hab mit dem SAMP Map Editor 2 Personen erstellt und eingefügt ins Script, normal als Objecte.
    Sie werden nicht angezeigt aber da wo die normalerweiße stehen kann man auch nicht langgehen. Also in gewisser Weiße sind sie da. Die stehen in einem Selbstgemappten Interior.


    2: Wie kann ich wenn jmd. Adminduty gegangen ist, und seine Farbe orange gesetzt wurde + er auf der Map markiert wurde ihn wieder von der Map verschwinden lassen ohne das alle Onduty Admins gelöscht werden.


    Danke schonmal


    - Tomsen

    Wieso bekomm ich hier immer andere Zahlen ausgegeben als ich eingebe?!


    if(strlen(inputtext) == 0) return SendClientMessage(playerid,rot,"Du hast keine Summe eingegeben!");
    if(strlen(inputtext)>GetPlayerMoney(playerid)) return SendClientMessage(playerid,rot,"Du hast nicht soviel Geld auf der Hand!");
    SetPVarInt(playerid,"ESumme",strlen(inputtext));
    new string[128];
    format(string,sizeof(string),"%d",GetPVarInt(playerid,"ESumme"));
    SendClientMessage(playerid,gruen,string);


    - Tomsen

    Wenn ich Bei jmd. das Bankkontro bzw. SpielerInfo[playerid][pGeldBank] überschreiben will, bzw. das was drauf ist + inputtext muss ich das so schreiben:


    SpielerInfo[playerid][pGeldBank] - inputtext[playerid];


    oder so:


    SpielerInfo[playerid][pGeldBank] = SpielerInfo[playerid][pGeldBank] + inputtext[playerid];


    Oder ganz anders?


    - Tomsen

    Danke funktioniert :)


    - Tomsen


    //Edit: Wie setzt man Skins als Objecte? Will kein Bot nehmen da der ja nur unnötig Slots frisst.
    Hab 2 Skins nomal als Objecte gesetzt, sehe sie aber nicht.


    //edit: 2 Ich merk gerade die sind da aber man sieht sie nicht. Man kann aber nicht durch sie durchlaufen

    Ich versuche es, danke.


    - Tomsen


    //edit: Bekomme in der Zeile


    Minuten[playerid] = CreatePlayerTextDraw(playerid, 525.000000, 431.000000, string);


    die Fehler:


    D:\Spiele\Rockstar Games\San Andreas\RLSelfmade\gamemodes\rl.pwn(502) : error 028: invalid subscript (not an array or too many subscripts): "Minuten"
    D:\Spiele\Rockstar Games\San Andreas\RLSelfmade\gamemodes\rl.pwn(502) : warning 215: expression has no effect
    D:\Spiele\Rockstar Games\San Andreas\RLSelfmade\gamemodes\rl.pwn(502) : error 001: expected token: ";", but found "]"
    D:\Spiele\Rockstar Games\San Andreas\RLSelfmade\gamemodes\rl.pwn(502) : error 029: invalid expression, assumed zero
    D:\Spiele\Rockstar Games\San Andreas\RLSelfmade\gamemodes\rl.pwn(502) : fatal error 107: too many error messages on one line


    Versteh nicht ganz wieso.

    new SEKCar[50];


    SEKCar[0] = AddStaticVehicle...
    SEKCar[1] = Add...


    und so weiter


    //edit: Ich merk gerade ich kann in garkeine Fahrzeuge mehr einsteigen
    KOmmt immer der Error. hat das was mit der schleife zu tun?


    if(!ispassenger)
    {
    for(new i=0; i<sizeof(SEKCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==SEKCar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 2)
    {
    SendClientMessage(playerid,rot,"Du hast keine Schlüssel!");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    break;
    }
    }
    }
    }
    if(!ispassenger)
    {
    for(new i=0; i<sizeof(OAmtCar); i++)
    {
    if(GetPlayerVehicleID(playerid)==OAmtCar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 1)
    {
    SendClientMessage(playerid,rot,"Du hast keine Schlüssel!");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    break;
    }
    }
    }
    }

    Hey,


    ich will rechts unten einen Textdraw haben, wo dann angezeigt wird wv Minuten noch bis zum nächsten Payday sind.


    Allerdings funktioniert mein jetztiger Code nicht. Ich weiß aber nicht was daran falsch ist


    Oben im Script ist der Define für die Textdraw, ist ja klar. Ich hab 2, einmal der Text "Zeit bis Payday: Minuten"
    Und in der 2. Leerzeile hab ich den 2. bzw, die Zahl hingesetzt.


    Jede Minute wird dann der Textdraw gelöscht (der mit der Zahl, Name: Minute) und ein neuer erstellt, der dann aktuell ausgerechnet wurde.


    Sieht jetzt so aus:


    Bei OnPlayerSpawn
    Payday = TextDrawCreate(383.000000, 431.000000, "Zeit bis Payday: Minuten");
    TextDrawBackgroundColor(Payday, 255);
    TextDrawFont(Payday, 1);
    TextDrawLetterSize(Payday, 0.500000, 1.000000);
    TextDrawColor(Payday, -1);
    TextDrawSetOutline(Payday, 1);
    TextDrawSetProportional(Payday, 1);
    TextDrawShowForPlayer(playerid,Payday);

    new minutes,string[5];
    format(string,sizeof(string),"%i",minutes);
    minutes = 60 - SpielerInfo[playerid][pPayday];
    Minuten = TextDrawCreate(525.000000, 431.000000, string);
    TextDrawBackgroundColor(Minuten, -1);
    TextDrawFont(Minuten, 1);
    TextDrawLetterSize(Minuten, 0.500000, 1.000000);
    TextDrawColor(Minuten, -16776961);
    TextDrawSetOutline(Minuten, 0);
    TextDrawSetProportional(Minuten, 1);
    TextDrawSetShadow(Minuten, 1);
    TextDrawUseBox(Minuten, 1);
    TextDrawBoxColor(Minuten, 255);
    TextDrawTextSize(Minuten, 381.000000, 0.000000);
    TextDrawShowForPlayer(playerid,Minuten);


    Und dann wenn die Minute abgefragt wird:


    public TDPayday(playerid)
    {
    TextDrawDestroy(Minuten);
    new minutes,string[5];
    format(string,sizeof(string),"%i",minutes);
    minutes = 60 - SpielerInfo[playerid][pPayday];
    Minuten = TextDrawCreate(525.000000, 431.000000, string);
    TextDrawBackgroundColor(Minuten, -1);
    TextDrawFont(Minuten, 1);
    TextDrawLetterSize(Minuten, 0.500000, 1.000000);
    TextDrawColor(Minuten, -16776961);
    TextDrawSetOutline(Minuten, 0);
    TextDrawSetProportional(Minuten, 1);
    TextDrawSetShadow(Minuten, 1);
    TextDrawUseBox(Minuten, 1);
    TextDrawBoxColor(Minuten, 255);
    TextDrawTextSize(Minuten, 381.000000, 0.000000);
    TextDrawShowForPlayer(playerid,Minuten);
    return 1;
    }


    Nur erstens stehen die Minuten immer auf 0, obwohl es eine andere Zahl anzeigen sollte, und zweitens wird er auch nicht aktuallisiert.
    Vorher hatte ich es bei OnPlayerUpdate reingebaut, da ging es auch, nur hat sich ein Textdraw über den anderen aufgebaut und es laggte dann sehr.


    Danke im Vorraus für hilfreiche Antworten


    - Tomsen

    Okay dann versuch ich das doch glatt. Danke dir.


    PS: Ja, ich bin mal mit nem Kumpel zusammen rein, er paar Sekunden eher, fiel durch den Boden und ich aber nicht. Dann hat ich ihn hochgeportet.


    Danke für die Hilfe.


    - Tomsen