Beiträge von Kaliber

    Allerdings würde ich das ganze gerne in den Autostart einbinden, wäre es möglich, dass du es mir so umschreibst, dass der Prozess "fms32pro.exe" automatisch eingetragen ist und automatisch startet?


    Würde es nicht einfach reichen, wenn du eine Verknüpfung von dem Programm in den Autostart kopierst (der ist unter Benutzer – Benutzername – AppData – Roaming – Microsoft – Windows – Startmenü – Programme – Autostart) und dann öffnet sich das Programm automatisch und dann gibst du nochmal den Namen ein?


    Sonst muss ich das jetzt nochmal umschreiben ^^


    mfg. ^^

    Du kannst ein Programm schreiben z.B. mit C# (geht auch mit C++...oder sonst was) und dann prüfen ob der Prozess aufgeführt wird oder nicht in einer Endlosschleife.


    Wenn ja, dann soll er nichts machen, wenn nein Prozess öffnen ;)


    mfg. :thumbup:

    #define PlayerName(%0) pName[%0]


    static pName[MAX_PLAYERS][MAX_PLAYER_NAME];


    //Und unter OnPlayerConnect
    GetPlayerName(playerid,pName,MAX_PLAYER_NAME);


    Nutzen tust du das dann z.B. so:


    printf("Dein Name ist: %s",PlayerName(playerid)); //Kannst PlayerName beliebig oben im Makro umbennnen


    mfg. :thumbup:

    Wird die 0 dann noch ausgeführt wenn ich Karte=random(12)+1; mache ?
    Ich habe einen Zombie Server, der wirklich sehr cool ist und ich will nicht das ich dadurch die Map 0 nicht mehr laden kann.
    Das wäre schon ziemlich doof, wie läuft das also ab ? Vielleicht könnt ihr mir ja mal ein kleinen Statement dazu geben. Ich habe noch nicht viel damit gearbeitet deswegen.


    Wenn du 0-12 haben willst mach es so:


    new Karte = random(13);


    mfg. :thumbup:

    Es kann kein Integer mit einem Float verrechnet werden!!


    Doch das geht, wenn Bank ein Float ist, dann funktioniert das ;)


    Dann kann man folgendes rechnen:


    sSpieler[playerid][Bank] += sSpieler[playerid][Gehalt] * 0.9;


    Das funktioniert einwandfrei ;)


    Wenn allerdings Bank ein Integer ist, dann so:


    sSpieler[playerid][Bank] += floatround(sSpieler[playerid][Gehalt] * 0.9);


    mfg. :thumbup:


    Achsooo jetzt verstehe ich was du machen willst :whistling:


    Du solltest mal versuchen dein Problem besser zu formulieren :D


    Dann machst du das einfach so:


    sSpieler[playerid][Bank] += sSpieler[playerid][Gehalt] * 0.9;


    Cryptex:
    Ja...jetzt hab ich es verstanden, tut mir Leid dachte er will was völlig anderes machen :D


    mfg. :thumbup:

    Pawn


    Nix da, wenn ich von 1200€ 10% abziehe dann habe ich 1080€ und nicht 120€


    Jo er hats n bissl verdreht ^^


    Aber im Prinzip hat er recht...man bekommt was anderes Raus :rolleyes:


    Wenn man von 1200$ 10% abzieht bekommt man 1080$ raus, das stimmt, zieht man aber von 1200$ 90% ab, bekommt man nur 120$...


    mfg. :rolleyes:

    Richtig?


    Nun...so wie du es halt haben willst ^^


    Ich habe es dir ja vorgerechnet, wenn du das so machst:


    sSpieler[playerid][Bank] += sSpieler[playerid][Gehalt];
    und danach
    sSpieler[playerid][Bank] -= sSpieler[playerid][Gehalt]*0.1;


    Sagen wir wieder:


    5$ = Bank
    10$ = Gehalt


    5$ + 10$ = 15$ //Sind jetzt auf der Bank
    //Dann machst du:
    15$ - 1$ = 14$ //Jetzt hätte er 14$ auf der Bank


    Kommt darauf an, was du haben willst, ob du direkt 10% nur von der Bank abziehen willst oder ob du das Bankguthaben + Gehalt und davon dann 10% nehmen willst und abziehen willst..wobei ersteres mehr Sinn machen würde...aber naja ^^


    mfg. :thumbup:

    ja ich meine ist 10% abgezogen..


    Was?! :huh:


    Oder nicht?


    Nein, schau ich erkläre es mal ausführlicher:


    Bank = 5$
    Gehalt = 10$


    10% von 10$ = 1$ (Denn 10$ * 0.1 oder 10$ / 10 = 1$)


    So und nun soll ja von der Bank (5$) 1$ abgezogen werden sprich wir haben -> 4$ dann auf der Bank.


    Also:


    sSpieler[playerid][Bank] -= sSpieler[playerid][Gehalt]*0.1;


    @Cryptex:

    nimm meine formel oben dann passt das

    @Cryptex:

    Nein! Das passt ganz und gar nicht!

    @Cryptex:
    Nehmen wir mein Beispiel oben:

    @Cryptex:
    5$ Bank
    10$ Gehalt

    @Cryptex:
    Nach deiner Formel: sSpieler[playerid][Bank] += sSpieler[playerid][Gehalt] * 0.9;

    @Cryptex:
    5$ += 10$ * 0.9;
    5$ += 9$;
    Bank = 14$

    @Cryptex:
    ...jetzt hätte er mehr als Vorher :pinch:


    mfg. :thumbup:

    Kaliber: & ist das Normal das manchmal die Animationen nicht gesetzt werden ? :o


    Ja, wenn du sie beim 1. mal machst, deshalb solltest du sie Preloaden ;)


    //Unter OnPlayerSpawn
    PreloadAnimLib(playerid,"MEDIC"); //<< und das bei allen deinen Animationen machen


    //halt irgendwo im Script
    stock PreloadAnimLib(playerid, animlib[]) return ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);


    mfg. :thumbup:

    Schreibe es mal so:


    COMMAND:revive(playerid,params[])
    {
    if(SpielerInfo[playerid][Eingeloggt]==0)return SendClientMessage(playerid,Grau,"Du bist nicht eingeloggt !");
    if(Spieler[playerid][Afk] == 1)return SendClientMessage(playerid,Orange,"Du kannst im AFK-Modus keine Befehle nutzen. Drücke 'Z' um zurückzukehren.");
    if(SpielerInfo[playerid][Fraktion] != 4)return SendClientMessage(playerid,Orange,"Du bist kein Sanitäter!");
    new Float:Pos[3];
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    for(new i; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !IsPlayerInRangeOfPoint(i,2.0,Pos[0],Pos[1],Pos[2])) continue;
    if(SpielerInfo[i][Tod] != 1) return SendClientMessage(playerid,Orange,"Niemand in deiner Nähe ist verletzt!");
    SetPVarInt(playerid,"Reviver",i);
    ApplyAnimation(playerid,"MEDIC","CPR",1.1,1,0,0,1,200000,1);
    new bitch = random(6000);
    SetTimerEx("Revive",bitch,0,"d",playerid);
    ApplyAnimation(playerid,"MEDIC","CPR",1.1,1,0,0,1,200000,1);
    GameTextForPlayer(playerid,"Wiederbeleben..",bitch,4);
    ApplyAnimation(playerid,"MEDIC","CPR",1.1,1,0,0,1,200000,1);
    return 1;
    }
    return SendClientMessage(playerid,Weiss,"Es ist kein Spieler in deiner Nähe!");
    }


    mfg. :thumbup: