Rang Problem

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
  • Hi,
    ich habe jetzt das Problem, dass die Ränge manchmal net da sind und wenn sie da sind gehen sie nach 2 Minuten weg!


    Ich danke für jede hilfe!


    Ich wäre jedem dankbar, wenn er es mir erklären würde, damit ich in zukunft weiß wie es geht!


    MFG Maggi ;)

    5 Mal editiert, zuletzt von Goldkiller ()

  • Mache aus den ersten Zeilen
    public kAt() {
    for(new i = 0; i <= GetMaxPlayers(); i++) {
    TextDrawHideForPlayer(i,kA[i]);
    if(GetPlayerScore(i)<=99) {
    kA=TextDrawCreate(tx,ty,"Rang: Noob");
    TextDrawShowForPlayer(i,kA[i]); }
    ...
    Und den Rest einfach mit anhängen

  • ber Also soll das ganze so aussehen:

    public kAt() {
    for(new i = 0; i <= GetMaxPlayers(); i++) {
    TextDrawHideForPlayer(i,kA[i]);
    if(GetPlayerScore(i)<=99) {
    kA=TextDrawCreate(tx,ty,"Rang: Noob");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=100 && GetPlayerScore(i)<=299) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=300 && GetPlayerScore(i)<=499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Guter Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=500 && GetPlayerScore(i)<=1499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Super Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=1500 && GetPlayerScore(i)<=3499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=3500 && GetPlayerScore(i)<=4999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=5000 && GetPlayerScore(i)<=9999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=11000 && GetPlayerScore(i)<=19999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Gott");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=20000) {
    kA[i]=TextDrawCreate(tx,ty,"Rang:Legende");
    TextDrawShowForPlayer(i,kA[i]); }}
    return 1;
    }




    Aber dann kommt bei mir 1 Error:


    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\VeloX™2.pwn(2556) : error 033: array must be indexed (variable "kA")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    MFG

    Einmal editiert, zuletzt von Goldkiller ()

  • Muss das textdrawhideforplayer überall sein oder nur in dem rang noob?
    weil jetzt sind es 4 errors!


    MFG

    Einmal editiert, zuletzt von Goldkiller ()

  • HI





    Ich wäre jedem dankbar, wenn er es mir erklären würde, damit ich in zukunft weiß wie es geht!

    2 Mal editiert, zuletzt von Goldkiller ()

  • Kann mir keiner helfen? ich verzweifel schon Stunden daran! Wenn ic hdas jetzt hätte, wäre meine Gamemode fertig! :(


    Wenn mir einer es erklären könnte wäre ich ihm sehr dankbar, dann kommt in zukunft keine frage mehr von mir!


    MFG Maggi

  • public kAt() {
    for(new i = 0; i <= GetMaxPlayers(); i++) {
    TextDrawHideForPlayer(i,kA[i]);
    if(GetPlayerScore(i)<=99) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Noob");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=100 && GetPlayerScore(i)<=299) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=300 && GetPlayerScore(i)<=499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Guter Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=500 && GetPlayerScore(i)<=1499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Super Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=1500 && GetPlayerScore(i)<=3499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=3500 && GetPlayerScore(i)<=4999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=5000 && GetPlayerScore(i)<=9999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=11000 && GetPlayerScore(i)<=19999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Gott");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=20000) {
    kA[i]=TextDrawCreate(tx,ty,"Rang:Legende");
    TextDrawShowForPlayer(i,kA[i]); }}
    return 1;
    }


    so und nu ruhe ist dein 4 Thema oder so dafür

  • Jetzt kommt kein Error, aber im Spiel werden jetzt die Ränge garnicht mehr angezeigt!

    public kAt() {
    for(new i = 0; i <= GetMaxPlayers(); i++) {
    TextDrawHideForPlayer(i,kA[i]);
    if(GetPlayerScore(i)<=99) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Noob");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=100 && GetPlayerScore(i)<=299) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=300 && GetPlayerScore(i)<=499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Guter Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=500 && GetPlayerScore(i)<=1499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Super Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=1500 && GetPlayerScore(i)<=3499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=3500 && GetPlayerScore(i)<=4999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=5000 && GetPlayerScore(i)<=9999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=11000 && GetPlayerScore(i)<=19999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Gott");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=20000) {
    kA[i]=TextDrawCreate(tx,ty,"Rang:Legende");
    TextDrawShowForPlayer(i,kA[i]); }}
    return 1;
    }


    Was ist daran falsch?
    Ich bitte um hilfe


    MFG Maggi

    2 Mal editiert, zuletzt von Goldkiller ()

  • @ Alex... hier hat alles Angefangen
    Klicke Hier


    Dann schau ob du das von Keks auch alles drin hast:




    new Text:kA[MAX_PLAYERS];
    das,

    forward kAt();
    dann,
    #define tx 20.0
    #define ty 290.0

    dann noch in OnGameModeInit():

    SetTimer("kAt",2000,1);



    Das GANZ UNTEN in dein Script:

    public kAt() {
    for(new i = 0; i <= GetMaxPlayers(); i++) {
    TextDrawHideForPlayer(i,kA[i]);
    if(GetPlayerScore(i)<=99) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Noob");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=100 && GetPlayerScore(i)<=299) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=300 && GetPlayerScore(i)<=499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Guter Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=500 && GetPlayerScore(i)<=1499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Super Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=1500 && GetPlayerScore(i)<=3499) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=3500 && GetPlayerScore(i)<=4999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=5000 && GetPlayerScore(i)<=9999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=11000 && GetPlayerScore(i)<=19999) {
    kA[i]=TextDrawCreate(tx,ty,"Rang: Gott");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=20000) {
    kA[i]=TextDrawCreate(tx,ty,"Rang:Legende");
    TextDrawShowForPlayer(i,kA[i]); }}
    return 1;
    }

    Und wenn es jetzt nicht geht fress ich n Bessen...

    Einmal editiert, zuletzt von Kavkus ()

  • Ohne den SetTimer wäre da gar keine Ränge ;)
    Und definiere manchmal? Bei eine gewissen Scorezahl gar nicht oder manchmal für ein paar secs nicht?
    PS: Kann es sein, dass du den Score bei eine Score von 1000 bis 10999 nciht angezeigt bekommst? :D
    else if(GetPlayerScore(i)>=5000 && GetPlayerScore(i)<=9999) {//bis 9999
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=11000 && GetPlayerScore(i)<=19999) {//von 11000^^

    Aus der 11000 bitte mal eine 10000 machen ;)

  • Wann stehen die Ränge da denn nicht? Bei welcher Scorezahl? Damit man dir helfen kann musst du uns genauer über dein Problem informieren, und ich ich im oberen Post schon geschreiben habe...

    Zitat

    PS: Kann es sein, dass du den Score bei eine Score von 1000 bis 10999 nciht angezeigt bekommst? :D
    else if(GetPlayerScore(i)>=5000 && GetPlayerScore(i)<=9999) {//bis 9999
    kA[i]=TextDrawCreate(tx,ty,"Rang: Extrem Professional Racer");
    TextDrawShowForPlayer(i,kA[i]); }
    else if(GetPlayerScore(i)>=11000 && GetPlayerScore(i)<=19999) {//von 11000^^
    Aus der 11000 bitte mal eine 10000 machen ;)


    Es kann auch daran liegen, also teste dies erst einmal oder kläre uns genauer über das Problem auf
    PS: Zu deine posts mit "Weiß denn keiner wie das geht?" wenn da jetzt seit 5 Tagen keiner geantwortet hat, ok, aber nicht nach 5 Stunden erneut posten (nagut, es waren 7 xD)