Beiträge von Stylernero

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Hey :) , folgendes Problem. ich habe mein Wanted System so gebaut, dass es bei 10 wanted punkten einen wanted stern gibt, bei 20 zwei sterne und dann bis 60 punkten mit sechs sternen. Aber das problem ist, das die sterne oben rechts ingame nicht angezeigt werden und auch nicht in der datei gespeichert werden. woran liegt das?


    dcmd_su(playerid,params[])
    {
    if(SpielerInfo[playerid][Fraktion] == 1 || SpielerInfo[playerid][Fraktion] == 2)
    {
    new pID,wanteds,grund[128],string[128],spieler[MAX_PLAYER_NAME];
    if(sscanf(params,"uds",pID,wanteds,grund)) return SendClientMessage(playerid,weiß,"Verwendung: /su [playerid] [Wanteds] [Grund]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,weiß,"Dieser Spieler ist nicht online.");
    if(PDuty[playerid] == 1)
    {
    if(wanteds < 1 || wanteds > 60) return SendClientMessage(playerid,weiß,"Du kannst nur zwischen 1 & 60 Wantedpunkten vergeben.");
    SpielerInfo[pID][Wanteds] += wanteds;
    if(SpielerInfo[pID][Wanteds] >= 1) { SetPlayerWantedLevel(pID,0); }
    else if(SpielerInfo[pID][Wanteds] >= 10) { SetPlayerWantedLevel(pID,1); }
    else if(SpielerInfo[pID][Wanteds] >= 20) { SetPlayerWantedLevel(pID,2); }
    else if(SpielerInfo[pID][Wanteds] >= 30) { SetPlayerWantedLevel(pID,3); }
    else if(SpielerInfo[pID][Wanteds] >= 30) { SetPlayerWantedLevel(pID,4); }
    else if(SpielerInfo[pID][Wanteds] >= 30) { SetPlayerWantedLevel(pID,5); }
    else if(SpielerInfo[pID][Wanteds] >= 30) { SetPlayerWantedLevel(pID,6); }
    GetPlayerName(playerid,spieler,sizeof spieler);
    format(string,sizeof string,"** Du hast %d Wantedpunkte erhalten.**",wanteds);
    SendClientMessage(pID,hellblau,string);
    format(string,sizeof string,"** Erhalten von: %s, Grund: %s.",spieler,grund);
    SendClientMessage(pID,hellblau,string);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][Fraktion] == 1 || SpielerInfo[i][Fraktion] == 2)
    {
    SendClientMessage(i,hellblau,"** !! Es wurden Wantedpunkte vergeben. !! **");
    }
    }
    }
    }
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht befugt diesen Befehl auszuführen."); }
    return 1;
    }


    laden lasse ich sie eigentlich so:
    SpielerInfo[playerid][Wanteds]=dini_Int(Spielerdateien,"Wanteds");


    speichern so:
    dini_IntSet(Spielerdateien,"Wanteds",GetPlayerWantedLevel(playerid));


    und bei onplayerspawn lasse ich sie halt nocheinmal geladen.

    Hallo leute,
    ich habe da ein kleines Problem. Und zwar wollen sich bei diesem Befehl keine Fahrzeuge spawnen lassen mit der begründung .. "Es gibt nur Fahrzeuge zwischen ID ..." , woran liegt es und kann es einer beheben? :s


    dcmd_cc(playerid,params[])
    {
    if(SpielerInfo[playerid][Adminlevel] >= 4)
    {
    new carid,farbe1,farbe2;
    new Float:x,Float:y,Float:z;
    if(sscanf(params,"uii",carid,farbe1,farbe2)) return SendClientMessage(playerid,weiß,"Verwendung: /cc [Car ID] [Farbe 1] [Farbe 2]");
    if(carid < 400 || carid > 611) return SendClientMessage(playerid,weiß,"Es gibt nur Fahrzeug ID's zwischen 400 & 611.");
    if(farbe1 < 0 || farbe1 > 252) return SendClientMessage(playerid,weiß,"Es gibt nur Farben zwischen 0 & 252.");
    if(farbe2 < 0 || farbe2 > 252) return SendClientMessage(playerid,weiß,"Es gibt nur Farben zwischen 0 & 252.");
    if(VehicleSpawn[playerid] == 1) return SendClientMessage(playerid,weiß,"Du hast dir bereits ein Fahrzeug gespawnt, - Zerstöre es!");
    GetPlayerPos(playerid,x,y,z);
    CreateVehicle(carid,x,y+4,z,0,farbe1,farbe2,-1);
    VehicleSpawn[playerid] = 1;
    SendClientMessage(playerid,rot,"AdmCmd: Du hast dir ein Fahrzeug gespawnt.");
    SendClientMessage(playerid,rot,"AdmCmd: Solltest du dein Fahrzeug verlieren, solltest du es wiederfinden.");
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][Adminlevel] >= 5)
    {
    new spieler[MAX_PLAYER_NAME],string[80];
    GetPlayerName(playerid,spieler,sizeof spieler);
    format(string,sizeof string,"SO* AdmCmd: %s hat sich ein Fahrzeug gespawnt.",spieler);
    SendClientMessage(i,rot,string);
    }
    }
    }
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht befugt diesen Befehl auszuführen."); }
    return 1;
    }

    ganz ehrlich, ich hatte kein schimmer davon das irgendwas nicht stimmt:D , wie auch? wenn ich den server hochgestellt habe ging alles auch bei meinem kumpel. nach ner zeit kommt er dann an, dass er bei sich nicht spawnen kann und um die spawns habe ich mich gaanz am anfang gekümmert. deshalb kam ich da nicht drauf klar:D
    nochmals danke:)

    alles klar, ich war mir einfach zu unser mit dem AddPlayerClass. Hat wohl doch einen Grund warum es von anfang an in jedem Script steht :D , nein ernsthaft - danke!:)

    okey. dann setze ich jetzt AddPlayerClass rein. Ist es aber egal mit welchen Koordinaten oder welchem Skin? Einfach nur reinballern und ich spawne als Zivilist immernoch mit dem gespeicherten Skin etc? :D sorry, bin ein schwerer fall, ich weiß ^^

    if(SpielerInfo[playerid][Fraktion] == 0)
    {
    if(SpielerInfo[playerid][Herkunft] == 1)
    {
    SetPlayerPos(playerid,1108.4631,-927.8450,43.1797);
    SetPlayerFacingAngle(playerid,293.9932);
    SetPlayerInterior(playerid,0);
    SetPlayerSkin(playerid,SpielerInfo[playerid][Skin]);
    }
    else if(SpielerInfo[playerid][Herkunft] == 2)
    {
    SetPlayerPos(playerid,-1899.7057,487.8938,35.1719);
    SetPlayerFacingAngle(playerid,92.1094);
    SetPlayerInterior(playerid,0);
    SetPlayerSkin(playerid,SpielerInfo[playerid][Skin]);
    }
    else if(SpielerInfo[playerid][Herkunft] == 3)
    {
    SetPlayerPos(playerid,-2490.6011,2363.6555,10.2721);
    SetPlayerFacingAngle(playerid,214.9983);
    SetPlayerInterior(playerid,0);
    SetPlayerSkin(playerid,SpielerInfo[playerid][Skin]);
    }
    }


    Das habe ich ja bei OnPlayerSpawn xD

    Okey, soweit habe ich es ja auch verstanden & Fraktionen lasse ich ja auch ganz normal unter OnPlayerSpawn spawnen. Nur wie mache ich das denn jetzt mit AddPlayerClass, wenn ich Herkunft 1, 2 & 3 habe. Dreimal AddPlayerClass mit den jeweiligen Kordinaten für Los Santos, San Fierro & Bayside?

    ich weiß nicht wie ich addplayerclass auch für fraktionen benutzen kann etc. habe früher setspawninfo benutzt, aber weiß nicht mehr wo ich das hingepackt hatte.

    Hallo Leute,
    folgendes Problem. Ich und ein Kumpel sind dabei ein Projekt auf die Beine zu stellen. Funktioniert ganz gut bis uns das erste Problem aufgefallen ist. Ich kann halt ohne Probleme über meinen Port und IP connecten. Login Dialog kommt und auch nachdem man auf spawn geklickt hat wird man an seiner stelle gespawnt (habe halt die Spawns bei OnPlayerSpawn erstellt). Das gleiche ist auch bei meinem Kumpel wenn er über meine IP & Port connectet. Es treten halt keine Probleme auf.


    Nun, jetzt wollte mein Kumpel über seine IP connecten. Er kan nsich über das Login einloggen wird aber nicht gespawnt. Dafür steht fett auf dem Bildschirm "STAY WITHIN THE WORLD BOUNDRIES" und naja, ich habe halt kein AddPlayerClass mehr drinne, weil ich es nicht mehr wollte. Wie gesagt, bei mir funktioniert es fehlerfrei. Was können wir machen damit es auch bei ihm geht?

    Ich bekomme keine Waffe.. Zwar steht da, dass ich die waffe bekommen habe und auch in der datei "waffen" wir eine hinzugefügt, aber auf die hand bekomme ich keine, wieso?


    dcmd_givewaffe(playerid,params[])
    {
    if(SpielerInfo[playerid][Adminlevel] >= 3)
    {
    new string[128],waffenid,muni,pID;
    new spieler[MAX_PLAYER_NAME],spieler2[MAX_PLAYER_NAME];
    if(sscanf(params,"uii",pID,waffenid,muni)) return SendClientMessage(playerid,weiß,"Verwendung: /givewaffe [playerid] [Waffen ID] [Munition]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,weiß,"Dieser Spieler ist nicht online.");
    if(waffenid < 342 || waffenid > 362) return SendClientMessage(playerid,weiß,"Mögliche Waffen IDs: 342 - 362");
    if(muni < 1 || muni > 999) return SendClientMessage(playerid,weiß,"Mögliche Munition: 1 - 999 Schuss.");
    GivePlayerWeapon(pID,waffenid,muni);
    Waffen[pID] += 1;
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"AdmCmd: Du hast %s die Waffen ID %d mit %d Schuss Munition zukommen lassen.",spieler,waffenid,muni);
    SendClientMessage(playerid,rot,string);
    format(string,sizeof string,"AdmCmd: %s hat dir die Waffen ID %d mit &d Schuss Munition zukommen lassen.",spieler2,waffenid,muni);
    SendClientMessage(pID,rot,string);
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht befugt diesen Befehl auszuführen."); }
    return 1;
    }

    Folgendes Problem. Da wo das Geld & Kontostand als Zahl stehen soll steht jedesmal 0 oder teilweise auch -10, obwohl sich Geld auf dem Konto und auf der Hand befindet. Was ist falsch?


    dcmd_checkmoney(playerid,params[])
    {
    if(SpielerInfo[playerid][Adminlevel] >= 4)
    {
    new string[128],pID;
    new spieler[MAX_PLAYER_NAME],spieler2[MAX_PLAYER_NAME];
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,weiß,"Verwendung: /checkmoney [playerid]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,weiß,"Dieser Spieler ist nicht online.");
    SendClientMessage(playerid,weiß,"");
    SendClientMessage(playerid,weiß,"|_____ Kontostände & Handgelder _____|");
    new geld = SpielerInfo[pID][Geld];
    new kontostand = SpielerInfo[pID][Kontostand];
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"Geld (Auf der Hand): $%i.",geld);
    SendClientMessage(playerid,weiß,string);
    format(string,sizeof string,"Kontostand: $%i.",kontostand);
    SendClientMessage(playerid,weiß,string);
    if(SpielerInfo[pID][Adminlevel] >= 1)
    {
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"Dieser Spieler ist im Admin Team & wird darüber informiert.");
    SendClientMessage(playerid,weiß,string);
    SendClientMessage(playerid,weiß,"");
    format(string,sizeof string,"AdmCmd: ! .. Admin %s schaut sich deine Kontostände etc an.",spieler);
    SendClientMessage(pID,rot,string);
    }
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"AdmCmd: Du hast dir %s's Kontostände etc angeschaut.",spieler2);
    SendClientMessage(playerid,weiß,string);
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht befugt diesen Befehl auszuführen."); }
    return 1;
    }

    Folgendes Problem: mein selbst erstelltes "/goto" funktioniert nicht ganz so wie es sollte. Man fällt ständig vom himmel. kann es jemand fixxen?


    dcmd_goto(playerid,params[])
    {
    if(SpielerInfo[playerid][Adminlevel] >= 1)
    {
    new Float:x,Float:y,Float:z;
    new Float:xx,Float:yy,Float:zz;
    new Float:xxx,Float:yyy,Float:zzz;
    new string[128],pID;
    new spieler[MAX_PLAYER_NAME],spieler2[MAX_PLAYER_NAME];
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,weiß,"Verwendung: /goto [playerid]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,weiß,"Dieser Spieler ist nicht online.");
    GetPlayerPos(pID,x,y,z);
    if(IsPlayerInAnyVehicle(playerid))
    {
    new fahrzeug = GetPlayerVehicleID(playerid);
    SetVehiclePos(fahrzeug,xx,yy+4,zz);
    }
    else
    {
    SetPlayerPos(playerid,xxx,yyy+2,zzz);
    }
    SpielerInfo[playerid][Interior] = SpielerInfo[pID][Interior];
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(pID));
    GetPlayerName(playerid,spieler,sizeof spieler);
    GetPlayerName(pID,spieler2,sizeof spieler2);
    format(string,sizeof string,"AdmCmd: Du hast dich zu %s geportet.");
    SendClientMessage(playerid,rot,string);
    format(string,sizeof string,"AdmCmd: %s hat sich zu dir geportet.");
    SendClientMessage(pID,rot,string);
    }
    else { return SendClientMessage(playerid,weiß,"Du bist nicht befugt diesen Befehl auszuführen."); }
    return 1;
    }

    Hallo, ich hab mal eine kleine Frage bezüglich meines Login & Register Systemes. Undzwar lass ich immer mit HatEinNamen überprüfen ob der Spieler bereits einen Account hat. Somit wird dann bestimmt welcher Dialog rauskommen soll. Nach dem Tutorial lass ich es dann eigentlich mit


    PlayerInfo[playerid][pHatEinNamen] = 1;


    speichern. Aber als ich letztes mal wieder reloggt hab kamm der Dialog nicht. Das ist ja behebbar, aber als ich dann den Server geschlossen hab und wieder drauf gekommen bin kam der Register Dialog erneut mit allen Sachen die man ausfüllen muss z.b herkunft etc. Dann hab ich in meine Spielerdatei geguckt und dort war das


    PlayerInfo[playerid][pHatEinNamen]


    auf 0 und nicht auf 1 obwohl ich es ja eigentlich gespeichert hab bei OnPlayerRegister und bei OnDialogResponse.
    was soll ich machen ??

    Hi, ich hab mein register login system in nen dialog gemacht, aber iwie speichert der das passwort nicht.
    der verlauf ist so. man gibt das passwort in nen dialog ein, und dann macht man /login und das passwort aber immer steht da das das passwort falsch ist ?
    was hab ich vergessen ?


    if (strcmp(cmd, "/register", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "/Accounts/%s.ini", sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Dieser Name ist schon vergeben! Bitte benutze einen anderen.");
    fclose(hFile);
    return 1;
    }
    new tmppass[64];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /register [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerRegister(playerid,tmppass);
    }
    return 1;
    }
    if (strcmp(cmd, "/login", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /login [passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 1;
    }



    und die dialoge


    if(dialogid == Dialog_Login)
    {
    if(!response)
    {
    SendClientMessage(playerid,COLOR_RED,"Bitte gebe /q ein um dein Spiel zu beenden!");
    Kick(playerid);
    }
    if(!strlen(inputtext))
    return ShowPlayerDialog(playerid,Dialog_Login,1,"Login","Bitte gebe hier dein Passwort ein!","Login","Disconnect");
    new sendername[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,sendername, sizeof sendername);
    format(string,sizeof(string),"/Accounts/%s.ini",sendername);
    new File: hFile = fopen(string, io_read);
    if (hFile)
    {
    ShowPlayerDialog(playerid,Dialog_Login,1,"Login","Bitte gebe hier dein Passwort ein.\nDiesen Namen gibt es schon.","Login","Disconnect");
    fclose(hFile);
    return 1;
    }
    strmid(inputtext, inputtext, 0, strlen(inputtext), 255);
    Encrypt(inputtext);
    OnPlayerRegister(playerid,inputtext);
    }
    return 1;