Beiträge von SA:MP-Designs

    er will aber nicht das der Spieler leben verliert, wobei man das Leben des Spielers abfragen kann und nach dem Schuss direkt wieder geben kann.



    Schönen guten Abend liebe Breadfish-Nutzer,
    GTA Roleplay meldet sich nach einigen Monaten mal wieder und sucht auch gleich eine bestimmte Sache für das Projekt.

    -| Was ist GTA Roleplay? |-

    GTA Roleplay ist ein Projekt was von vielen Leuten schon lange sehnsüchtig erwartet wird.
    Ein Selfmade Script welches sich derzeit in der Entwicklung befindet, technisch gesehen auf dem neusten Stand der SA:MP Szene.
    An dem Script wird schon längere Zeit gearbeitet, wir arbeiten mit Speichersystemen die uns direkt die Verwaltung von Spielern durch das Forum/UCP ermöglichen.
    Derzeit arbeitet das Team auf den baldigen Release zu, letztendlich fehlen nur noch ein paar Dinge.
    Zu guter Letzt besitzt GTA Roleplay folgende Güter: Root Server, Forum (WBB.3.1.x), Gameserver und TeamSpeak.


    -| Was genau suchen wir? |-
    Wir suchen wie die Überschrift schon verrät eine Person die bisschen Zeit hat Grafiken zu erstellen.
    Gerne darf mich derjenige per PN anschreiben und ich werde ihn adden.


    -| Info |-
    Ich verstehe das der Text ein wenig mager ausfällt, letztendlich haben wir kaum Zeit einen Roman zu schreiben.


    Liebe Grüße

    Ich glaube ich laufe gerade komplett an deiner Hilfe vorbei, kann das sein? :whistling:
    mysql_SetString("accounts", "Ausfuehrender", SpielerInfo[playerid][pName], "Name", SpielerInfo[playerid][pName]);
    mysql_SetString("accounts", "Grund",reason, "Name", SpielerInfo[playerid][pName]);
    BanUser(pID,SpielerInfo[playerid][pName],"Gebannt");
    mysql_query(string);

    Guten Tag,


    ich arbeite derzeit an meinem Ban System, welches wiederum in den Account des gebannten den Grund des bannes, sowie den Admin der den Spieler gebannt hat speichert.
    Letztendlich wird es nicht gespeichert, hier mal ein bisschen Code. :whistling:
    ocmd:ban(playerid,params[])
    {
    new pID,string[128],reason[31];
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,COLOR_GRAU,"Du kannst diesen Befehl nicht benutzen.");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,COLOR_WRONG,"Benutze: /ban [ID/Teilname][Grund]");
    if(strlen(reason) > 30)return SendClientMessage(playerid,COLOR_WRONG,"Benutze: /ban [ID/Teilname][Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GRAU,"Der angegebene Spieler ist nicht eingeloggt.");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid,COLOR_GRAU,"Einen NPC kannst du nicht bannen.");
    if(playerid != pID)
    {
    if(SpielerInfo[pID][pAdminlevel] > SpielerInfo[playerid][pAdminlevel])return SendClientMessage(playerid,COLOR_GRAU,"Diesen Befehl kannst du bei dieser Person nicht benutzen.");
    }
    SpielerInfo[pID][pGebannt] = 1;
    format(string,sizeof(string),"%s hat den Spieler %s gebannt, Grund: %s",SpielerInfo[playerid][pName],SpielerInfo[pID][pName],reason);
    SendAdminMessage(COLOR_ROT,string);
    format(string,sizeof(string),"Name:%s | Admin:%s | Grund:%s\n",SpielerInfo[pID][pName],SpielerInfo[playerid][pName],reason);
    Log("Banlog",string);
    mysql_SetString("accounts", "Ausfuehrender", SpielerInfo[playerid][pName], "Name", SpielerInfo[playerid][pName]);
    mysql_SetString("accounts", "Grund",reason, "Name", SpielerInfo[playerid][pName]);
    BanUser(pID,SpielerInfo[playerid][pName],"Gebannt");
    return 1;
    }


    und das auslesen klappt irgendwie auch nicht ganz :whistling:
    new string[128];
    format(string,sizeof(string),"Dieser Account ist gesperrt, mit ihm kann nicht mehr gespielt werden.\n\nAusführendes Team-Mitglied: %s\nGrund: %s\nDauer: Permanent",SpielerInfo[playerid][pAusfuehrender],SpielerInfo[playerid][pGrund]);
    ShowPlayerDialog(playerid,DIALOG_GEBANNT,DIALOG_STYLE_MSGBOX,"{00AFFF}"#SERVERNAME"{FFFFFF}: Information",string,"Verlassen","");

    Guten Tag,


    meine Speicherung funktioniert gerade irgendwie nicht mehr, hier mal der Code aus dem debug von MySQL.

    Code
    [14:18:20] CMySQLHandler::Query(UPDATE `accounts` SET `Level` = '1',`Adminlevel` = '4',`Online` = '1',`Datum` = '',`Geschlecht` = '0',`Alter` = '0',`Skin` = '2',`Fraktion` = '1',`Fraktionsrang` = '6',`Leader` = '1',`MuteZeit` = '0',`Gemutet` = '0' WHERE Name='Excuse') - An error has occured. (Error ID: 1054, Unknown column 'Fraktionsrang' in 'field list')
    [14:18:20] >> mysql_query( Connection handle: 1 )


    Code
    An error has occured. (Error ID: 1054, Unknown column 'Fraktionsrang' in 'field list')

    Hey.
    Setz den Wert in der Datenbank nicht runter, sonder frag einfach beim Login ab ob die aktuelle Zeit (Timestamp) gleich oder größer
    ist als die die in der Datenbank gespeichert wurde. Denn dann hat er seinen Bann abgesessen.


    Ich kann dir jetzt nicht ganz folgen, setzt sich der Wert automatisch in der Tabelle runter oder wie?
    Letztendlich muss der Wert ja wieder bei 0 ankommen, damit die komplette Zeit abgesessen wurde.

    Guten Tag,


    ich arbeite derzeit erneut an meinem Adminsystem [MySQL], letztendlich stellt sich aber bei bestimmten Commands mir eine Frage.
    Sagen wir mal so, ich arbeite derzeit an einem Timeban System, welches wie folgt aufgebaut ist.

    Spoiler anzeigen
    ocmd:tban(playerid,params[])
    {
    new pID,reason[31],zeit,string[256],cmd[15],zeitdauer;
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,COLOR_GRAU,"Du kannst diesen Befehl nicht benutzen.");
    if(sscanf(params,"udss",pID,zeit,cmd,reason))return SendClientMessage(playerid,COLOR_WRONG,"Benutze: /tban [ID/Teilname][Zeit][Minuten/Stunden/Tage/Wochen][Grund]");
    if(strlen(reason) > 30)return SendClientMessage(playerid,COLOR_WRONG,"Benutze: /tban [ID/Teilname][Zeit][Minuten/Stunden/Tage/Wochen][Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GRAU,"Der angegebene Spieler ist nicht eingeloggt.");
    if(IsPlayerNPC(pID))return SendClientMessage(playerid,COLOR_GRAU,"Einen NPC kannst du nicht timebannen.");
    if(SpielerInfo[playerid][pAdminlevel] == 3)
    {
    if(SpielerInfo[pID][pAdminlevel] > SpielerInfo[playerid][pAdminlevel])return SendClientMessage(playerid,COLOR_GRAU,"Diesen Befehl kannst du bei dieser Person nicht benutzen.");
    }
    if(strcmp(cmd,"Wochen",true) == 0)
    {
    zeitdauer = gettime()+(60*60*24*7*zeit);//in wochen
    format(string,sizeof(string),"%s hat den Spieler %s für %i Woche/n gebannt, Grund: %s",SpielerInfo[playerid][pName],SpielerInfo[pID][pName],zeit,reason);
    SendClientMessageToAll(COLOR_ROT,string);
    SpielerInfo[playerid][pTimeban] = zeitdauer;
    SpielerInfo[playerid][pGebannt] = 1;
    BanUser(pID,SpielerInfo[playerid][pName],reason,zeitdauer);
    return 1;
    }
    if(strcmp(cmd,"Tage",true) == 0)
    {
    zeitdauer = gettime()+(60*60*24*zeit);//in tagen
    format(string,sizeof(string),"%s hat den Spieler %s für %i Tag/e gebannt, Grund: %s",SpielerInfo[playerid][pName],SpielerInfo[pID][pName],zeit,reason);
    SendClientMessageToAll(COLOR_ROT,string);
    SpielerInfo[playerid][pTimeban] = zeitdauer;
    SpielerInfo[playerid][pGebannt] = 1;
    BanUser(pID,SpielerInfo[playerid][pName],reason,zeitdauer);
    return 1;
    }
    if(strcmp(cmd,"Stunden",true) == 0)
    {
    zeitdauer = gettime()+(60*60*zeit);//in stunden
    format(string,sizeof(string),"%s hat den Spieler %s für %i Stunde/n gebannt, Grund: %s",SpielerInfo[playerid][pName],SpielerInfo[pID][pName],zeit,reason);
    SendClientMessageToAll(COLOR_ROT,string);
    SpielerInfo[playerid][pTimeban] = zeitdauer;
    SpielerInfo[playerid][pGebannt] = 1;
    BanUser(pID,SpielerInfo[playerid][pName],reason,zeitdauer);
    return 1;
    }
    if(strcmp(cmd,"Minuten",true) == 0)
    {
    zeitdauer = gettime()+(60*zeit);//in minuten
    format(string,sizeof(string),"%s hat den Spieler %s für %i Minute/n gebannt. Grund: %s",SpielerInfo[playerid][pName],SpielerInfo[pID][pName],zeit,reason);
    SendClientMessageToAll(COLOR_ROT,string);
    SpielerInfo[playerid][pTimeban] = zeitdauer;
    SpielerInfo[playerid][pGebannt] = 1;
    BanUser(pID,SpielerInfo[playerid][pName],reason,zeitdauer);
    return 1;
    }
    return 1;
    }


    Der Wert wie lange der Spieler gebannt ist wird halt in der Zeile gesetzt, aber wie bekomme ich den Wert jetzt runtergezählt und sobald er wieder bei 0 ist, den Spieler entsperrt?

    Spoiler anzeigen
    stock BanUser(playerid,admin[],reason[],zeit = -1)
    {
    new query[256];
    gettime(stunde,minute,sekunde);
    getdate(jahr,monat,tag);
    format(query,sizeof(query),"Admin: %s * Zielperson: %s * Grund: %s * Zeit: %i",admin,SpielerInfo[playerid][pName],reason,zeit);
    Log("Bannedsqllog",query);
    SavePlayer(playerid);
    TogglePlayerControllable(playerid,0);
    SetCameraBehindPlayer(playerid);
    SpielerInfo[playerid][pGebannt] = 1;
    SetTimerEx("KickDelayed",100,0,"i",playerid);
    return 1;
    }

    Ich lass den Skin bei OnPlayerSpawn auslesen und dann setzten, funktioniert jedoch nicht mehr mit meinen Skin System.
    Beim Skin System habe ich jetzt die ganze Zeit den CJ Skin, egal ob ich auf weiterklicke oder nicht, ebenso sobald ich spawne setzt er mich wieder in die Skinauswahl.
    Ich frage ja auch ab ob der Spieler den CJ Skin hat, dann kommt er automatisch in die Skin Auswahl aber es funktioniert nicht.
    //Dinge die geladen werden
    new skin = SpielerInfo[playerid][pSkin];
    SetPlayerSkin(playerid,skin);


    if(GetPlayerSkin(playerid) == 0)
    {
    if(SpielerInfo[playerid][pGeschlecht] == 1) //Männlich
    {
    SetPlayerPos(playerid, 437.3533,-1748.4609,9.1031);
    SetPlayerCameraPos(playerid, 438.6240,-1752.1791,8.8109);
    SetPlayerCameraLookAt(playerid, 437.3533,-1748.4609,9.1031);
    SetPlayerFacingAngle(playerid, 228.3101);
    AuswahlMann[playerid] = 1;
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    SendClientMessage(playerid,COLOR_WHITE,"Nun musst du dir noch einen passenden Skin auswählen.");
    SendClientMessage(playerid,COLOR_WHITE,"Mit der {00AFFF}SHIFT Taste {FFFFFF}wählst du den nächsten Skin, bestätigen tust du mit der {FFFFFF}Enter Taste.");
    SetPlayerSkin(playerid,2);
    TogglePlayerControllable(playerid,0);


    }
    if(SpielerInfo[playerid][pGeschlecht] == 2) //Weiblich
    {
    SetPlayerPos(playerid, 437.3533,-1748.4609,9.1031);
    SetPlayerCameraPos(playerid, 438.6240,-1752.1791,8.8109);
    SetPlayerCameraLookAt(playerid, 437.3533,-1748.4609,9.1031);
    SetPlayerFacingAngle(playerid, 228.3101);
    AuswahlFrau[playerid] = 1;
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    SendClientMessage(playerid,COLOR_WHITE,"Nun musst du dir noch einen passenden Skin auswählen.");
    SendClientMessage(playerid,COLOR_WHITE,"Mit der {00AFFF}SHIFT Taste {FFFFFF}wählst du den nächsten Skin, bestätigen tust du mit der {FFFFFF}Enter Taste.");
    TogglePlayerControllable(playerid,0);
    }
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == KEY_JUMP)
    {
    if(AuswahlMann[playerid] == 1)
    {
    if(GetPlayerSkin(playerid) == 2)
    {
    SetPlayerSkin(playerid,7);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    }
    else if(GetPlayerSkin(playerid) == 7)
    {
    SetPlayerSkin(playerid, 20);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    }
    else if(GetPlayerSkin(playerid) == 20)
    {
    SetPlayerSkin(playerid, 21);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    }
    else if(GetPlayerSkin(playerid) == 21)
    {
    SetPlayerSkin(playerid, 24);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    }
    else if(GetPlayerSkin(playerid) == 24)
    {
    SetPlayerSkin(playerid, 22);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    }
    else if(GetPlayerSkin(playerid) == 22)
    {
    SetPlayerSkin(playerid, 23);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    }
    else if(GetPlayerSkin(playerid) == 23)
    {
    SetPlayerSkin(playerid, 2);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
    }
    }
    }
    if(newkeys == KEY_SECONDARY_ATTACK)
    {
    if(AuswahlMann[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_WHITE, ""); SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, ""); SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, ""); SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, ""); SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, ""); SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, ""); SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, ""); SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, ""); SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid,COLOR_WHITE,"Du hast deinen Skin ausgewählt.");
    new skin = GetPlayerSkin(playerid);
    SpielerInfo[playerid][pSkin] = skin;
    SpawnPlayer(playerid);
    AuswahlMann[playerid] = 0;
    }
    }
    return 1;
    }


    Code Explosion :whistling:
    //edit:Text
    //edit:Text

    Guten Tag,


    ich arbeite derzeit an einem Skin System, sprich das bei der Registrierung für das jeweilige Geschlecht der jeweilige Skin auswählbar ist.
    Ich setzte den Spieler also nach der Geschlechts Abfrage zu einer bestimmten Position und lass ihn mithilfe von SHIFT den Skin wechseln und mit Hilfe von Enter den Skin auswählen.
    Letztendlich habe ich ein lausiges Spawn Fenster unten noch hängen, also die Buttons. Drücke ich dann SHIFT spawne ich einfach, beeinflusst dieses Fenster das?

    Zitat

    Ich habe dazu doch keine Rechte, wie gesagt es ging doch eben noch dann habe ich das Script nochmal neu aufgebaut, sprich das nur das Login/Register System (MySQL) drin ist und jetzt geht es nicht mehr.
    Wo füge ich den die lib.. ein? - Habe 1 Ordner, indem es 3 Unterordner gibt und in dem 3 Unterordner liegen die Server Dateien.


    //Edit:Text hinzugefügt