Beiträge von Equ

    Kein Problem ;)


    Das mit dem Array verstehe ich nicht, was willst du machen?
    Der Error liegt daran, dass der String text zu klein ist, das war wohl mein Fehler. Versuch es mal mit 256 statt 128 Zeichen beim BizLaden. :)


    Also mit Array meinte ich halt den string, die Fraktionskasse später auslesen im 3DTextLabel
    mhm, habe nun ein Problem so ist doch eigentlich alles richtig, Der Error ist nun auch weg lag am string ( war zu klein )
    nun, ist das Problem wenn ich dann InGame schaue nach den 3DTextLabel wird dieser nicht angezeigt ?


    Codes:


    stock BizSpeichern()
    {
    new string[256];
    format(string,sizeof(string),"Stadthalle\nKontostand: %d",StadthallenKasse);
    dini_Set("stadthalle.ini", "text", string);
    dini_IntSet("stadthalle.ini", "farbe", BLAU);
    dini_FloatSet("stadthalle.ini", "x", 241.1337);
    dini_FloatSet("stadthalle.ini", "y", 112.6405);
    dini_FloatSet("stadthalle.ini", "z", 1003.2188);
    dini_FloatSet("stadthalle.ini", "dist", 40.0);
    dini_IntSet("stadthalle.ini", "world", 0);
    dini_IntSet("stadthalle.ini", "los", 0);
    return 1;
    }
    stock BizLaden()
    {
    {
    new text[256];
    new farbe;
    new Float:koordx, Float:koordy, Float:koordz, Float:dist;
    new world, los;


    text = dini_Get("stadthalle.ini", "text");
    farbe = dini_Int("stadthalle.ini", "farbe");
    koordx = dini_Float("stadthalle.ini", "x");
    koordy = dini_Float("stadthalle.ini", "y");
    koordz = dini_Float("stadthalle.ini", "z");
    dist = dini_Float("stadthalle.ini", "dist");
    world = dini_Int("stadthalle.ini", "world");
    los = dini_Int("stadthalle.ini", "los");
    Create3DTextLabel(text,farbe,koordx,koordy,koordz,dist,world,los);
    }
    return 1;
    }





    Grüße

    Erst einmal vielen dank!, dafür das du mir ein beispiel geschrieben hast, war sehr verständlich jedoch hab ich noch
    dazu eine Klitzekleine frage :D


    Ich habe es noch nicht getestet, da ich noch eine frage habe, da ich ja ein Biz-System hab wo ich hinterher noch den Biz - Besitzer und dessen Biz - Kasse
    anzeigen lassen möchte muss ich das dann etwa mit einem "Array" machen? also:

    Hab es jetzt so:


    stock BizSpeichern()
    {
    new string[64];
    format(string,sizeof(string),"Stadthalle\nKontostand: %d",StadthallenKasse);
    dini_Set("stadthalle.ini", "text", string);
    dini_IntSet("stadthalle.ini", "farbe", BLAU);
    dini_FloatSet("stadthalle.ini", "x", 241.1337);
    dini_FloatSet("stadthalle.ini", "y", 112.6405);
    dini_FloatSet("stadthalle.ini", "z", 1003.2188);
    dini_FloatSet("stadthalle.ini", "dist", 40.0);
    dini_IntSet("stadthalle.ini", "world", 0);
    dini_IntSet("stadthalle.ini", "los", 0);
    return 1;
    }
    stock BizLaden()
    {
    new text[128];
    new farbe;
    new Float:koordx, Float:koordy, Float:koordz, Float:dist;
    new world, los;


    text = dini_Get("stadthalle.ini", "text");
    farbe = dini_Int("stadthalle.ini", "farbe");
    koordx = dini_Float("stadthalle.ini", "x");
    koordy = dini_Float("stadthalle.ini", "y");
    koordz = dini_Float("stadthalle.ini", "z");
    dist = dini_Float("stadthalle.ini", "dist");
    world = dini_Int("stadthalle.ini", "world");
    los = dini_Int("stadthalle.ini", "los");
    Create3DTextLabel(text,farbe,koordx,koordy,koordz,dist,world,los);


    return 1;
    }
    Kriege aber Errors bei dieser Zeile:


    Error:
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(14128) : error 047: array sizes do not match, or destination array is too small


    Zeile:


    text = dini_Get("stadthalle.ini", "text");




    Grüße :D


    Erstmal ein Riesen dank, das du mir geantwortet hast!
    dachte schon man hätte mich vergessen ;( ..


    .. Nun, ich glaub mal das ich es verstanden habe
    aber woher weis das Script(dini) das "farbe" die farbe ist die Gespeichert werden muss, und nicht der 3DText ?




    Grüße

    Wenn du die Informationen auch nach einem Server-Restart noch zur Verfügung haben willst, musst du die Daten irgendwie speichern. WIe du das machst, kannst du dir aussuchen. Speichern kannst du z.B. in eine json-Datei, in eine ini-Datei, in eine MySQL-Datenbank, in eine SQLite-Datenbank,... Als Anfänger würde ich dir ini raten, z.B. mit dem dini-Include von DracoBlue.

    Nun ein wirklicher Anfänger bin ich nicht mehr,


    nur ich mache es halt zum ersten mal das 3DTexte, Objecte halt, nach einem Server restart gespeichert werden,
    daher hab ich hier gefragt wie man dies Hin bekommen, aber du hast mir nur die Möglichkeiten hin geschrieben was mir nicht wirklich viel bringen tut, da ich mich ja nicht damit auskennen tue ^^
    währe nett wenn du es mir ein wenig erklären könntest oder ein Tutorial findest ( habe schon die SuFu genutzt aber nichts gefunden )






    Grüße

    Abend



    Ich hab mal eine Frage, und zwar möchte ich mal gerne wissen wie man einen 3DTextSpeichern lässt,
    Den ich habe ein Biz-System, wo es ein Befehl gibt der sich '/buybiz' nennt. Und so bald man diesen eingibt an einer bestimmten Position
    wird ein 3DText Geupdated wo dann anschliesend Informationen zum Biz stehen 'Name & Kassenstand'.


    Also meine Frage ist, wie stelle ich das an, Das der Geupdatede 3DText nach einem 'Server Restart' geladen wird.



    Hier mal mein Befehl:



    ocmd:buybiz(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,4.0,1481.1240,-1808.8945,18.7929))return SendClientMessage(playerid,GRUN,"Du bist an keinem Buisness!");
    {
    if(GetPVarInt(playerid,"Geld") >= 50000)
    {
    format(StadthallenText,sizeof(StadthallenText),"=> Stadthalle <=\nBesitzer: %s\nKassenstand: %d",SpielerName(playerid),StadthallenKasse);
    //Create3DTextLabel(StadthallenText,BLAU,1481.1240,-1808.8945,18.7929,40.0,0,0);
    Update3DTextLabelText(Biz1, WEIS, StadthallenText);
    DestroyPickup(VerkaufStadthallePickup);
    SetPVarInt(playerid,"BizBesitzer",1);
    SendClientMessage(playerid,GRUN,"Herzlichen Glückwunsch! zu deinen neuen Biz.");
    SpielerSpeichern(playerid);
    }
    else
    {
    SendClientMessage(playerid, GELB,"Nicht genug Geld, du benötigst: 50.000€");
    }


    }
    return 1;
    }




    Ich hoffe ihr könnt mir weiter helfen




    Grüße

    Ich weiß bei dir Funktioniert es zwar schon aber ich muss es dir mal Verbessern sieht ja nit schön aus wie du das da hine geklatscht hast :o ( nicht böss gemeint ;D )



    ocmd:stats(playerid)
    {
    new string[50],string2[128],pname[MAX_PLAYER_NAME];
    new player = GetPlayerScore(playerid);
    new Float:kdrate = float(Spieler[playerid][Kills]/Spieler[playerid][Deaths]);
    GetPlayerName(playerid,pname,sizeof(pname));
    {
    format(string,sizeof(string),"[___Stats von %s___]",pname);
    format(string2,sizeof(string2),"Name: %s\nLevel: %d\nGeld: %d\nSkin ID: %d\nKills: %d\nDeaths: %d\nK/D Rate: %.2f",pname,GetPlayerScore(playerid),GetPlayerMoney(playerid),player,Spieler[playerid][Kills],Spieler[playerid][Deaths],kdrate);
    SendClientMessage(playerid,HELLGRUEN,string);
    SendClientMessage(playerid,Weiss,string2);
    }
    return 1;
    }





    Grüße


    Versuch es so:


    if(GetPVarInt(playerid,"Adminlevel") < GetPVarInt(pID,"Adminlevel") return SendClientMessage(playerid,DEIN_FARBCODE,"Du kannst diesen Spieler nicht kicken, da er ein ranghöherer Administrator ist!");

    Also falls ihr das bei SAMP meint das die Objecte etwas langsamer geladen werden.



    Packt das unter OnGameModeInit rein:



    Streamer_VisibleItems(STREAMER_TYPE_OBJECT,1000);




    mir hat es geholfen!





    Grüße

    Also hab es nun so drin wie du es mir geschrieben hast Jeffry aber kriege nun diese Errors:



    So drin:


    Feuergate1auf = CreateDynamicObject(11313,1743.7300000,-1112.3900000,24.8300000,0.0000000,0.0000000,-90.0000000);
    SetDynamicObjectMaterial(Feuergate1auf, Feuerwehrtore); //error Zeile


    Error Zeilen


    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : error 029: invalid expression, assumed zero
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : warning 215: expression has no effect
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : warning 215: expression has no effect
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : warning 215: expression has no effect
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : warning 215: expression has no effect
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : warning 215: expression has no effect
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : error 001: expected token: ";", but found ")"
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : error 029: invalid expression, assumed zero
    C:\Users\Equu\Desktop\ProjektSelfmade - Stand 19.07.2013\gamemodes\ProjektScript.pwn(4527) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

    Abend



    Ich habe ein kleines Problem mit meinem /auf Befehl,


    und zwar habe ich von meinem Kollegen eine Base bekommen wo ich die Tore zum Bewegen bringen soll also mit /auf geht es auf und mit /zu halt zu
    nun, Ich habe dieses objekt wie jedes andere bei OnGameModeInit drin stehen damit es direkt beim Server Start halt da ist, nur das Problem ist wenn ich am objekt bin und /auf mache lässt es sich nicht bewegen,
    liegt dies vielleicht eventuell am SetDynamicObjectMaterial ?


    Meine Codes:


    Ganz Oben:

    #define Feuerwehrtore ,0,10932,"station_sfse","ws_trainstationwin1",0xFF6B6963[/b]
    [b]new Feuergate1auf;[/b]

    Command:

    ocmd:auf(playerid,params[])
    {
    // Feuerwehr Gate 1 Open
    if(IsPlayerInRangeOfPoint(playerid,6.0,1743.7300000,-1112.3900000,24.8300000))
    MoveDynamicObject(Feuergate1auf,1743.7300000,-1112.3900000,24.8300000-10,8.0,0.0000000,0.0000000,-90.0000000);
    return 1;
    }

    OnGameModeInit:


    Feuergate1auf = SetDynamicObjectMaterial(CreateDynamicObject(11313,1743.7300000,-1112.3900000,24.8300000,0.0000000,0.0000000,-90.0000000)Feuerwehrtore); //tor1..zu



    Grüße

    Zitat

    Mit der Tab Taste?

    Nein mit der Tab Taste wird das nicht funktionieren da die Code Zeilen 1 Weiter schon sind,
    Also Frag ich mich halt gibt es auch eine art Funktion womit man die ganzen Zeilen dort an der Wand also Ganz nach Links machen kann und dann halt mit der Tab Taste arbeiten kann ?




    Grüße

    Moin



    Ich hab mal eine Frage,
    und zwar sind bei mir einige Tausend Zeilen verschoben, und wollte jetzt mal fragen gibt es auch eine Methode das man diese direkt richtig einrücken kann ?
    weil ich hab keine lust Tausende von Zeilen selbst einzurücken da sitze ich noch morgen dran..




    Grüße

    Du musst das so machen:



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==Dialog_Geschichte)
    {
    if(response==1)
    {
    ShowPlayerDialog(playerid,Dialog_Stadthalle,DIALOG_STYLE_MSGBOX,"Personalien","Um in der Stadt bleiben zu können, und um dich auszuweisen\nbrauchst du einen Personalausweis.\n Fahre zur Stadthalle und besorge dir dort einen.\nDamit es schneller geht kannst du dir vor dem Haus\nein Fahrrad mieten.","OK","Abbrechen");
    }
    if(response==0)
    {
    SendClientMessage(playerid,Rot,"Du hast die Aufgabe abgebrochen.\n Versuche es bitte noch einmal.");
    }
    }
    if(dialogid==Dialog_Stadthalle)
    {
    if(response==1)
    {
    SetPlayerCheckpoint(playerid,1481.4243,-1738.6479,13.5469,1);
    SendClientMessage(playerid,Gelb,"Fahre zur Stadthalle"); Geschichte[playerid] = 1;
    }
    if(response==0)
    {
    SendClientMessage(playerid,Rot,"Du hast die Aufgabe abgebrochen.\n Bitte versuche es noch einmal.");
    }
    }
    return 1;
    }



    EDIT: irgend wie spackt der Editor hier.. du musst *Geschichte[playerid] = 1;* unter *SendClientMessage(playerid,Gelb,"Fahre zur Stadthalle");* packen dann müsste es funktionieren


    Sinnlos?


    so wie ich es da hab muss es funktionieren ..

    Bin mir nicht sicher, mach mal aus adminrank = Adminlevel

    was soll das bewirken o.O?



    Ich verstehe es einfach nicht hier mal mein anderer Befehl der fabelhaft funktionieren tut!


    warum funktioniert dieser Hier aber mein anderer Befehl '/aduty' nicht ?


    ocmd:duty(playerid, params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,2.0,215.3031,113.7856,1003.2188))return SendClientMessage(playerid,ORANGE,"Du befindest dich an keinem /duty Punkt");
    if(GetPVarInt(playerid,"Tutorial") != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"loggedin") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    new spielerrank[64], string[128];
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,ORANGE,"Du bist nicht in der Fraktion");
    switch(GetPVarInt(playerid,"Rank"))
    {
    case 0:{spielerrank="Praktikant";}
    case 1:{spielerrank="Trainee";}
    case 2:{spielerrank="Deputy Officer";}
    case 3:{spielerrank="Senior Deputy Officer";}
    case 4:{spielerrank="Sergeant";}
    case 5:{spielerrank="FBI Agent";}
    case 6:{spielerrank="FBI Special Agent";}
    case 7:{spielerrank="S.W.A.T Officer";}
    case 8:{spielerrank="S.W.A.T Captain";}
    case 9:{spielerrank="Sheriff";}
    case 10:{spielerrank="Chief";}
    }
    format(string,sizeof(string),"* %s | %s ist nun im Dienst",spielerrank,SpielerName(playerid));
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
    {
    SendClientMessage(i,GRUN,string);
    }
    }
    }


    return 1;
    }