Beiträge von Crank93

    hi, also, folgendes Problem:
    mein (home)server crasht, aber nur bei einem bestimmten Gammemode(nämlich meinem^^). Bei anderen GMs funtioniert alles einwandfrei.
    Frage: was im script kann so einen crash verursachen?


    achja, der server crasht immer nur, wenn ich eine Zeit mitm Auto rumfahre... :thumbdown:

    danke, jetzt weiß ich, dass es an meinem FS liegt, wo der Fehler im FS weiß ich leider noch nicht. naja werds mir nochmal genau anschauen...


    //Edit: so, hab das problem endlich behoben, ich hab bei einer "format"-Funktion einen parameter vergessen, wurde vom compiler aber nicht als warnung angezeigt, naja jetzt funktionierts wieder,
    danke nochmal für den hinweis :thumbup:
    so, ich geh pennen :D

    hi, ich hab mal ne frage, wenn man z. B. das hier hat:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new tmp[128], string[128], cmd[128], idx, giveplayerid, sendername, giveplayer;
    cmd = strtok(cmdtext, idx);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(strcmp(cmd, "/akill", true) == 0)
    {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0x919191FF, "You must be admin to admin-kill someone.");
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, 0x919191FF, "Usage: \"/akill [ID]\"");
    giveplayerid = strval(tmp);
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    if(!IsPlayerConnected(giveplayerid))SendClientMessage(playerid, 0x919191FF, "Player not found.");
    SetPlayerHealth(giveplayerid, 0);
    format(string, sizeof(string), "Admin %s[%i] killed you!", sendername, playerid);
    SendClientMessage(giveplayerid, 0xE21D2CFF, string);
    format(string, sizeof(string), "Killed %s[%i]!", giveplayer, giveplayerid);
    SendClientMessage(playerid, 0xE21D2CFF, string);
    return 1;
    }
    }


    wofür braucht man hier überhaupt die variable "tmp"?
    man hat doch oben schon die variable "cmd" mit dem gleichen wert definiert.
    also warum funktioniert dann z. b. "giveplayerid=strval(cmd)"(zeile 11) nicht und warum muss es stattdessen "strval(tmp)" sein?

    danke für die schnelle antwort, aber das Problem lag woanders, nähmlich beim command selbst.
    wenn man /save eintippt, werden die koordinaten nähmlich automatisch in der "savedpositions.txt" gespeichert.
    ich hab den cmd in "/savepos" geändert, und jetz wird das ganze auch in der richtigen datei gespeichert. :)


    mfg

    hi,
    ich hab einen "/save" command erstellt, der die aktuelle Position des Spielers in der Datei "positions.txt" in den scriptfiles als "AddPlayerClass speichern soll:


    dcmd_save(playerid, params[])
    {
    new string[256];
    new Float:X, Float:Y, Float:Z, Float:Rotation;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, Rotation);

    new File:pos=fopen("positions.txt", io_append);
    format(string, 256, "AddPlayerClass(0, %f, %f, %f, %f, 0,0,0,0,0,0);\r\n", X, Y, Z, Rotation);
    fwrite(pos, string);
    fclose(pos);
    return 1;
    }


    wenn ich jetzt aber aufm server /save eintippe, wird in der Datei nichts gespeichert.
    Was kann ich da machen?

    hi,
    ich hab in meinem script teams erstellt:


    #define TEAM_GROVE 1
    #define TEAM_BALLA 2
    #define TEAM_AZTECA 3



    dazu die teamfarben:


    #define TEAM_GROVE_COLOR 0x00FF00AA
    #define TEAM_BALLA_COLOR 0xFF00FFAA
    #define TEAM_AZTECA_COLOR 0xFFFF00AA



    unter "OnPlayerRequestClass" hab ich eine funktion, die die spieler anhand der classid einem Team zuordnet:


    SetPlayerTeamFromClass (playerid, classid)
    {
    switch(classid)
    {
    case 0:
    {
    gTeam[playerid]=TEAM_GROVE;
    }
    case 102 ,103, 104:
    {
    gTeam[playerid]=TEAM_BALLA;
    }
    case 108, 109, 110, 114, 115, 116:
    {
    gTeam[playerid]=TEAM_AZTECA;
    }
    }
    }



    und unter "OnPlayerSpawn" eine Funktion, die jedem team eine Farbe zuordnet:


    SetPlayerToTeamColor(playerid)
    {
    switch (gTeam[playerid])
    {
    case TEAM_GROVE:
    {
    SetPlayerColor(playerid, TEAM_GROVE_COLOR);
    }
    case TEAM_BALLA:
    {
    SetPlayerColor(playerid, TEAM_BALLA_COLOR);
    }
    case TEAM_AZTECA:
    {
    SetPlayerColor(playerid, TEAM_AZTECA_COLOR);
    }


    }
    }


    das Problem: wenn ich das ganze teste, ist die teamfarbe -egal bei welchem skin- immer grün, also TEAM_GROVE_COLOR.
    wie kann ich es machen, dass die farbe dem jeweiligen team angepasst wird?