Beiträge von Kaliber

    stock GetItem(playerid,slot, name[],len)


    Ja, darüber habe ich nicht nachgedacht ^^


    Gut, danke das du mir sowas sagst, verbessere es gleich :)


    Item[playerid][s] = "";


    Ein ganz schlimmer Fehler, der dir das "beigebracht" hat - gehört verprügelt.
    Du sorgst hier nur für memory leaks.


    Auch hier danke für den Tipp :D
    (Du kannst das uralte GF mal verprügeln :D)


    Unglaubliche 32 Zeilen Effektivcode und trotzdem noch so viel Mist.


    Dann gebe doch mal konstruktive Kritik und sag mal was hier Mist ist ;)


    @Rest, danke für die ganzen Kommentare :)


    mfg. :thumbup:


    //Edit: Rechtschreibung

    Sorry das ich mich grade Dumm anstelle aber versteh ich grade nicht also das ist ein Inventar System wo halt Sachen gespeichert sind aber wie speicher ich etwas wird es automatisch oder wie ähhh?. SORRY!



    Mit freundlichen Grüßen


    Nein, die Sachen werden nicht automatisch gespeichert, aber du kannst das ganz simpel speichern...


    Halt mit deinem Speicherungssystem und GetItem(playerid, slot); Das sähe dann so aus (Beispiel mit dini):


    dini_Set(Spielerdatei,"Item1",GetItem(playerid,0));
    dini_Set(Spielerdatei,"Item2",GetItem(playerid,1));
    //usw bis MAX_SLOTS erreicht ist


    Coole Sache,würdest du mir sowas als Kofferraumsystem machen gg Taschengeld?


    Was genau meinst du...erkläre das mal genauer ;)



    mfg. :thumbup:

    CreateObject ist die Standard Funktion von a_objects und man kann nur 1000 von diesen Objekten erstellen, da sie global erstellt sind und dauerhaft existieren...


    CreateDynamicObject arbeitet mit einem Streamer von Incognito und man kann unendlich viele Objekte nutzen, die aber halt auch verschwinden wenn man aus der DrawDistance läuft...da liegt nämlich der Unterschied :D


    mfg. :thumbup:


    //Edit: Name "a_objects"

    Wenn es für ihn _objectid ist dann ist das nun mal so!


    War nicht böse gemeint :D


    Aber es soll sich schließlich nicht falsch verbreiten... ;)


    Wenn es für ihn _objectid ist dann ist das nun mal so!


    Ja...aber das geht halt nicht, schau:


    new obj = CreateObject(...); //CreateObject returnt die Objektid


    CreateObject(modelid...); //Die modelid ist halt die id des Modells des Objekts :D


    Das ist ein wichtiger Unterschied !


    mfg. :thumbup:

    Schreibe es mal so:


    Strecke = floatsqroot(floatpower(floatabs(floatsub(X1[i],X2[i])),2)+floatpower(floatabs(floatsub(Y1[i],Y2[i])),2)+floatpower(floatabs(floatsub(Z1[i],Z2[i])),2));


    mfg. :thumbup:

    Probiere es mal so:


    command:startlotto(playerid, params[])
    {
    new zeit;
    if(sscanf(params,"d", zeit))return SendClientMessage(playerid, Farbe_Gelb, "Benutzung:{FFFFFF} /startlotto [Zeit(in Sekunden)]");
    if(!IstAdmin(playerid,7)) return SendClientMessage(playerid,Rot,"Du bist kein Admin Stufe 7 !");
    if(LottoTimer < 125)return SendClientMessage(playerid, Rot, "Mindestens 125 Sekunden");
    LottoTimer = zeit;
    format(ALLSTRING,sizeof(ALLSTRING),"{000FFF}:[Lotto]: {FFFFFF}Eine neue Lottoziehung beginnt in %d Minuten {000FFF}:[Lotto]: (von %s)",zeit*60,PlayerName[playerid]);
    OOCOff(Weiss, ALLSTRING);
    return 1;
    }
    mfg. :thumbup:

    Schreibe es so:


    public OnPlayerConnect(playerid)
    {
    if(IsPlayerNPC(playerid)) return 1;
    LoadAcc(playerid);
    new Spielerdatei[64],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Acc/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    PlayAudioStreamForPlayer(playerid,http:"//www.dawndd.square7.ch/connect.mp3");
    ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_PASSWORD,"Login","Gib bitte dein Passwort ein!","Login","Abbrechen");
    }
    else
    {
    new ip[16],string[128];
    GetPlayerIp(playerid,ip,sizeof(ip));
    PlayAudioStreamForPlayer(playerid,http:"//www.dawndd.square7.ch/connect.mp3");
    format(string,sizeof(string),"Hallo %s um sicher vor Hackern , Betrügern und des weitern emun zu bleiben bitten wir dich um erlaubnis deine IP zu speichern.\nBist du einverstanden?Deine IP: %s",name,ip);
    ShowPlayerDialog(playerid,IP,DIALOG_STYLE_MSGBOX,"Einverständnis!",string,"Einverstanden","Nicht einverstanden");
    ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"Passwort eingeben zum Spielen!","Gib ein Passwort ein zum Registrieren ","Register","Abbrechen");
    }
    return 1;
    }


    PS: Am ende mit den 2 Dialogen...bin nicht sicher ob du das so machen kannst, du solltest es evtl unter OnDialogResponse packen den 2. Dialog ^^


    mfg. :thumbup:

    Schreibe es so:


    ocmd:auf(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,10,1027.1999512,1163.5000000,12.3999996)) return SendClientMessage(playerid,ROT,"Nicht in der Nähe von einem Tor.");
    if(IsPlayerInFrakt(playerid,1)||IsPlayerInFrakt(playerid,2)|| IsPlayerInFrakt(playerid,3)) MoveObject(fbitor[0],1027.1999512,1163.5000000,12.3999996-10,5);
    return 1;
    }


    mfg. :thumbup: