Beiträge von Kasakow

    public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
    {
    if(weaponid != 38)
    {
    if((gettime() - shotTime[playerid]) < 1)
    {
    Shot[playerid]+=1;
    }
    else
    {
    Shot[playerid]=0;
    }
    if(Shot[playerid] > 10)
    {
    new string[128];
    format(string, sizeof(string), "Anti - Cheat: %s wurde vom Anti - Cheat System gebannt!, Grund: RapidFire", GetName(playerid));
    SendClientMessageToAll(HellRot, string);
    Ban_Ex(playerid);
    }
    shotTime[playerid] = gettime();
    }
    return 1;
    }


    Dieses System ist nicht Funktionstüchtig und ich weis nicht wieso ?

    Wie Beavis schon sagte ist gpci ein HDD Ban.
    Er speichert deinen Computer Benutznamen ist eine Table, File wie manns nimmt.
    Die werden dann Gespeichert.
    Jeder der dann mit dem gleichen PC BenutzerNamen reinkommt ist gebannt!
    Du könntest entweder einen IPBAN von SAMP nehmen oder einen eigenen machen.


    MySQL INFO:
    Du legst eine neue Table an die nennt sich.. IP oder so
    Du lässt beim ipBAN mit


    GetPlayerIp(playerid, variable, size);
    Die IP in eine Variable setzen.
    Nehmen wir mal an du hast das Plugin R5
    :


    new string[16],IP[16];
    GetPlayerIp(userid, IP, sizeof(IP));
    format(string, 16, "%s",IP);
    Mysql_SetInt(...);


    Bei Dini würde das ganze anders ablaufen:


    new string[128],IP[16];
    GetPlayerIp(userid, IP, sizeof(IP));
    format(string, sizeof(string), "/ORDNER/%s.ini",IP);
    dini_Create(string);


    Hoffe konnte helfen :thumbup:

    COMMAND:admins(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    new string[128];
    SCM(playerid, gruen, "Admins Online:");
    switch(SpielerInfo[playerid][Adminlevel])
    {
    case 1: {format(string,sizeof(string),"Supporter: %s",SpielerName(playerid));}
    case 2: {format(string,sizeof(string),"Admin: %s",SpielerName(playerid));}
    case 3: {format(string,sizeof(string),"Head Admin: %s",SpielerName(playerid));}
    case 4: {format(string,sizeof(string),"Serverleiter: %s",SpielerName(playerid));}
    }
    SCM(playerid, grau, string);
    }
    return 1;
    }


    zu


    COMMAND:admins(playerid,params[])
    {
    for(new i = 0; i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    new string[128];
    SCM(playerid, gruen, "Admins Online:");
    switch(SpielerInfo[i][Adminlevel])
    {
    case 1: {format(string,sizeof(string),"Supporter: %s",SpielerName(i));}
    case 2: {format(string,sizeof(string),"Admin: %s",SpielerName(i));}
    case 3: {format(string,sizeof(string),"Head Admin: %s",SpielerName(i));}
    case 4: {format(string,sizeof(string),"Serverleiter: %s",SpielerName(i));}
    }
    SCM(playerid, grau, string);
    }
    }
    return 1;
    }

    Hallo lieber user, ich werde dir das mal erklären.


    Du kannst entweder bei OnPlayerUpdate jede Millisekunde updaten lassen oder per SetTimer/Ex machen.


    Du kannst den Textdraw einen neuen String mit der Funktion TextDrawSetString setzen lassen und es somit updaten.


    Und wenn du herausfragen möchtest wie man sie anklicken kann das kannst du hier machen:


    Link


    Ich erstelle dir mal einen Quellcode:


    SelectTextDraw(Textraw, Hovorcolor); // Textdraw wie es heißt in dem Fall Textdraw1) Hovorcolor welche Farbe drauf erscheine soll wenn man drüberstreicht.


    SelectTextDraw(Textdraw1, -1);


    Dann gehst unter die Oben genannte Funktion


    :


    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    if(clickedid == Textdraw1)
    {
    TextDrawSetString(Textdraw1, "");
    }
    return 1;
    }


    Hoffe konnte dir Helfen

    Naja du machst das schon mal Falsch.
    Du erstellt einen Dialog und dann machst du das ganze mit ner Menu abfrage


    Ich erstelle dir hier mal einen Quellcode:


    Unter das Callback
    OnPlayerDialogResponse
    if(dialogid == Land
    {
    if(response == 0)return 1;
    if(RegistrationStep[playerid] == 3)
    {
    if(listitem == 0)
    {
    PlayerInfo[playerid][pOrigin] = 1;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus Deutschland.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else if(listitem == 1)
    {
    PlayerInfo[playerid][pOrigin] = 2;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus NRW.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else if(listitem == 2)
    {
    PlayerInfo[playerid][pOrigin] = 3;
    SendClientMessage(playerid, COLOR_WHITE, "Ok, du kommst also aus den Ausland.");
    ShowPlayerDialog(playerid,DIALOG_Tutorial,DIALOG_STYLE_MSGBOX,"Tutorial"," Es folgt das Tutorial \n Du kannst das Tutorial überspringen. Es wird aber dringlichst empfohlen das Tutorial durchzulesen. \n Willst du das Tutorial durchlesen?","Ja","Nein");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Woher kommst du? (Wähle das richtige aus mithilfe der Leertaste aus!)");
    }
    }
    }

    format(HausDatei,sizeof(HausDatei),"HausOrdner/Haus%i.cfg",i);
    HouseData[i][h_id] = dini_Int(HausDatei,"ID");


    Danke das klingt sinnvoll, murphy ;)


    Aber ich mache ein Dynamisches Hausystem,


    und das beteudet bei mir ich erstelle die Häuser nicht per Script sondern per '/command'


    Jetzt weis ich nicht wie ich die Hausid beim erstellen des Hauses verteilen?


    Vll mit einer Variable die sich dann um eins erhöht ? (++) (+=1) (variable=variable+1) ?

    Hallo leute ich fange gerade mein erstes Hausystem an und habe bisjetzt nichts Falsch.


    for(new i = 0; i<sizeof(HouseData); i++)
    {
    format(str, sizeof(str), "%i Haus", HouseData[i][h_id]);
    format(string,sizeof(string), "%s", dini_Get(HouseString, str));
    format(HouseData[i][h_owner], MAX_PLAYER_NAME, string);
    }


    Eins Fehlt aber ich muss aus der Datei von dem %i die h_id auslesen lassen.
    Und genau das verstehe ich nicht, oder weis gerade nicht wie ich das machen soll ?

    Wie wäre es wenn du das hier ausbesserst.


    dini_FloatSet(/* Pfad der Datei */, "PosX", SpielerInfo[playerid][PosX]);
    dini_FloatSet(/* Pfad der Datei */, "PosX", SpielerInfo[playerid][PosY]);
    dini_FloatSet(/* Pfad der Datei */, "PosX", SpielerInfo[playerid][PosZ]);
    dini_FloatSet(/* Pfad der Datei */, "PosX", SpielerInfo[playerid][PosA]);


    4x PosX ?

    Hallo leute .. Fische pff^^^^
    Ich wollte fragen wie man per script von einer Waffe zur -Faust wechseln kann.


    Also ich habe da schon an


    GivePlayerWeapon(playerid, 0, 0);


    gedacht aber ich bin mir nicht sicher ,, möchte gerne eure meinung hören ?

    Ersten würde ich wenn du mit DINI arbeitest du 128 als Größe eingestellt hast .ini benutzen.
    Dann benutz doch bitte meine Passwort abfrage die ich weiter oben gepostet habe , die klappt hundert pro, dann editier ich deinen code ein bisschen:


    stock loadPlayer(playerid)
    {
    new Spieler[128];
    format(Spieler,sizeof(Spieler),"/Spieler/%s.ini",getPlayerName(playerid));
    playerD[playerid][level] = dini_Int(Spieler,"Level");
    SetPlayerMoney_Ex(playerid,dini_Int(Spieler, "Geld"));
    SetPlayerScore(playerid,playerD[playerid][level]);
    return 1;
    }


    stock SetPlayerMoney_Ex(playerid, amount)
    {
    playerD[playerid][geld] = 0;
    GivePlayerMoney(playerid, amount);
    playerD[playerid][geld] = amount;
    return 1;
    }