Beiträge von ENEF

    Beim Wanted Public Playerid hinzufügen oder?


    forward WantedTimer(playerid);
    public WantedTimer(playerid)
    {
    Jeffry:


    Edit:
    Der Spieler mit Wanteds bekommt immer noch keine abgezogen
    Der Command funktioniert.


    Wenn ich jetzt ein befehl machen möchte wo ich die Knastzeit verändern kann, von was muss ich dann den Wert ändern?
    Knastzeit oder KnastzeitBis?


    Mit freundlichen Grüßen

    Also zu
    1.
    Es steht immer die Zeit dort, mit der ich in den Knast gekommen bin.
    Jedoch die Zeit wird trotzdem geringer, bloß im Command nicht :/


    2.
    Ich habe es unter OnPlayerConnect und das soll die Wanteds erst abziehen wenn der Spieler eingeloggt ist.


    Spoiler anzeigen
    //________MySQL_______//
    new query[256];
    format(query, sizeof(query), "SELECT * FROM accounts WHERE Name='%s'", SpielerName(playerid));
    //________Joinmessage_______//
    new string[128];
    format(string,sizeof(string),"%s hat den Server betreten", SpielerName(playerid));
    SendClientMessageToAll(0xCCCCCCFF,string);
    //________Serversettings_______//
    SetPlayerColor(playerid, -1);
    gettime(hour, minute);
    SetPlayerTime(playerid,hour,minute);
    SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);
    //________Knast_System________//
    Wantedtime[playerid] = SetTimerEx("Wantedtimer",60000,true,"i",playerid);

    Spoiler anzeigen
    forward WantedTimer();
    public WantedTimer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][pWanteds] > 0)
    {
    SpielerInfo[i][pWanteds]--;
    SetPlayerWantedLevel(i, (SpielerInfo[i][pWanteds]/5) + 1);
    SpielerInfo[i][pSterne] = SpielerInfo[i][pWanteds]/5 + 1;
    SendClientMessage(i, erfolg, "Herzlichen Glückwunsch, du hast ein Wanted verloren!");
    }
    else if(SpielerInfo[i][pWanteds] == 0)
    {
    SetPlayerWantedLevel(i,0);
    SpielerInfo[i][pSterne] = 0;
    }
    }
    }
    return 1;
    }

    Als es noch unter OnGameModeInit als normaler SetTimer stand, ging alles ^^
    Bloß kam ich on und habe nach 10 Sek manchmal schon 1 Wtd verloren deswegen will ich für jeden Spieler seinen eigenen Timer.
    Mit freundlichen Grüßen


    Jeffry:

    Wow, echt nice!


    Ist mal was komplett neues ^^


    Hab ich richtig gelesen, das wird mal ein Server ?
    Wenn ja, wann wird der denn ca Online gehen?
    Würde gerne mal drauf Zocken^^


    Respekt für die Textdraws ;)



    Mit freundlichen Grüßen

    Hi Jeffry,


    Mit dem einknasten geht alles!
    Bloß bin ich zu doof um die Zeit abzulesen :D


    Spoiler anzeigen
    ocmd:zeit(playerid, params[])
    {
    new string[128];
    format(string,sizeof(string), "Du bist noch %d Sekunden im Knast!",SpielerInfo[playerid][pKnastzeit]);
    SendClientMessage(playerid,warn,string);
    return 1;
    }

    Jedoch wird das Wanted nicht mehr abgezogen, habe es jetzt so gemacht:
    Spoiler anzeigen
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    Wantedtime[playerid] = SetTimerEx("Wantedtimer",60000,true,"i",playerid);
    }

    Jeffry:


    Mit freundlichen Grüßen

    if(radbmx[playerid] != 0)
    {
    KillTimer(RadbmxTimer(playerid));
    radbmx[playerid] = 0;
    }
    else if(radbmx[playerid] != 1)
    {
    SendClientMessage(playerid, FARBE, "TEXT");
    }
    if(radmou[playerid] != 0)
    {
    KillTimer(RadmouTimer(playerid));
    radmou[playerid] = 0;
    }
    else if(radmou[playerid] != 1)
    {
    SendClientMessage(playerid, FARBE, "TEXT");
    }
    }


    Müsste eigentlich auch so Funktionieren.


    Falls nicht:

    Spoiler anzeigen
    if(radbmx[playerid] != 0)
    {
    KillTimer(RadbmxTimer(playerid));
    radbmx[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, FARBE, "TEXT");
    }
    else if(radmou[playerid] != 0)
    {
    KillTimer(RadmouTimer(playerid));
    radmou[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, FARBE, "TEXT");
    }
    }


    Mit freundlichen Grüßen

    Super funktioniert alles!


    Kleine Frage:


    Ist es jetzt so, dass egal ob beim Wanted abzieh Timer grad 50 Sekunden sind, Spieler kommt Online und muss nur 10 Sekunden warten bis 1 Wanted weg geht?
    Kann ich da mit SetTimerEx arbeiten ? Dann würde wenn man On kommt ja erst 60 Sekunden vergehen müssen bevor ein Wanted weg geht oder?


    Mit freundlichen Grüßen


    //edit:


    Hier sagt er mir immer Spieler wird nicht gesucht, obwohl er Wanteds hat?

    Spoiler anzeigen
    ocmd:knast(playerid,params[])
    {
    new pID,string[128];
    new Float:knasti[3];
    GetPlayerPos(pID, knasti[0], knasti[1], knasti[2]);
    new time = SpielerInfo[pID][pWanteds] * 120;
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, knasti[0], knasti[1], knasti[2])) return SendClientMessage(playerid, error, "Du bist nicht in der Nähe des gesuchten!");
    if(SpielerInfo[pID][pKnast] != 0)return SendClientMessage(playerid,error,"Dieser Spieler ist bereits im Gefägnis!");
    if(SpielerInfo[pID][pWanteds] < 1) return SendClientMessage(playerid, error, "Dieser Spieler wird nicht gesucht!");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,Color_Green,"/Knast [id][Zeit]");
    if(IsPlayerInRangeOfPoint(playerid, 5.0, 197.6453, 158.3188, 1003.0234) || IsPlayerInRangeOfPoint(playerid, 5.0, 196.7424,179.3564,1003.0234)) return SendClientMessage(playerid, error, "Du bist nicht bei den Zellen!");
    {
    format(string,sizeof(string),"Du hast %s: für %d Sekunden in den Knast gesteckt.",SpielerName(pID),time);
    SendClientMessage(playerid,info,string);
    SpielerInfo[pID][pKnast] = 1;
    SpielerInfo[pID][pKnastzeitBis] = gettime() + time;
    SpielerInfo[pID][pKnastzeit] = time;
    SpielerInfo[pID][pWanteds] = 0;
    SpielerInfo[pID][pSterne] = 0;
    SetPlayerWantedLevel(pID,0);
    }
    return 1;
    }


    und hier hab ich mal mit SetTimerEx gemacht, ist das richtig?

    Spoiler anzeigen

    //Kopf
    new Wantedtime[MAX_PLAYERS];
    for (new i=0; i< MAX_PLAYERS; i++)
    {
    Wantedtime[i] = SetTimerEx("WantedTimer",60000,true,"i",i);
    }

    Jeffry:

    Doch und wie, doch downloade ich mir dort:

    Zitat

    ► S0beit 0.3Z R1 Download:


    Kommt immer this server is not responding. Retrying. bla bla


    Deswegen bin ich verwirrt, da ich ja die Rc1 habe ;)



    Mit freundlichen Grüßen

    Ahh ok, dann wäre das jetzt auch geklärt ^^


    Danke, ich werde es gleich testen :)


    Hab es jetzt so gemacht, da der Spieler nicht mehr als 25 Wanteds insgesammt haben darf ^^
    if(SpielerInfo[pID][pWanteds] > 25) return SendClientMessage(playerid,error,"Der Spieler hat die maximale anzahl an Wanteds erreicht!");



    Ich versuch es mal, wird bestimmt nicht schwer sein.


    Ich melde mich nach den Tests, danke dir!
    //Edit:


    Habe mal alles getestet, und bis hier klappt alles wunderbar :)
    habe nun einen kleinen Knast befehl gemacht wo ich die Zeit eingeben muss wie lange er eingeknastet wird.
    Kann ich es auch so machen das Pro wanted 2 Minuten die Knastzeit ist?

    Spoiler anzeigen
    ocmd:knast(playerid,params[])
    {
    if(SpielerInfo[playerid][pKnast] != 0)return SendClientMessage(playerid,Color_Red,"Dieser Spieler ist bereits im Gefägnis!"); {
    new time,pID,string[128];
    if(sscanf(params,"u",pID,time))return SendClientMessage(playerid,Color_Green,"/Knast [id][Zeit]");
    format(string,sizeof(string),"Du hast %s: für %d Sekunden in den Knast gesteckt.",SpielerName(pID),time);
    SendClientMessage(playerid,info,string);
    SpielerInfo[pID][pKnast] = 1;
    SpielerInfo[pID][pKnastzeitBis] = gettime() + time;
    SpielerInfo[pID][pKnastzeit] = time; }
    return 1;
    }


    Jeffry:
    Mit freundlichen Grüßen

    Ich benutze die Version 0.3.7 - RC1 und habe noch keinen S0beit gefunden der auf dieser Version angepasst ist.
    Wenn du mir einen DL gibst, wäre das für mich auch kein Problem s0beit zu benutzen.


    Ich teste damit ja nur ;)


    MfG

    Hallo leute,


    lasst euch vom Titel nicht abschrecken.
    Ich suche etwas das die Funktionen von S0beit hat, fürs testen auf meinem Localserver.
    Also wo ich so fliegen kann und schneller unterwegs bin fürs Scripten eben.
    Da ich kein Freund vom Cheaten bin suche ich ja eine Alternative(ja jeder hatte es mal installiert um es zu testen^^)



    Mit freundlichen Grüßen


    (Falls es im falschen Forum ist, bitte verschieben!)

    Hi Jeffry.


    Soweit habe ich alles verstanden, kleine Fragen habe ich dennoch.


    Was macht KnastzeitBis?


    Und im Befehl ist mir gerade aufgefallen das Wanteds die Sterne sind, ich wollte es eigentlich am besten so..
    Das Wanteds bsp den Wert 25 haben und es dann 6 Sterne sind, ich wollte das so machen weil wenn ich es nur über die Sterne mache bekommt man zu schnell 6 Wanteds.
    und wenn ich einem Spieler z.b 3 Wanteds gebe und darauf noch mal 2 dann soll er insgesammt 5 Wanteds haben und 2 Sterne, zurzeit würde dann von der 3 zu 2 Wanteds wechseln deshalb habe ich
    SpielerInfo[pID][pWanteds] += (wanteds/5) + 1;
    Versucht, scheint dann aber doch nicht so zu klappen ^^


    Und maximal sollte man insgesammt 25 Wanteds haben können danach kann man ihm keine Wanteds mehr geben.
    Weißt du was ich meine :D


    Ahja, wie mach ich es am besten damit der Spieler jede 5 Minuten 1 Wanted(keine Sterne) verliert und wenn es zb von 5 Wanteds auf 4 Wanteds geht, logischerweise hat er ja dann nur noch 1 Stern (davor 2)


    Danke für deine Hilfe :)


    MfG

    Ach Okey hab ich also falsch gemacht


    Ja es soll so sein das wenn ich Bsp 500sek hatte und mich ausloggen das ich beim einloggen dann wieder 500 habe :)
    Kannst mir ja mal ein kleines Prinzip zeigen :)


    Mit freundlichen Grüßen

    Hallo leute.


    Ich habe mal ein paar Fragen bezüglich meines Wanted System.
    Erstens soll der Spieler wenn er disconnected und in der Nähe eines Cops der Duty ist automatisch in den Knast kommen, leider funktioniert es nicht denn er wird ganz normal gespawnt.


    Spoiler anzeigen
    if(SpielerInfo[playerid][pWanteds] > 0)
    {
    if(teaminrangeofpoint(1)) {
    format(wstring, sizeof(wstring), "%s wurde durch ausloggen Verhaftet!",SpielerName(playerid));
    SendClientMessage(playerid, info, wstring);
    SpielerInfo[playerid][pKnast] = 1;
    SpielerInfo[playerid][pWanteds] = 0;
    SetPlayerWantedLevel(playerid, 0); }
    }
    stock teaminrangeofpoint(frakid) {
    new count, i, Float:pos[3];
    for(; i < MAX_PLAYERS;i++) {
    if(IsPlayerInRangeOfPoint(i, 20.0, pos[0], pos[1], pos[2])) continue;
    if(SpielerInfo[i][pTeam] == frakid && SpielerInfo[i][pDuty]) count ++;
    }
    return count;
    }


    Dann möchte ich mein Wanted System so aufbauen:
    Insgesammt kann man 25 "Wanteds" bekommen, insgesammt sind das dann 6 Sterne
    1-4 Wanteds - 1 Stern
    5-9 Wanteds - 2 Sterne
    10 - 14 Wanteds - 3 Sterne
    15 - 19 Wanteds - 4 Sterne
    20-24 Wanteds - 5 Sterne
    25 - ... 6 Sterne
    Ab 25 Wanteds ist klar bleibt man bei 6 Sternen.
    Ich habe mein Befehl jetzt erstmal so gemacht:

    Spoiler anzeigen
    ocmd:wanted(playerid,params[])//wanted
    {
    if(SpielerInfo[playerid][pTeam] == 1)
    {
    new wanteds,pID;
    new Wanted[128],Cop[128],Verbrecher[128],reason[128];
    if(sscanf(params,"uis",pID,wanteds,reason))return SendClientMessage(playerid,info,"/wantedtest [Spieler] [Wantedzahl] [Grund]");
    if(wanteds<1||wanteds>25)return SendClientMessage(playerid,error,"Du kannst nur minimal 1 Wanted oder maximal 25 Wanteds geben!");
    SetPlayerWantedLevel(pID, GetPlayerWantedLevel(pID)+wanteds);
    SpielerInfo[pID][pWanteds] = GetPlayerWantedLevel(pID);
    format(Cop,sizeof(Cop)," Du hast %s Wanteds gegeben. Grund %s",SpielerName(pID),wanteds,reason);
    format(Verbrecher,sizeof(Verbrecher)," %s hat dir %i Wanteds Gegeben. Grund: %s",SpielerName(playerid),wanteds,reason);
    format(Wanted,sizeof(Wanted), "Nun ist dein Wantedlevel auf %i gestiegen!",GetPlayerWantedLevel(pID));
    SendClientMessage(playerid,cop,Cop);
    SendClientMessage(pID,info,Verbrecher);
    SendClientMessage(pID,warn,Wanted);
    SavePlayer(pID);
    }
    else
    {
    SendClientMessage(playerid,error,"Du bist kein Polizist!");
    }
    return 1;
    }


    Jedoch will ich es ja so einteilen wie oben beschrieben und auch beim Spawn sollen die Sterne in dem System angezeigt werden.


    Leider weiß ich nicht wie es am besten geht.
    Ich könnte zwar eine Abfrage machen wie viele er hat und wenn es 1 - 4 ist dann ein Stern ...
    Aber würde es nicht noch einfacher gehen?


    Und kann mir einer ein Beispiel geben, wie ich den Knast befehl mache?
    Und wie ich die Zeit dann in der DB speichere und beim login dann Abfrage und in einen Timer oder so setzen und wie ich das alles halt am besten mache.
    Wichtiges was ihr braucht:

    Spoiler anzeigen

    SpielerInfo[playerid][pKnast]
    SpielerInfo[playerid][pKnastzeit]
    SpielerInfo[playerid][pWanteds]


    Danke für jede Hilfe!
    Mit freundlichen Grüßen


    TV 8)


    Jeffry:

    Hallo,


    kleine Frage undzwar wenn man im GF getazert wurde und danach entfreezed wird ist man sozusagen noch paralysiert und dreht sich dauernd so ca 5 sekunden.
    Ist das eine Animation? Oder was ist das?


    Vorhin wurde nicht darauf geantwortet deswegen nochmal :=)



    MfG