Beiträge von Sharpadox

    Man könnte auch einfach eine neue Funktion für die Tore erstellen, welche alles automatisiert.
    Ich würde es ja so ungefähr versuchen (ungetestet):


    stock MoveTor(objectid, Float:X, Float:Y, Float:Z, Float:Speed, time){
    new Float:oX, Float:oY, Float:oZ;
    GetObjectPos(objectid, oX, oY, oZ);
    MoveObject(objectid, X, Y, Z, Speed);
    return SetTimerEx("TorSchliessen", time, false, "iffff", objectid, oX, oY, oZ, Speed);
    }


    forward TorSchliessen(objectid, Float:X, Float:Y, Float:Z, Float:Speed);
    public TorSchliessen(objectid, Float:X, Float:Y, Float:Z, Float:Speed){
    return MoveObject(objectid, X, Y, Z, Speed);
    }

    Aber mir fällt es ziemlich schwer und deshalb wollte ich euch mal Fragen, ob ihr mir auf die Sprünge helfen könnt


    Geht schlecht, wenn man nicht weiß, was dein Problem genau ist.
    Wenn dir generell MySQL schwer fällt, solltest du es einfach beim File-System belassen, oder du schaust dir MySQL intensiv an.
    Entweder ganz oder garnicht - wenn du MySQL (noch) nicht beherrscht, solltest du dein Script auch (noch) nicht umschreiben ;)

    Finde ich ja immer schön, wenn man seine Scripting-Talente kostenlos zur Verfügung stellen möchte. Mir bleibt gerade noch die Frage, ob du irgendwelche Referenzen vorzuweisen hast? Wenn du tatsächlich schon seit 4 Jahren in PAWN scriptest, wirst du doch sicher irgendwelche Projekte nennen können, bei welchen du mitgewirkt hast.
    Oder hast du mal etwas veröffentlicht / vorgestellt, oder irgendwas? Womit arbeitest du (mySQL, Dini, SQLite, ...)? Und wie ist deine Arbeitsweise (alleine, im Team)? Ein wenig mehr Infos wären schon super :whistling:


    Spoiler anzeigen

    YunAx >> Zumal ein Script nicht 40-50% "fertig" sein kann. Kein Script ist jemals "fertig", da selbst das perfekteste Script immernoch ausgebaut werden kann. Ich finde solche Aussagen ja immer lustig, wenn man mein, sein Script wäre zu 50% fertig. Sowieso frage ich mich, wie man auf 50% kommt. Habt ihr jedes Feature gezählt und dann mit dem Taschenrechner die Prozente ausgerechnet? Ein Script kann mMn. nur Spielbereit sein, aber niemals "fertig" ;)

    Zitat
    Spoiler anzeigen

    was labash du amk?!

    Zitat
    Spoiler anzeigen

    also Vergrab dich einfach *BITTE*

    Spoiler anzeigen
    Zu einem mehrfachen Projektleiter mit solch einer Wortwahl sage ich mal garnichts :X

    Übrigens verwendest du das falsche Format für die Farbgebung.
    text[0]= "{0xFF008000}bestanden";
    Du verwendest hier das Format "0xRRGGBBAA", jedoch braucht du nur eine "RRGGBB"-Angabe, denn in einer ClientMessage kann man keine Transparenz verwenden, daher wird bspw. aus "0xFF0080FF" nurnoch "FF0080". Somit müsste dein Code dann so lauten:
    text[0]= "{FF0080}bestanden";

    Du könntest es auch mit einem Enum regeln. Das könnte dann zB so aussehen: (Sorry, falls Fehler vorhanden sind. Bin auf Arbeit, und kann hier nichts testen).


    enum enum_FactionSpawns
    {
    Float:PosX,
    Float:PosY,
    Float:PosZ,
    Float:PosA,
    Color,
    Skin
    }
    new fSpawn[6][enum_FactionSpawns] = {
    {2025.0194,1008.0113,10.8203,266.3221,Zivi,1},
    {1569.7238,-1694.0360,5.8906,178.3540,LSPD,266},
    {1050.7272,1006.7212,11.0000,324.5735,FBI,285},
    {155.3963,1903.2561,18.6888,271.1202,Army,287},
    {328.6095,-1512.7717,36.0391,232.0174,Medic,70},
    {-2519.9355,-623.5046,132.7723,2.7521,News,187}
    }



    //OnPlayerSpawn (oder was auch immer :P)
    if(PlayerInfo[playerid][pEingeloggt] == 0)
    {
    new string[128],name[MAX_PLAYER_NAME],fid=PlayerInfo[playerid][pFraktion];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"{FFFFFF}%s {999999}hat den Server betreten. Herzlich Willkommen!",name);
    SendClientMessageToAll(Grau,string);
    PlayerInfo[playerid][pEingeloggt] = 1;
    SendDeathMessage(INVALID_PLAYER_ID,playerid,200);
    }
    SetPlayerPos(playerid,fSpawn[fid][PosX],fSpawn[fid][PosY],fSpawn[fid][PosZ]);
    SetPlayerFacingAngle(playerid,fSpawn[fid][PosA]);
    SetCameraBehindPlayer(playerid);
    SetPlayerColor(playerid,fSpawn[fid][Color]);
    SetPlayerSkin(playerid,fSpawn[fid][Skin]);
    PlayerInfo[playerid][pEingeloggt] = 1;

    Ja, wenn du in einer Include die Variable "Test" setzt, ist sie für das Gamemode da, sowie für alle Includes, die danach eingebunden worden sind. Denn eine Include-Datei ist ja nichts weiter, als ein "Platzhalter". Alles was du inkludierst, steht sozusagen direkt im Script - bloß, dass der Code eben extern eingebunden ist.

    Wieso nimmst du nicht eine Datenbank und erstellt für dein Reallife-Server sowie dem Deathmatch-Server deine Tabellen mit einem jeweiligen Erkennungs-Präfix? Deine Datenbank-Struktur könnte bspw so aussehen:


    SQL
    rl_accounts
    rl_vehicles
    rl_factions
    rl_bank
    rl_bizzes
    rl_configs
    dm_accounts
    dm_rankings
    dm_configs


    Dann würdest du, je nachdem, was der Spieler aussucht, die richtige Tabelle wählen. Wozu dann beide Datenbanken trennen? Ist doch ganz einfach ô.o


    ShowPlayerDialog(playerid, DIALOG_GAMEMODE, DIALOG_STYLE_MSGBOX, "Server", "Was möchtest du spielen?", "Reallife", "Deathmatch");


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_GAMEMODE)
    {
    if(response)
    {
    mysql_query("SELECT * FROM `rl_accounts` WHERE Name = `Hans`");
    // REALLIFE-CODE
    }
    else
    {
    mysql_query("SELECT * FROM `dm_accounts` WHERE Name = `Hans`");
    // DEATHMATCH-CODE
    }
    return 1;
    }

    return 0;
    }



    Zu deiner Frage:

    Zitat

    Welche von denn 3 Sprachen ist besser ?


    Da ich schon mit MySQL R39-2 angefangen habe.


    Ich persönlich empfehle übrigens MySQL-R7, jedoch steht es dir frei zu nutzen, was du möchtest. Ich persönlich nutze R7 und bin zufrieden c:
    Auch wenn jede SQL-Version die selbe "Sprache" ist ;)