Beiträge von IceWave

    Hi, wollte gerade Rangnamen machen,
    Funktioniert aber nicht.


    ocmd:a(playerid,params[])
    {
    //RANGNAME
    new Rangnameadmin[16];
    switch(sInfo[playerid][adminlevel])
    {
    case 0:(Rangnameadmin = "Supporter");
    case 1:(Rangnameadmin = "Moderator");
    case 2:(Rangnameadmin = "Super Moderator");
    case 3:(Rangnameadmin = "Administrator");
    case 4:(Rangnameadmin = "Projektleiter");
    }
    new name[MAX_PLAYER_NAME], text[128];
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid, ROT, "Du bist kein Admin!");
    if(sscanf(params,"s[128]",text))return SendClientMessage(playerid,ROT,"Befehl: /a 'Nachricht'");
    GetPlayerName(playerid,name,sizeof(name));
    format(text,sizeof(text),"**%s %s: %s**",Rangnameadmin,name,text);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(!IsPlayerAnAdmin(i,1))continue;
    SendClientMessage(i,GELB,text);
    }
    return 1;
    }


    Weiss jemand woran das liegt ?

    Hey, habe gerade ein Problem, und zwar wenn ich in keiner Fraktion (Fraktion 0) bin werde ich gekickt.



    if(!isPlayerInFrakt(playerid,0))
    if(sInfo[playerid][spawnchange]==1)
    {
    new fID;
    fID = sInfo[playerid][fraktion];
    SetSpawnInfo(playerid,0,sInfo[playerid][skinid],fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z],fInfo[fID][f_r],0,0,0,0,0,0);


    }
    else
    {
    SetSpawnInfo(playerid,0,sInfo[playerid][skinid], 2026.2799,1343.7943,10.8203,272.3548, 0, 0, 0, 0, 0, 0);
    }
    TogglePlayerSpectating(playerid, 0);


    Das ist der Befehl, den ich beim einloggen wenn die Spieler geladen werden drin habe.


    public OnPlayerRequestClass(playerid, classid)
    {
    TogglePlayerSpectating(playerid, 1);
    return 1;
    }



    Bitte um Hilfe, ist wichtig..

    Hi, ich hänge gerade bei den Fraktionsspawns.


    Ich frage bei OnPlayerSpawn ab ob der Spieler in einer Frak ist und dann lasse ich ihn da spawnen.


    Bei OnPlayerRequestClass habe ich SetSpawnInfo gemacht, dort werden die Zivis gespawnt.



    Jedoch wird man jetzt jedes mal wenn man an einer Fraktion gespawnt wird ganz kurz davor am Zivispawn gespawnt,
    kann man das umgehen?

    die speicher ich in einer Globalen Variable im enum
    enum fraktenum
    {
    f_name[128],
    Float:f_x,
    Float:f_y,
    Float:f_z,
    Float:f_r,
    f_inter,
    f_world
    }

    new fInfo[][fraktenum] =
    {
    {"Zivilist",0.0,0.0,0.0,0.0,0,0},
    {"LSPD",2108.3289,1386.0986,10.8203,182.4039,0,0},
    {"Medic",0.0,0.0,0.0,0.0,0,0}
    };

    Mache gerade die Fraktionsspawns, irgendwie funktioniert das SetPlayerFacingAngle nicht..
    SetPlayerPos(playerid,fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z]);
    SetPlayerFacingAngle(playerid,fInfo[fID][f_r]);
    Er spawnt an der richtigen Stelle, aber sieht um ca.160 Grad in eine andere Richtung als abgespeichert..
    Weiss jmd an was das liegen könnte?

    hi, ich möchte gerade einen setskin Befehl machen,
    funktioniert auch alles, nur beim erneuten einloggen habe ich den Skin der bei OnPlayerRequestClass unter SetSpawnInfo steht.


    Muss ich dann unter diesem Callback meine Skinid aus der DB laden oder geht das anders auch?

    Ich habs so gemacht, dass beim einloggen das Level aus der Datenbank direkt ausgelesen wird.


    Jetzt war das Problem beim registrieren ist man ja Level 0 und da ich gleich nach dem Register den Login aufrufe dass er immer Level 0 aus der DB rauslädt.






    Noch eine Frage:
    public Onblabla
    {
    if(.........)
    {
    .....
    }
    else
    {
    if(GetPlayerScore(playerid)==0)return 1;
    }
    Wird das was hier steht dann noch ausgeführt?
    }



    Eigentlich wird das nach dem return ja nicht mehr ausgeführt, aber hier dann schon oder? Weil das return ja nur auf das was im else drin steht bezogen ist oder?


    also wenn unter dem if(GetPlayerScore(playerid)==0)return 1; direkt etwas steht wird das nicht ausgeführt richtig?

    kurz eine kleine Frage:
    if(GetPlayerScore(playerid)==0)return SetPlayerScore(playerid,1);
    SetPlayerScore(playerid,cache_get_field_content_int(0,"level",dbverbindung));


    Wenn das Lvl nicht gleich 0 ist möchte ich es auf 1 setzen,
    aber egal ob es lvl 0,1,2... ist möchte ich das was darunter steht ausführen.


    So wie ich das jetzt habe wird ja nur das nach dem return ausgeführt wenn der Spieler Lvl 0 ist.



    Oder MUSS ich das dann ganz nach unten setzen?

    Hey, wollte dem User das Startlevel gerade auf 1 setzen,
    muss dazu jetzt einmal beim registrieren etwas in die DB schreiben und Updaten, geht das so?


    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //Registrieren
    mysql_escape_string(inputtext,passwort,dbverbindung);
    format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s',MD5('%s'))",name,passwort);
    mysql_function_query(dbverbindung,query,false,"","");

    new query2[128];
    format(query2,sizeof(query2),"UPDATE user SET level='1' WHERE id='%i'",sInfo[playerid][db_id]);
    mysql_function_query(dbverbindung,query2,false,"","");



    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gib bitte dein Passwort ein:","Login","Abbrechen");
    }


    Oder funktioniert dass mit query2 nicht? weil er mir das Level nicht ändert..

    Hi, habe ein Problem mit if IsPlayerConnected.
    ocmd:saveplayer(playerid,params[])
    {
    new text[60], pID;
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,MAX_PLAYER_NAME);
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Befehl: /saveplayer [ID]");
    format(text,sizeof(text),"Du hast %s gespeichert!",name);
    SendClientMessage(playerid,ROT,text);
    SendClientMessage(pID, ROT, "Daten wurden gespeichert ... Dies kann einen kleinen Moment zu Laggs führen!");
    savePlayer(pID);
    return 1;
    }


    Wenn ich jetzt /saveplayer mache und eine ID nehme die nicht auf dem Server ist will ich das angezeigt haben SendClientMessage(playerid,ROT,"Der Spieler ist nicht online!");
    Ich bekomme aber dann Du hast Kontrax gespeichert. UND Den Befehle /saveplayer angegebene ID gibt es nicht.

    Corvus:
    Wie erstellst du das Objekt denn?


    @Kontrax:
    Für Textdraws die für jeden Spieler gleich sind, sprich den gleiche Inhalt an Text haben, nimmst du globale Textdraws, für Spieler-spezifische Textdraws nimmst du PlayerTextdraws.



    Wenn ich jetzt beim Autohaus z.b 10 Autos habe, und ein Textdraw möchte wo sich der Autoname bei jedem Auto ändert,
    dann Global oder für den Spieler?