Beiträge von Simon

    Guten Tag


    sobald das passwort richtig eingegeb wurde, lädt er die daten aus der .ini datei. Nun wollte ich die Ip von dem jenigen mit den Ips von den anderen vergleichen und sobald es die selben sind sollen die Admins eine Warnung bekommen, das diejenigen über die selbe Ip spielen.


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new pIp[20], iIp[20];
    if(GetPlayerIp(i, iIp, sizeof(iIp)) == GetPlayerIp(playerid, pIp, sizeof(pIp)))
    {
    if(playerid != i)
    {
    new aname[MAX_PLAYER_NAME], bname[MAX_PLAYER_NAME],str[256];
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(i,bname,sizeof(bname));
    format(str,sizeof(str),"[WARNUNG][MULTI] %s (%d) spielt unter der selben Ip wie %s (%d)", aname, playerid, bname, i);
    for(new j = 0; j < MAX_PLAYERS; j++)
    {
    if(Spieler[j][Admin] >= 1)
    {
    SendClientMessage(j,0x0000FFFF,str);
    }
    }
    }
    }
    }


    Diese meldung kommt aber immer wenn sich jemand einloggt, immer kommt das 2 unter der selben Ip spielen, obwohl sie es nicht tuhen.


    wäre sehr nett wenn mir da jemand helfen könnte.

    Guten Tag


    Ich bräuchte mal die hilfe bei Foats. und zwar würde ich gerne ein Float in ein integer umwandeln, da ich mit Centbeträgen rechne, aber GivePlayermoney nur ganze zahlen abzieht.
    also als float habe ich folgendes:


    1,50.


    nun möchte ich diese meinem system angepasst vom geld des spielers abziehen, und multipliziere diese mit 100.


    dann habe ich folgendes: 150 ($1,50).


    da aber bei Floats 1000ende 0en dahinter stehen, habe ich folgendes: 150.0000000.


    nun würde ich fragen ob man so ein float iwie zu einem integer oder ähnliches machen kann, oder sie iwie aufrunden, damit es richtig vom geld abgezogen wird.



    wäre sehr dankmar wenn mir da einer helfen könnte.


    mfg
    Simon

    Guten Tag


    In meinem Taxisystem kann der Taxifahrer den Preis bestimmen(pro 10 sekunden). Also alle 10 Sekunden erhöht sich der gesammt betrag um dem festgelegten preis vom Taxifahrer, der immoment zwischen $1 und $5 liegt.
    Aber da man in meinem Gm auch mit Centbeträgen rechnet, würde ich das gerne so machen das der Fahrer es auch mit Centbeträgen festlegen kann,
    z.B.: 1,50 oder 1,75
    dabei ist aber wichtig das es maximal 2 Nachkommastellen giebt. Ich habe das bereits mit Float versucht, die ich dann im string auf 2 komma stellen runde.
    Also anstatt 2,500000000000000000 dann 2,50.
    doch egal was man eingiebt, es kommt immer wieder die meldung vom sscanf.


    Vielleicht könnte mir da einer Helfen, wäre sehr dankbar.


    dcmd_taxifahrt(playerid,params[])
    {
    new pID, preis;
    if(gTeam[playerid] == Team_Taxi)
    {
    if(sscanf(params, "ud", pID, preis)) // hatte es vorher mit float, hat nicht geklappt, deswegen vorerst ganze zahlen
    {
    return SendClientMessage(playerid,0xFF0000FF,"Benutzung: /taxifahrt [id] [preis pro 10 Sekunden]");
    }
    if(!IsPlayerConnected(pID) || GetPlayerVehicleID(playerid) != GetPlayerVehicleID(pID))
    {
    return SendClientMessage(playerid,0xFF0000FF,"Ungültige Id!");
    }
    if(ptaxi[playerid] == 0) //wenn der taxifahrer nicht im dienst ist
    {
    return SendClientMessage(playerid,0xFF0000FF,"Du bist nicht im Dienst!");
    }
    if(preis < 1 || preis > 5) //hier wird festgelegt in welchem bereich der preis/10s liegen soll
    {
    return SendClientMessage(playerid,0xFF0000FF,"Der Preis muss zwischen $1 und $5 liegen!");
    }
    else
    {
    new aname[MAX_PLAYER_NAME], bname[MAX_PLAYER_NAME], str1[256], str2[256];
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,bname,sizeof(bname));
    format(str1,sizeof(str1),"Du hast %s eine Taxifahrt für $%d pro 10 Sekunden angeboten!", bname, preis);
    format(str2,sizeof(str2),"%s hat dir eine Taxifahrt für $%d pro 10 Sekunden angeboten, du kannst sie mit */accept taxi* annehmen", aname, preis);
    tID[playerid] = pID; //zur abfrage benötigt, falls der kunde /accept taxi eingibt
    tpreis[pID] = preis; //hier wird der taxipreis vom spieler für den kunden festgelegt, damit er sich erhöht..
    tfahrt[pID] = 1; //der spieler ist in einer taxifahrt, wird benötigt beim bezahlen.
    SendClientMessage(playerid,türkis,str1);
    SendClientMessage(pID,türkis,str2);
    }
    }
    return 1;
    }


    MfG
    Simon


    //edit:


    Ich glaube ich habe es hinbekommen, jedoch bekomme ich 2 warnings bei GivePlayerMoney, da nur ganze beträge abgezogen werde können und keine "komma-zahlen". Vielleicht könnte mir da ja einer helfen, wenn der endbetrag nun 1,50 ist, dann müssen 150 abgezogen werden. deswegen habe ich *100 dahinter geschrieben, jedoch sind immernoch komma stellen dahinter( 150,0000000000). weiß jemand wie man sowas runden kann? oder ähnliches?


    wäre sehr hilfreich.


    GivePlayerMoney(playerid,-tsumme[playerid]*100);
    GivePlayerMoney(i,tsumme[playerid]*100);

    könnte mir das dann einer erklären oder mir ein beispiel geben oder ähnliches?
    wäre sehr hilfreich

    :D


    möchte einfach nur wissen ob man per pawn auf irgenteiner weise überprüfen kann ob ein Spieler laggt.
    Laggs kommen immer wieder vor.
    Aufjedenfall hatte ich schonmal auf einigen Servern häftige laggs und wurde auch vom script her gekickt, obwohl mein Ping ganz gut war.


    Wenn man es nicht überprüfen kann wäre meine Frage eigentlich schon beantwortet :D

    das meine ich ja :D GetPlayerPing. da macht man halt ein Pingkick.


    aber manchmal laggt man auch obwohl der Ping ziemlich niedrig ist.

    hm schade ich kenne server bei denen man mit dem Grund "Lag" gekickt wird.


    Ich habe mir mal überlegt es zu überprüfen mit GetPlayerPos aber da ist es schwierig, da man ja nicht weiß ob er läuft, rennt, geht, steht, fährt, schwimmt oder fliegt.....

    Guten Tag


    Ich wollte mal fragen ob und wie man im script abfragen kann ob jemand lagt.
    Damit meine ich nicht ob er ein Hohen Ping hat, denn manchmal hat man auch einen Lag aber einen super Ping.


    mfg
    Simon

    Guten Tag


    Ichh sitzte hier mit 2 Kollegen und wollten das Spiel F.E.A.R. zocken.
    wir haben bereits ein Key von der Seite angefordert nd eingegeben.


    Nun wollten wir auch ein Server connecten und jedesmal kommt folgende Fehlermeldung:


    "Datei konnte nicht heruntergeladen werden (FEARL_7.Arch00)"


    kennt jemand dieses problem und die Lösung?


    habe schon gegooglet aber nichts gefunden was mir weiterhilft..



    wäre echt nett wenn uns da jemand helfen könnte..


    mfg
    SImon

    ganz schön dumme frage eigentlich :D so habs mal probiert mit sscanf und ich werde es gleich mal testen


    danke schön


    //edit: ich habs jetzt mal so gemacht, weiß aber net genau ob das richtig ist, ich habe immer noch split, aber diesmal die abfrage mit sscanf gemacht.


    der fehler liegt eindeutig bei der sscanf abfrage, da es egal ist was man eingiebt..


    if(dialogid == DIALOG_ÜBERWEISEN)
    {
    if(response)
    {
    new WeisInfo[2][50];
    split(inputtext, WeisInfo, ' ');
    if (strlen(inputtext) > 15 || strlen(inputtext) < 1)
    {
    SendClientMessage(playerid,0xFF000FF,"Angabe Fehler!");
    new str[256], CHand, DHand, DBank;
    DHand = GetPlayerMoney(playerid)/100;
    CHand = GetPlayerMoney(playerid)%100;
    DBank = Spieler[playerid][Bank]/100;
    format(str,sizeof(str),"Wieviel Geld möchtest du an wen Überweisen?\nGebe folgendes ein: *Id Betrag*\n\nAktueller Kontostand: $%d\nBargeld: $%d,%d\n",DBank, DHand, CHand);
    ShowPlayerDialog(playerid,DIALOG_ÜBERWEISEN,DIALOG_STYLE_INPUT,"Überweisen",str,"Okay","Zurück");
    }
    else
    {
    new str[50];
    format(str,sizeof(str),"%s", inputtext);
    if(sscanf(str, "dd", WeisInfo[0], WeisInfo[1]))
    {
    SendClientMessage(playerid,0xFF000FF,"Angabe Fehler!");
    new gstr[256], CHand, DHand, DBank;
    DHand = GetPlayerMoney(playerid)/100;
    CHand = GetPlayerMoney(playerid)%100;
    DBank = Spieler[playerid][Bank]/100;
    format(gstr,sizeof(gstr),"Wieviel Geld möchtest du an wen Überweisen?\nGebe folgendes ein: *Id Betrag*\n\nAktueller Kontostand: $%d\nBargeld: $%d,%d\n",DBank, DHand, CHand);
    ShowPlayerDialog(playerid,DIALOG_ÜBERWEISEN,DIALOG_STYLE_INPUT,"Überweisen",gstr,"Okay","Zurück");
    }
    else
    {
    if(!IsPlayerConnected(strlen(WeisInfo[0])))
    {
    SendClientMessage(playerid,0xFF000FF,"Ungültige Id!");
    new astr[256], CHand, DHand, DBank;
    DHand = GetPlayerMoney(playerid)/100;
    CHand = GetPlayerMoney(playerid)%100;
    DBank = Spieler[playerid][Bank]/100;
    format(astr,sizeof(astr),"Wieviel Geld möchtest du an wen Überweisen?\nGebe folgendes ein: *Id Betrag*\n\nAktueller Kontostand: $%d\nBargeld: $%d,%d\n",DBank, DHand, CHand);
    ShowPlayerDialog(playerid,DIALOG_ÜBERWEISEN,DIALOG_STYLE_INPUT,"Überweisen",astr,"Okay","Zurück");
    }
    if(Spieler[playerid][Bank] < strlen(WeisInfo[1]))
    {
    SendClientMessage(playerid,0xFF000FF,"Du hast nicht soviel Geld auf der Bank!");
    new astr[256], CHand, DHand, DBank;
    DHand = GetPlayerMoney(playerid)/100;
    CHand = GetPlayerMoney(playerid)%100;
    DBank = Spieler[playerid][Bank]/100;
    format(astr,sizeof(astr),"Wieviel Geld möchtest du an wen Überweisen?\nGebe folgendes ein: *Id Betrag*\n\nAktueller Kontostand: $%d\nBargeld: $%d,%d\n",DBank, DHand, CHand);
    ShowPlayerDialog(playerid,DIALOG_ÜBERWEISEN,DIALOG_STYLE_INPUT,"Überweisen",astr,"Okay","Zurück");
    }
    else
    {
    new strtest[256],name[MAX_PLAYER_NAME];
    GetPlayerName(strval(WeisInfo[0]), name, sizeof(name));
    format(strtest,256,"[TEST] Du wolltest $%d an %s (%d) überweisen!", strval(WeisInfo[1]), name, strval(WeisInfo[0]));
    SendClientMessage(playerid,0x00EE00FF,strtest);
    }
    }
    }
    }
    else
    {
    if(GetPlayerVirtualWorld(playerid) == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Los Santos Bank","Konto erstellen\nFinanzen\nAbheben oder Einzahlen\nÜberweisen","Weiter","Abbrechen");
    }
    if(GetPlayerVirtualWorld(playerid) == 2)
    {
    ShowPlayerDialog(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"San Fierro Bank","Konto erstellen\nFinanzen\nAbheben oder Einzahlen\nÜberweisen","Weiter","Abbrechen");
    }
    if(GetPlayerVirtualWorld(playerid) == 3)
    {
    ShowPlayerDialog(playerid,DIALOG_BANK,DIALOG_STYLE_LIST,"Las Venturas Bank","Konto erstellen\nFinanzen\nAbheben oder Einzahlen\nÜberweisen","Weiter","Abbrechen");
    }
    }
    }
    return 1;
    }