Beiträge von Mayo

    Hallo,
    ich habe mir ein Autosystem entworfen was für jedes Auto eine Datei anlegt aber irgendwie wollen die befehle die beide die datein editieren nicht.
    Es gibt keine warnings nichts...
    Hier der car löschen bfehl
    if(strcmp(cmdtext, "/delveh", true) == 0)
    {
    if(!IstSpielerAdmin(playerid,15))return SendClientMessage(playerid,ROT,"Diesen Befehl kannst du nicht nutzen. Mindestens benötigter Rang: {00FF5A}Supporter");
    {
    new currentveh;
    new c[256];
    currentveh = GetPlayerVehicleID(playerid);
    DestroyVehicle(currentveh);
    format(c,sizeof(c),"cars/%d.ini",currentveh);
    if(!dini_Exists(c))
    {dini_Remove(c);return 1;
    }
    else
    {}}}
    Er löscht zwar das Auto aber nicht die datei...
    Was ist falsch?!


    und der Parken befehl.
    ocmd:parken(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid,15))return SendClientMessage(playerid,ROT,"Diesen Befehl kannst du nicht nutzen. Mindestens benötigter Rang: {00FF5A}Supporter");
    {
    new currentveh;
    new c[256];
    currentveh = GetPlayerVehicleID(playerid);
    format(c,sizeof(c),"cars/%d.ini",currentveh);
    new Float:vehx, Float:vehy, Float:vehz, Float:z_rot;GetVehiclePos(currentveh, vehx, vehy, vehz);GetVehicleZAngle(currentveh, z_rot);dini_FloatSet("c", "x", vehx);dini_FloatSet("c", "y", vehy);dini_FloatSet("c", "z", vehz);dini_FloatSet("c", "angel", z_rot);
    return 1;
    }
    }
    Diese befehl hat garkeine funktion...
    warum??

    tut er doch aber er wird dir immer wieder die skin auswahl zeigen und nie den skin laden da du nicht abfragst ob der sin über 0 ist

    also mach doch erstma nur einen /setskin befehl.
    Der ist einfach.


    if(!strcmp(cmdtext, "/setskin", false, 3))
    {
    new car;
    car = strval(cmdtext[3]);
    SetPlayerSkin(playerid,car);
    SpielerSpeichern(playerid);
    return 1;
    }

    du sagst einfach das die okay taste beim register dialog abspeichert und dann den männlich weiblich dialog öffnet und dann beim männloich weiblich dialog sagt du die okay taste soll abspeichern und den geburts dialog öffnen und dann die okay taste dann speicherst du ab und startest den tuturial timer

    SpawnPlayer(playerid); unter OnPlayerRequestClass reinhauen oder nach deinem Login / register dialog oder sonnst wo es nocht gehen könnte ;)


    //edit Fehler behoben...

    Ja also ihr müsst ja auch dann erstma einen stock erstelen also ganz unten in Skript.


    stock HatSpielerSkin(playerid,skin)
    {
    if(sSpieler[playerid][Skin] == skin) return 1;//hier müsst ihr das anpassen
    return 0;
    }


    Dann geht ihr zu OnPlayerConnect.
    und lest die Datei zeile "Skin" aus und bring das in einen String.
    Dann macht ihr z.B. SetPlayerSkin(playerid,skin);


    fertig ;)
    //edit
    Wenn ihr mehr hilfe braucht sagt bescheid ;)

    Also jein du hast bei OnPlayerDisconnect SpielerSpeichern(playerid); Stehen oder?


    PS: Das mit Addplayer ist ja für die skin auswahl da müsstest du also wenn der skin == 0 ist die skin auswahl anzeigen lassen wenn du das so machen willst. Und wenn nicht 0 dann normal spawnen und aus der datei auslesen. Zum auslesen brauchst du aber einen Stock. Das finde ich meiner seits mit der Skin auswahl sehr umständlich. Ich würde diese übergehen und dann einfach einen Standart skin setzen und diesen dann durch einen befehl änder bar machen oder halt einen laden erstellen wo man halt den skin dann auch aussuchen kann

    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Skin",GetPVarInt(playerid,"Skin"));
    }
    return 1;
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    Du müsstest oben noch ein Enum haben. Da musst du dannnoch ,Skin eintragen

    if(IsPlayerNPC(playerid))
    {
    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname, "BulletLS", true))
    {
    gPlayerLogged=1;//hier muss ich ja anpassen aber wie...?
    }
    }
    Also für den Bot ne Datei erstellen dann in derDatei z.B. IstBot = 0 und wenn es 1 isteinfach durchrauschen lassen?
    Oder wie?

    Hallo,
    ich hab mir einen Bot erstellt dieser Connectet auch läuft auch gut und so, aber weiter als connecten kommt der nicht.
    Wie bekomme ich den da durch?
    Muss ich da mein Login system erweitern?
    Hat SAMP eine eigene Funktion?


    hmm...


    hoffe ihr könnt mir helfen