Beiträge von The Sensei

    @The Sensei


    ok error ist weg
    aber jetzt Warnings


    C:\Users\korha\Desktop\German Reality\gamemodes\German-Reality.pwn(44870) : warning 219: local variable "string" shadows a variable at a preceding levelC:\Users\korha\Desktop\German Reality\gamemodes\German-Reality.pwn(44881) : warning 225: unreachable codePawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhaseHeader size: 14828 bytesCode size: 2689360 bytesData size: 16487044 bytesStack/heap size: 32768 bytes; estimated max. usage: unknown, due to recursionTotal requirements:19224000 bytes2 Warnings.

    benenn deine Variable string um in z.B. text

    Ich musste das umstellen, da mein f_rang aufgebaut ist wie eine Tabelle.
    static const f_rang[][][] = {
    {"Trainee","Police Officer","Detective","Sergeant","Lieutenant","Captain","Commander","Deputy Chief of Police","Assistant Chief of Police","Chief of Police"}, //SAPD
    {"Trainee","Police Officer I","Police Officer II","Sergeant","Lieutenant","Captain","Deputy Chief","Assistant Sheriff","Undersheriff","Sheriff"} //LVPD
    //{"Ersthelfer","Sanitätshelfer","Sanitäter","Rettungshelfer","Rettungssanitäter","Rettungsassistent","Kinderarzt","Notarzt","Leitender Notarzt","Stellv. Chefarzt","Chefarzt"}, //SAMD
    //{"Praktikant","Lehrling","Geselle","Abschlepper","Assistant Kontrolleur","Kontrolleur","Ausbilder","Ordnungshüter","Oberrat","Vize Direktor","Direktor"}, //OAMT
    //{"Praktikant","-","-","-","-","Chefjournalist","Chefredakteur","Redaktionsleitung","Eventsleitung","Stellv. Geschäftsführung","Leitende Geschäftsführung"} //NEWS
    };


    mein Code sieht nun so aus:
    ocmd:f(playerid,params[])
    {
    new text[144],name[MAX_PLAYER_NAME], msg[144];
    if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
    if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]");
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    new p_frank;
    if(PlayerInfo[playerid][pFrank] < 1)p_frank = 1;
    else p_frank = f_rang[PlayerInfo[playerid][pFraction]][PlayerInfo[playerid][pFrank]-1]; //Diese Zeile
    format(msg,144,""#fchat_farbe"*%s %s: %s", p_frank,name,text);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){
    SendClientMessage(i, -1, msg);
    } else {
    printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text);
    }
    }
    return 1;
    }


    es kommt dieser Error:
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(332) : error 006: must be assigned to an array
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(726) : warning 203: symbol is never used: "f_skins"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Hoffe du kannst damit was anfangen und mir das vielleicht erklären warum ich nach f_rang drei "[]" machen muss bei zwei "[]" zeigt er mir den falschen Rank namen an.

    ocmd:f(playerid,params[]){ new text[144],name[MAX_PLAYER_NAME], msg[144]; if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung"); if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]"); GetPlayerName(playerid,name,MAX_PLAYER_NAME); print("Debug - 1"); printf("%s - %s - %s", name,f_rang[PlayerInfo[playerid][pFrank]-1], text); format(msg,144,""#fchat_farbe"*%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text); for(new i=0; i<MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){ SendClientMessage(i, -1, msg); } else { printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,text); } } return 1;}
    Schreibs mal so und sag was er printet

    @SynonymousZ er macht das Debug - 1 das darunter nicht mehr


    Er zeigt mir das an:

    Code
    [17:44:59] sscanf warning: Strings without a length are deprecated, please add a destination size.
    [17:44:59] Debug - 1
    [17:44:59] [debug] Run time error 4: "Array index out of bounds"
    [17:44:59] [debug]  Accessing element at index 9 past array upper bound 1
    [17:44:59] [debug] AMX backtrace:
    [17:44:59] [debug] #0 00008fb4 in public ocmd_f (0, 265096) from Hightech_Reallife.amx
    [17:44:59] [debug] #1 native CallLocalFunction () from samp-server.exe
    [17:44:59] [debug] #2 00000264 in public OnPlayerCommandText (0, 265068) from Hightech_Reallife.amx

    Hey ich weiß nicht aber irgendwas stimmt mit meinem /f befehl nicht. Ich bekomme keine Errors o.Ä.
    ocmd:f(playerid,params[])
    {
    new text[144],name[MAX_PLAYER_NAME];
    if(!isPlayerNotZivi(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
    if(sscanf(params,"s",text))return SendClientMessage(playerid,-1,"Tippe: /f [text]");
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(text,144,""#fchat_farbe"*%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,params);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && isPlayerInSameFrak(playerid, i)){
    SendClientMessage(i, -1, text);
    } else {
    printf("%s %s: %s",f_rang[PlayerInfo[playerid][pFrank]-1],name,params);
    }
    }
    return 1;
    }

    Es ist im Prinzip das gleiche doch das Tutorial hat mir nicht geholfen.
    Manchmal kann ich raustabben und manchmal eben nicht. Das heißt manchmal komm ich wieder rein und manchmal werd ich wieder auf den Desktop geschmissen.

    Hey,


    meistens wenn ich aus meinem Game raustabbe (ALT+TAB) dann versucht er rein zu tabben doch er schmeißt mich dann wieder auf den Desktop.


    Hoffe ihr könnt mir helfen.


    System
    Windows 7

    Aber da nehme ich auch Route um zu wissen welche Strecke es ist geht das nicht auch iwie bei sizeof?


    @The Sensei:


    Code
    SetPlayerSkin(pID, f_skins[[pID][pFraction-1]][[pID][pFrank-1]]);

    funktioniert immer noch nicht die gleichen fehler;
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : error 029: invalid expression, assumed zero
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : warning 215: expression has no effect
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : error 001: expected token: ";", but found "]"
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : error 029: invalid expression, assumed zero
    C:\Users\Patrick\Desktop\San Andreas\gamemodes\Hightech_Reallife.pwn(234) : 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.

    Er zeigt mir an das die SetPlayerSkin zeile Falsch sein soll. Warscheinlich ein Klammerfehler doch ich finde keinen.
    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,4) || !IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
    new pID, fraction, string[128];
    if(sscanf(params,"ui",pID,fraction))return SendClientMessage(playerid,-1,"Tippe: /makeleader [spieler] [fraktion]");
    if(fraction<0||fraction>14)return SendClientMessage(playerid,-1,""#error_farbe"Bitte gültigen Fraktion angeben.");
    PlayerInfo[pID][pFraction] = fraction;
    PlayerInfo[pID][pFrank] = 10;
    SetPlayerSkin(pID, f_skins[[pID][pFraction]-1][[pID][pFrank]-1]);
    SaveUserStats(pID);
    format(string, sizeof(string),""#info_farbe"%s hat dich zum Leader der Fraktion %s gemacht.",PlayerInfo[playerid][pName],f_name[PlayerInfo[pID][pFraction]]);
    SendClientMessage(pID,-1,string);
    format(string, sizeof(string),""#success_farbe"Du hast erfolgreich %s zum Leader der Fraktion %s gemacht.",PlayerInfo[pID][pName],f_name[PlayerInfo[pID][pFraction]]);
    SendClientMessage(playerid,-1,string);
    format(string, sizeof(string) ,"%s hat %s zum Leader der Fraktion %s gemacht.",PlayerInfo[playerid][pName],PlayerInfo[pID][pName],f_name[PlayerInfo[pID][pFraction]]);
    Log("AdminLog",string);
    return 1;
    }

    Du kannst in sizeof die Dimensionen mit angeben (glaub ich zumindest).Quasi:

    Code
    sizeof(fscp_streacke1) //Gesamt
    sizeof(fscp_streacke1[]) //Erste Dimension
    sizeof(fscp_streacke1[][]) //Zweite Dimension
    sizeof(fscp_streacke1[][][]) //Dritte Dimension

    @The Sensei
    Was genau geht denn nicht / nur ab und zu?

    Also ich hab hier meine Deklaration :
    static const f_rang[][] = {
    {"Trainee","Police Officer","Detective","Sergeant","Lieutenant","Captain","Commander","Deputy Chief of Police","Assistant Chief of Police","Chief of Police"}, //SAPD
    {"Trainee","Police Officer I","Police Officer II","Sergeant","Lieutenant","Captain","Deputy Chief","Assistant Sheriff","Undersheriff","Sheriff"}}; //LVPD


    und hier meinen Code wie ich dies benutzen will.
    if(PlayerInfo[playerid][pFraction] > 0){
    format(string,sizeof(string),""#info_farbe"Du bist derzeitig beim %s als %s tätig.", f_name[PlayerInfo[playerid][pFraction]], f_rang[PlayerInfo[playerid][pFraction]][PlayerInfo[playerid][pFrank]]);
    SendClientMessage(playerid,-1,string);
    }


    Eigentlich ist doch alles richtig...

    Er setzt sie ab und zu, doch bei mir buggt grad alles.


    Hier deklariere hier alles:
    static const f_name[][] = {"Zivilist","Los Santos Police Department","Las Venturas Police Department","San Andreas Medical Department","Ordnungsamt","News Reporter","Hitman","Grove Street","Ballas","Yakuza","Triaden","S.F. Rifa","Präsident","Transport GmbH","Vagos"};
    static const a_rang[][] = {"User","Supporter","Moderator","Administrator","Master Administrator","Projektleiter"};
    static const f_rang[][][] = {
    {"Trainee","Police Officer","Detective","Sergeant","Lieutenant","Captain","Commander","Deputy Chief of Police","Assistant Chief of Police","Chief of Police"}, //SAPD
    {"Trainee","Police Officer I","Police Officer II","Sergeant","Lieutenant","Captain","Deputy Chief","Assistant Sheriff","Undersheriff","Sheriff"}};
    static const f_skins[][] = { //Es geht nach Ranks
    {0,0,0,0,0,0,0,0,0,0},//Zivi
    {301,284,265,266,267,280,281,286,283,283},//LSPD
    {302,303,282,282,282,310,311,285,288,288}};
    Und hier mein Befehl makeleader:
    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,4) || !IsPlayerAdmin(playerid))return SendClientMessage(playerid,-1,""#error_farbe"Keine Berechtigung");
    new pID, fraction, string[128];
    if(sscanf(params,"ui",pID,fraction))return SendClientMessage(playerid,-1,"Tippe: /makeleader [spieler] [fraktion]");
    if(fraction<0||fraction>15)return SendClientMessage(playerid,-1,""#error_farbe"Bitte gültigen Fraktion angeben.");
    PlayerInfo[pID][pFraction] = fraction;
    PlayerInfo[pID][pFrank] = 10;
    SetPlayerSkin(pID, f_skins[PlayerInfo[pID][pFraction]][PlayerInfo[pID][pFrank]]);
    SaveUserStats(pID);
    format(string, sizeof(string),""#info_farbe"%s hat dich zum Leader der Fraktion %s gemacht.",PlayerInfo[playerid][pName],f_name[PlayerInfo[pID][pFraction]]);
    SendClientMessage(pID,-1,string);
    format(string, sizeof(string),""#success_farbe"Du hast erfolgreich %s zum Leader der Fraktion %s gemacht.",PlayerInfo[pID][pName],f_name[PlayerInfo[pID][pFraction]]);
    SendClientMessage(playerid,-1,string);
    format(string, sizeof(string) ,"%s hat %s zum Leader der Fraktion %s gemacht.",PlayerInfo[playerid][pName],PlayerInfo[pID][pName],f_name[PlayerInfo[pID][pFraction]]);
    Log("AdminLog",string);
    return 1;
    }


    Ich hab keine Warnings/Errors