Beiträge von S33k

    Das geht nicht. Ich bekomm dann Errors:


    Zeile:


    180 if(isnull(iid)) return SendClientMessage(playerid,GRAU,"Benutzung: /(i)nterior <ID> <Interior ID>");


    Error:


    C:\Users\Paul\Desktop\GTA SAMP pawno\gamemodes\selfmade2.pwn(180) : error 028: invalid subscript (not an array or too many subscripts): "iid"
    C:\Users\Paul\Desktop\GTA SAMP pawno\gamemodes\selfmade2.pwn(180) : error 029: invalid expression, assumed zero
    C:\Users\Paul\Desktop\GTA SAMP pawno\gamemodes\selfmade2.pwn(180) : error 028: invalid subscript (not an array or too many subscripts): "iid"
    C:\Users\Paul\Desktop\GTA SAMP pawno\gamemodes\selfmade2.pwn(180) : fatal error 107: too many error messages on one line



    Sooo es war SOOO ein blöder Fehler habs jetzt raus.


    Ich musste einfach nur den Sscanf Code einfügen da ich bisher nur ein Include hatte(aus dem Forum hier) welches aber anscheind Parameter auf 0 setzte. Trotzdem danke für die Hilfe! =D

    Ich habe das Problem das ich bei meinem Befehl /interior [Spieler ID] [Interior ID] immer wieder egal welche Interior ID ich eingebe bei 0 lande.


    Hier der Code:


    Spoiler anzeigen
    CMD:i(playerid,params[])
    {
    new iid,pid;
    if(Spieler[playerid][pAdmin] == 0) return SendClientMessage(playerid,ROT,"Du bist kein Admin oder hast nicht das benötigte Level!");
    if(sscanf(params,"ud",pid,iid)) return SendClientMessage(playerid,GRAU,"Benutzung: /(i)nterior <ID> <Interior ID>");
    if(isnull(params)) return SendClientMessage(playerid,GRAU,"Benutzung: /(i)nterior <ID> <Interior ID>");
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,GRAU,"Der Spieler konnte nicht gefunden werden!");
    SetPlayerInterior(pid,iid);
    return 1;
    }


    pid = Spieler
    iid = interiorid


    Bräuchte dringend hilfe da ich anscheind auch bei anderen Befehlen dieses Problem habe, der 2te Parameter wird fast immer auf 0 gesetzt, das einzige was bisher nie auf 0 gesetzt wurde war der /v efehl damit ich Autos spawnen konnte....


    Keine Errors/Warnings im Script

    So hab jetz den Fehler gefunden, weiß aber immer noch nicht wo dieser steckt.
    Ich hane ein printf gemacht nach dem er eig. das Adminlevel sollte.
    Ich hab mir ausgeben lassen auf welches Level es gesetzt wird und es is mir folgendes aufgefallen:


    So stand es in der Konsole:


    Ausgabe:makeadmin(0,48)


    im Script:


    printf("Ausgabe:makeadmin(%d,%d)",pid,params[]);


    Hat jemand eine ahnung warum da 48 steht?
    Habe das gleiche mit der ausgabe von der Variable probiert - da zeigt er wieder 0 an...


    //edit: Neues rausgefunden

    Ich habe das Problem das in meinem Script bei dem /makeadmin Befehl die Variable nicht verändert wird. Es werden keine Fehler/Warnings ausgegeben.


    Bräuchte mal Hilfe weil ich nicht darauf komme :)
    pID = Der Spieler dessen Adminlevel gesetzt wird
    newlevel = Das neue Adminlevel von pID


    Spoiler anzeigen
    ocmd:makeadmin(playerid,params[])
    {
    new pID;
    new newlevel;
    if(pInfo[playerid][Adminlevel] == 1337)
    {
    if(pInfo[playerid][loggedin] == 1)
    {
    if(sscanf(params,"ui",pID,newlevel))return SendClientMessage(playerid,GRAU,"Befehl: /makeadmin [Spieler] [Adminlevel]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Konnte den Spieler nicht finden.");
    if(newlevel<0)return SendClientMessage(playerid,GRAU,"Das Level darf nicht niedriger als 1 sein.");
    if(newlevel>2000)return SendClientMessage(playerid,GRAU,"Das Level darf nicht über 2000 sein.");
    new str[128],plname[24],str2[128],str3[128],admin[24],Spielerdatei[64];
    GetPlayerName(pID,plname,sizeof plname);
    GetPlayerName(playerid,admin,sizeof admin);
    format(Spielerdatei,sizeof Spielerdatei,"/Accounts/%s.ini",plname);
    format(str,sizeof str,"Du hast das Adminlevel von %s[ID:%i] auf %i gesetzt!",plname,pID,newlevel);
    format(str2,sizeof str2,"Admin %s hat das Adminlevel von %s[ID:%i] auf %i gesetzt!",admin,plname,pID,newlevel);
    format(str3,sizeof str3,"Dein Adminlevel wurde von %s[ID:%i] auf %i gesetzt!",admin,pID,newlevel);
    //_____Nachricht An Alle Admins_____
    for(new i; i<MAX_PLAYERS;i++)
    {
    if(pInfo[i][Adminlevel]>=1)
    {
    SendClientMessage(i,ORANGE,str2);
    }
    }
    //_____Ende_____
    SendClientMessage(playerid,GRAU,str);
    SendClientMessage(pID,BLAU,str3);
    pInfo[pID][Adminlevel] = newlevel;
    dini_IntSet(Spielerdatei,"Adminlevel",newlevel);
    }
    }
    else return SendClientMessage(playerid,ROT,"Du bist kein Admin oder hast nicht den benötigten Rang.");
    return 1;
    }


    Könnte mir einer sagen wie ich es ändere das der Pawn Code richtig angezeigt wird? :rolleyes: