Beiträge von Noneatme

    das mit dem Totenkopf ist einfach,



    new totenkopf[MAX_PLAYERS];
    new Float:x,Float:y,Float:z;//erstellt positionvariablen


    OnPlayerDeath:
    GetPlayerPos(playerid,x,y,z);//fragt todesposition ab
    totenkopf[playerid] = CreatePickup(1254,0,x,y,z,-1);//erstellt pickup an x,y,z


    OnPlayerSpawn:
    DestroyPickup(totenkopf[playerid]);


    ungetestet & von hand geschrieben.


    mfg

    colex.pwn(6846) : error 047: array sizes do not match, or destination array is too small


    Bei zeile:


    SpielerInfo[playerid][Gangname]=dini_Get(Spielerdatei,"Gangname");


    but warum?


    enum:
    Gangname[64],
    //edit: habs


    format(SpielerInfo[playerid][Gangname], MAX_PLAYER_NAME, "%s", dini_Get(Spielerdatei, "Gangname"));

    Wenn du englisch könntest, würde ich mal sagen, dass da steht, dass der Array den du definiert hast, irgendwo im script, zu klein ist, und nicht alles reingesteckt werden kann.
    Könnte an deinem Haussystem liegen.

    versuchs mal so:



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == Waffenshop)
    {
    if(response)
    {
    if(listitem == 0) // AK47
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!"); // Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,30,300); // Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -400); //Zieht dem Spieler Geld ab
    }
    if(listitem == 1) // Desert Eagle
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!");// Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,24,100);// Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -150);//Zieht dem Spieler Geld ab
    }
    if(listitem == 2) // M4
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!");// Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,31,300);// Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -450);//Zieht dem Spieler Geld ab
    }
    if(listitem == 3)// MP5
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für diese Waffe!");// Abfrage ob der Spieler Geld hat
    GivePlayerWeapon(playerid,29,200);// Gibt dem Spieler die Waffe
    GivePlayerMoney(playerid, -300);//Zieht dem Spieler Geld ab
    }
    if(listitem == 4) //Armour
    {
    if(preise[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du brauchst mehr Geld für Armour!");// Abfrage ob der Spieler Geld hat
    SetPlayerArmour(playerid,100.0);// Gibt dem Spieler Armour
    GivePlayerMoney(playerid, -100);//Zieht dem Spieler Geld ab
    }
    if(dialogid == DriveIn)
    {
    if(response)
    {
    if(listitem == 0) // Muh Muh Kindermenu
    {
    if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du hast kein Geld!"); // Abfrage ob der Spieler Geld hat
    GivePlayerHealth(playerid,5);
    GivePlayerMoney(playerid, -2); //Zieht dem Spieler Geld ab
    }
    if(listitem == 1) // Mega Rindfleisch Burger
    {
    if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du hast kein Geld!");// Abfrage ob der Spieler Geld hat
    GivePlayerHealth(playerid,10);
    GivePlayerMoney(playerid, -150);//Zieht dem Spieler Geld ab
    }
    if(listitem == 2) // Fleischberg Burger
    {
    if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du hast kein Geld!!");// Abfrage ob der Spieler Geld hat
    GivePlayerHealth(playerid,25);
    GivePlayerMoney(playerid, -6);//Zieht dem Spieler Geld ab
    }
    if(listitem == 3)// Salat
    {
    if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du hast kein Geld!");// Abfrage ob der Spieler Geld hat
    GivePlayerHealth(playerid,15);
    GivePlayerMoney(playerid, -10);//Zieht dem Spieler Geld ab
    }
    if(listitem == 4) //Sprunk 0,2l
    {
    if(price[listitem] >= GetPlayerMoney(playerid))return SendClientMessage(playerid,COLOR_RED,"Du hast kein Geld!");// Abfrage ob der Spieler Geld hat
    GivePlayerHealth(playerid,5);
    GivePlayerMoney(playerid, -5);//Zieht dem Spieler Geld ab
    }
    }
    }
    }
    }
    return 1;
    }

    habs hinbekommen, mit tausend stocks ;o



    stock SpeicherTot(playerid,killerid)
    {
    SpeicherFriedhof(playerid);
    SpielerInfo[playerid][Tode] += 1;
    SpielerInfo[killerid][Morde] += 1;
    }
    stock SpeicherFriedhof(playerid)
    {
    SpielerInfo[playerid][Friedhof] = 1;
    SpielerInfo[playerid][Friedhofzeit] = 2;
    }

    geht uahc nicht :(


    ich werd mal Trick 17 anwenden, und tu das unter OnPlayerSpawn


    if(gekillt[playerid] == 1){ SpielerInfo[playerid][Friedhof] = 1; SpielerInfo[playerid][Friedhofzeit] = 2; gekillt[playerid] = 0;}


    mit der Var unter OnPlayerDeath.


    //edit: failure nummer 4


    //edit HustleR


    es wird keine Variable von Friedhof und Friedhofzeit je umgestellt, weder gespeichert. Glaub ich, ich kann ja mal testen


    //edit:


    ycmd("/friedhof")
    {
    if(SpielerInfo[playerid][Friedhof] == 1){ MSG(playerid,COLOR_RED,"Friedhof ist 1");}
    if(SpielerInfo[playerid][Friedhofzeit] == 2){ MSG(playerid,COLOR_RED,"Friedhofzeit ist 2");}
    new string[256];
    format(string,sizeof(string),"Friedhof: %d, Friedhofzeit: %d",SpielerInfo[playerid][Friedhof],SpielerInfo[playerid][Friedhofzeit]);
    MSG(playerid,COLOR_LIGHTBLUE,string);

    return 1;
    }
    mal als test:


    vorm Sterben: friedhof 0 zeit auch 0
    beim sterben: 0 0
    nachm sterben: 0 0


    also stellt sich garnix um.


    ....


    //edit: Mein problem ist ja nur, die Variable.
    ich meine ich kann auch ganz auf die Spielervarialbe beim tot verzichten, erstell ich eine für MAX_PLAYERS, aber wenn ich meine Datei verändere, dann funktioniert alles.


    //edit nochmal:
    hab das mal test gemacht!:


    Inenforcer[playerid] = 0;
    Watching[playerid] = 0;
    Goto[playerid] = 0;
    dutyvar[playerid] = 0;
    SpielerInfo[playerid][Tode] += 1;
    print("morde");
    SpielerInfo[killerid][Morde] += 1;
    print("tode");
    gekillt[playerid] = 1;
    print("gekillt");
    SpielerInfo[playerid][Friedhof] += 1;
    SpielerInfo[playerid][Friedhofzeit] += 2;
    print("2 abfragen");
    Speichern(playerid);
    Speichern(killerid);
    print("gespeichernt");


    der Printet nur bis "morde" !
    HustleR
    bei OnPlayerDeath



    //edit: ja ist der fehler. Der Returnt einfach. Keine ahnung wieso

    Okay, mein Speichersystem:


    stock LoadAccount:



    SpielerInfo[playerid][Friedhof]=dini_Int(Spielerdatei,"Friedhof");
    SpielerInfo[playerid][Friedhofzeit]=dini_Int(Spielerdatei,"Friedhofzeit");


    stock Speichern:



    dini_IntSet(Spielerdatei,"Friedhof",SpielerInfo[playerid][Friedhof]);
    dini_IntSet(Spielerdatei,"Friedhofzeit",SpielerInfo[playerid][Friedhofzeit]);


    jetzt gesamt:



    stock SpielerSpeichern(playerid)
    {
    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",SpielerInfo[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Fraktion",SpielerInfo[playerid][Fraktion]);
    dini_IntSet(Spielerdatei,"Spawnpunkt",SpielerInfo[playerid][Spawnpunkt]);
    dini_IntSet(Spielerdatei,"Bank",SpielerInfo[playerid][Bank]);
    dini_IntSet(Spielerdatei,"Skin",SpielerInfo[playerid][Skin]);
    dini_IntSet(Spielerdatei,"Rank",SpielerInfo[playerid][Rank]);
    dini_IntSet(Spielerdatei,"Knast",SpielerInfo[playerid][Knast]);
    dini_IntSet(Spielerdatei,"Knastzeit",SpielerInfo[playerid][Knastzeit]);
    dini_IntSet(Spielerdatei,"Kaution",SpielerInfo[playerid][Kaution]);
    dini_IntSet(Spielerdatei,"Knastbesuche",SpielerInfo[playerid][Knastbesuche]);
    dini_IntSet(Spielerdatei,"Zeitzumpayday",SpielerInfo[playerid][Zeitzumpayday]);
    dini_IntSet(Spielerdatei,"Tode",SpielerInfo[playerid][Tode]);
    dini_IntSet(Spielerdatei,"Morde",SpielerInfo[playerid][Morde]);
    dini_IntSet(Spielerdatei,"OSkin",SpielerInfo[playerid][OSkin]);
    dini_IntSet(Spielerdatei,"Handy",SpielerInfo[playerid][Handy]);
    dini_IntSet(Spielerdatei,"Handynummer",SpielerInfo[playerid][Handynummer]);
    dini_IntSet(Spielerdatei,"Wasser",SpielerInfo[playerid][Wasser]);
    dini_IntSet(Spielerdatei,"Burger",SpielerInfo[playerid][Burger]);
    dini_IntSet(Spielerdatei,"Spielzeit",SpielerInfo[playerid][Spielzeit]);
    dini_IntSet(Spielerdatei,"Wanteds",SpielerInfo[playerid][Wanteds]);
    dini_IntSet(Spielerdatei,"Waffe1",SpielerInfo[playerid][Waffe1]);
    dini_IntSet(Spielerdatei,"Waffe2",SpielerInfo[playerid][Waffe2]);
    dini_IntSet(Spielerdatei,"Waffe3",SpielerInfo[playerid][Waffe3]);
    dini_IntSet(Spielerdatei,"Muni1",SpielerInfo[playerid][Muni1]);
    dini_IntSet(Spielerdatei,"Muni2",SpielerInfo[playerid][Muni2]);
    dini_IntSet(Spielerdatei,"Muni3",SpielerInfo[playerid][Muni3]);
    dini_IntSet(Spielerdatei,"Ar1",SpielerInfo[playerid][Ar1]);
    dini_IntSet(Spielerdatei,"Ar2",SpielerInfo[playerid][Ar2]);
    dini_IntSet(Spielerdatei,"Ar3",SpielerInfo[playerid][Ar3]);
    dini_IntSet(Spielerdatei,"Ar4",SpielerInfo[playerid][Ar4]);
    dini_IntSet(Spielerdatei,"Ar5",SpielerInfo[playerid][Ar5]);
    dini_IntSet(Spielerdatei,"Ar6",SpielerInfo[playerid][Ar6]);
    dini_IntSet(Spielerdatei,"Ar7",SpielerInfo[playerid][Ar7]);
    dini_IntSet(Spielerdatei,"Ar8",SpielerInfo[playerid][Ar8]);
    dini_IntSet(Spielerdatei,"Ar9",SpielerInfo[playerid][Ar9]);
    dini_IntSet(Spielerdatei,"Ar10",SpielerInfo[playerid][Ar10]);
    dini_IntSet(Spielerdatei,"Ar11",SpielerInfo[playerid][Ar11]);
    dini_IntSet(Spielerdatei,"Neu",SpielerInfo[playerid][Neu]);
    dini_IntSet(Spielerdatei,"Friedhof",SpielerInfo[playerid][Friedhof]);
    dini_IntSet(Spielerdatei,"Friedhofzeit",SpielerInfo[playerid][Friedhofzeit]);

    return 1;
    }
    public OnPlayerSpawn(playerid)
    {
    if(SpielerInfo[playerid][Friedhof] == 1){
    SetToFriedhof(playerid);
    MSG(playerid,COLOR_RED,"Du bist noch im tiefem Schlaf. Benutze /totzeit um zu sehen, wie Tot du bist.");
    }
    return 1;
    }



    public ResetFriedhof(playerid)
    {
    SpawnPlayer(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    Updatewelt();
    }


    public SetToFriedhof(playerid)
    {
    SetPlayerPos(playerid,817.7482,-1103.7313,25.7927);
    SetPlayerTime(playerid,5,0);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,1);
    SetPlayerWeather(playerid,8);
    TextDrawSetString(tot,"Auf dem Friedhof fuer 2 Minuten");
    TextDrawShowForPlayer(playerid,tot);
    }



    public Updateknast(playerid)
    {
    if(SpielerInfo[playerid][Friedhof] == 1)
    {
    if(SpielerInfo[playerid][Friedhofzeit] == 0)
    {
    SpielerInfo[playerid][Friedhof] = 0;
    SpawnPlayer(playerid);
    ResetFriedhof(playerid);
    MSG(playerid,COLOR_LIGHTGREEN,"Du bist wieder aufgewacht.");
    GameTextForPlayer(playerid,"~g~Aufgewacht!",3,5000);
    Speichern(playerid);
    TextDrawHideForPlayer(playerid,tot);
    }
    }
    if(SpielerInfo[playerid][Friedhof] == 1){
    SpielerInfo[playerid][Friedhofzeit] -= 1;
    new string[64];
    format(string,sizeof(string),"Auf dem Friedhof fuer %d Minuten",SpielerInfo[playerid][Friedhofzeit]);
    TextDrawSetString(tot,string);
    TextDrawShowForPlayer(playerid,tot);
    Speichern(playerid);}
    return 1;
    }


    SetTimer("Updateknast",60000,1);

    Guten Morgen,


    ich habe ein Problem.
    Und zwar steht dies in mein OnPlayerDeath:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    dutyvar[playerid] = 0;
    SpielerInfo[playerid][Tode] += 1;
    SpielerInfo[killerid][Morde] += 1;
    SpielerInfo[playerid][Friedhof] = 1;
    SpielerInfo[playerid][Friedhofzeit] = 2;
    Speichern(playerid);
    Speichern(killerid);
    return 1;
    }
    doch die variable will sich nicht umstellen.
    Es geht um Friedhof und Friedhofzeit.


    was kann die ursache sein?


    mfg
    //edit: ich meinte, sie speichert sich nicht.

    Ich bin zwar kein experte, kenn mich auch nicht mit Php aus, aber du hast hier:


    PHP
    $numrows = mysql_num_rows($result)


    kein Semikolon gesetzt, überall anderst schon^^



    Das fiel mir nur ebend so beim Thema schauen auf.
    Falls das falsch ist, ignoriere diesen beitrag ;)

    du musst in den Editor gehen und auf "Export File" gehen, und auf Classic export mode gehen.


    dann erscheint ein anderes textdokuent, wo deine sachen drinne sind.


    mfg