fehler bei arresttimer

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • new arresttimer;
    new arrestzeit;
    ___________________________
    bei ongamemodeinit
    new playerid[MAX_PLAYERS];
    arrestzeit = SetTimerEx("arrest",1000,1,"i",playerid);
    ___________________________
    public arrest(playerid)
    {
    if Spieler[ziel][wanted] = 1;
    if(arrestzeit[playerid] > 10) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
    {
    SetPlayerPos(playerid,2287.1262,2429.4392,10.8203);
    }
    return 1;


    C:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\myrl.pwn(771) : warning 217: loose indentation
    C:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\myrl.pwn(816) : warning 217: loose indentation
    C:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\myrl.pwn(820) : warning 217: loose indentation
    C:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\myrl.pwn(825) : error 028: invalid subscript (not an array or too many subscripts): "arrestzeit"
    C:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\myrl.pwn(825) : warning 215: expression has no effect
    C:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\myrl.pwn(825) : error 001: expected token: ";", but found "]"
    C:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\myrl.pwn(825) : error 029: invalid expression, assumed zero
    C:\PROGRA~1\ROCKST~1\GTASAN~1\GAMEMO~1\myrl.pwn(825) : fatal error 107: too many error messages on one line


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



    4 Errors.

    hier sind die ganzen fehler
    if(arrestzeit[playerid] > 10) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
    Ich bekomme die fehler nicht weg egal was ich mache
    Bitte um eure hilfe :S

    2 Mal editiert, zuletzt von Optiimal ()

  • Größtes durcheinander überhaupt oO
    arresttimer bleibt unbenutzt, arrestzeit ist zum einen ein Timer, zum anderen ein Array...
    Es gibt ein Array namens playerid, was wohl alle 5 Zeilen einen Error verursachen sollte...
    new ArrestTimer;
    new ArrestZeit[MAX_PLAYERS];


    //OnGameModeInit:
    ArrestTimer = SetTimer("arrest",1000,1);


    public arrest()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;


    if(Spieler[i][wanted] == 1)
    {
    if(ArrestZeit[i] > 10)
    {
    SetPlayerPos(playerid,2287.1262,2429.4392,10.8203);
    }
    }
    }
    return 1;
    }


    Weis jetzt net, ob das arrest-public nach deinen Vorstellungen ist, ändere es eben ab


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • boa danke danke danke vielmals
    hast mir sehr geholfen sorry kenn mich mich timer noch nicht so gut aus aber hab in dein benutzerprofil gerade gesehen das du ein tut dazu hast und da habe ich schon ein bisschen reingeschaut vielen herzlichen dank :)


    Edit noch eine frage wie mache ich das dann noch wenn ich zwei wanteds habe will ich das man 20 mins eingesperrt ist bei 3 wanteds 30 mins und so weiter bis 6 wanteds 60 mins geht das so


    public arrest(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;


    if(Spieler[i][wanted] == 1)
    {
    if(ArrestZeit[i] > 10)
    {
    SetPlayerPos(playerid,2287.1262,2429.4392,10.8203);
    }
    if(Spieler[i][wanted] == 2)
    {
    if(ArrestZeit[i] > 20)
    {
    SetPlayerPos(playerid,2287.1262,2429.4392,10.8203);
    }
    }
    }
    }
    return 1;
    }


    EDIT 2: Jetzt gibt es 2 andere probs und zwar erstens ich komme nach der abgelaufenen zeit nicht raus
    zweiterns das script liest glaub ich gar nicht den timer
    warning 204: symbol is assigned a value that is never used: "ArrestTimer"

    2 Mal editiert, zuletzt von Optiimal ()

  • new ArrestTimer;
    new ArrestZeit[MAX_PLAYERS];


    ArrestTimer = SetTimer("arrest",1000,1);


    public arresttimer()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;


    if(Spieler[i][wanted] == 1)
    {
    if(ArrestZeit[i] > 1)
    {
    SetPlayerPos(i,2287.1262,2429.4392,10.8203);
    }
    if(Spieler[i][wanted] == 2)
    {
    if(ArrestZeit[i] > 20)
    {
    SetPlayerPos(i,2287.1262,2429.4392,10.8203);
    if(Spieler[i][wanted] == 3)
    {
    if(ArrestZeit[i] > 30)
    {
    SetPlayerPos(i,2287.1262,2429.4392,10.8203);
    if(Spieler[i][wanted] == 4)
    {
    if(ArrestZeit[i] > 40)
    {
    SetPlayerPos(i,2287.1262,2429.4392,10.8203);
    if(Spieler[i][wanted] == 5)
    {
    if(ArrestZeit[i] > 50)
    {
    SetPlayerPos(i,2287.1262,2429.4392,10.8203);
    if(Spieler[i][wanted] == 6)
    {
    if(ArrestZeit[i] > 60)
    {
    SetPlayerPos(i,2287.1262,2429.4392,10.8203);
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    return 1;
    }


    Das ist alles

  • warum machst du´s nit einfach so wie ichs dir in der PM geschrieben hab? xD
    Also ca so:


    enum spieler
    {
    Password[128],
    .
    .
    .
    arrestzeit, //kannst du auch anders nennen


    Dann machst du nen timer unter ongamemodeinit:


    SetTimer("ArrestTimer", 60000, 1);


    Dann den public machen:


    public ArrestTimer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && Spieler[i][wanted] >= 1) //oda halt ne abfrage ob der spieler im knast is
    {
    if(Spieler[i][arrestzeit] >= 1)
    {
    Spieler[i][arrestzeit] -= 1;
    }
    else
    {
    SetPlayerPos(i, *dann hier die coords für aus der zelle raus*);
    Spieler[i][wanted] == 0;
    }
    }
    }
    return 1;
    }


    Das sollte eig gehen^^ musst aber noch anpassen, nit einfach copy n paste


    MFG, Rob