Beiträge von hearteyy

    Hey,


    ich möchte, dass ein Spieler, wenn er in eine Fraktion invitet wird, in eine Skinauswahl mit bestimmten Skins geschickt wird. Wie mache ich das am Besten?
    Bitte kommt nicht mit "Schaus dir im GF an", da ich das nicht übernehmen möchte.


    mfg
    surrender

    Du musst die Include in diesen Ordner packen:
    pawno/include/


    Bitte nächstes mal Text formatieren.

    Hallo Brotfischer,


    ich habe mal dieses Kick Command ausgearbeitet. Mein Problem ist man kann trotzdem noch ohne Grund kicken, was ich nicht möchte ^^ Ich hoffe ihr könnt mir helfen:



    if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!tmp[0])return SendClientMessage(playerid, COLOR_GREY, "Verwendung: /kick [SpielerID] [Grund]");
    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
    new giveplayer;
    giveplayer = strval(tmp);


    if(!IsPlayerConnected(giveplayer))
    {
    SendClientMessage(playerid,COLOR_GREY,"* Dieser Spieler ist Offline!");
    return 1;
    }
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!tmp[0])return SendClientMessage(playerid, COLOR_GREY, "Verwendung: /kick [SpielerID] [Grund]");
    format(string,256,"%s (ID:%d) wurde von %s gekickt. Grund: %s",pName[giveplayer],giveplayer,pName[playerid],(result));
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    Kick(giveplayer);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dir fehlt das benötigte Adminlevel!");
    }
    }
    return 1;
    }



    Dann möchte ich ein Command erstellen, welches für Admins bis Level 5 nur mit AdminDuty geht, und ab Level 6 ohne.
    Könnt ihr mir den Anfang posten?
    Variablen sind so definiert: pAdmin AdminDuty


    mfg
    surrender

    Das funktioniert bei mir einwandfrei:


    if(strcmp(cmd, "/ooc", true) == 0 || strcmp(cmd, "/o", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt!");
    return 1;
    }
    if ((noooc) && PlayerInfo[playerid][pAdmin] < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, " Der OOC chat wurde von einem Admin geschlossen");
    return 1;
    }
    if(PlayerInfo[playerid][pMuted] == 1)
    {
    SendClientMessage(playerid, TEAM_CYAN_COLOR, " Du kannst nicht sprechen da du gemutet bist !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: (/o)oc [ooc chat]");
    return 1;
    }
    new drank[20];
    if(PlayerInfo[playerid][pAdmin] == 1){drank = "Moderator";}
    else if(PlayerInfo[playerid][pAdmin] == 2) { drank = "Admin";}
    else if(PlayerInfo[playerid][pAdmin] == 3) { drank = "Admin";}
    else if(PlayerInfo[playerid][pAdmin] == 4) { drank = "Admin";}
    else if(PlayerInfo[playerid][pAdmin] >= 1337) { drank = "1337-Admin,";}
    else if(PlayerInfo[playerid][pAdmin] == 1338) { drank = "Co Projektleiter,";}
    else if(PlayerInfo[playerid][pAdmin] == 1339) { drank = "Projektleiter,";}
    format(string, sizeof(string), "((%s, %s: %s ))",drank, sendername, result);
    if(PlayerInfo[playerid][pAdmin] == 1){OOCOff(COLOR_RED, string);}
    else if(PlayerInfo[playerid][pAdmin] == 2) { OOCOff(COLOR_DBLUE, string);}
    else if(PlayerInfo[playerid][pAdmin] == 3) { OOCOff(COLOR_YELLOW, string);}
    else if(PlayerInfo[playerid][pAdmin] == 4) { OOCOff(COLOR_LYELLOW2, string);}
    else if(PlayerInfo[playerid][pAdmin] == 1337) { OOCOff(COLOR_LIGHTRED, string);}
    else if(PlayerInfo[playerid][pAdmin] == 1338) { OOCOff(TEAM_BALLAS_COLOR, string);}
    else if(PlayerInfo[playerid][pAdmin] == 1339) { OOCOff(COLOR_GREY, string);}
    printf("%s", string);
    }
    return 1;
    }

    Soweit ich weiß wirkt sich das #pragma tabsize 0 nicht weiter aus, außer dass das Script langsamer werden könnte.
    BTW: Wieso nutzt du das Programm wenn es dir nich gefällt?^^

    SetTimerEx ist ungültig. Wolltest du nur SetTimer machen oder SetTimerEx und was vergessen? xD
    Nach euren Varianten bekommt der Spieler nach dem Register aber keine 500$ und ist nicht an dem Punkt.
    Jetzt sieht man zwar die Spieler, aber sie bewegen sich nicht..

    Hallo ich bins schon wieder..^^


    Ich wollte etwas erstellen, damit der Player beim ersten Login (also nach dem Register) eine Meldung + Geld erhält und am Airport spawnt.
    Allerdings kommt es zu schweren Bugs, zB. werden die $500 immer wieder vergeben oder schlimmer - die Spieler können sich gegenseitig nicht mehr sehen!
    So habe ich es gemacht:


    new FirstSpawn[MAX_PLAYERS];


    public OnPlayerSpawn(playerid)
    {
    . . .


    if(FirstSpawn[playerid] == 1)
    {
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 1446.4323,-2287.0105,13.5469);
    SetPlayerFacingAngle(playerid, 90.0);
    SetCameraBehindPlayer(playerid);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    SendClientMessage(playerid, grün, "Als kleine Starthilfe hast du $500 bekommen.");
    SendClientMessage(playerid, grün, "Viel Spaß auf dem Server!");
    GivePlayerMoney(playerid, 500);
    FirstSpawn[playerid] = 0;
    }


    ...


    if (strcmp(cmd, "/register", true)==0)
    {
    . . .
    FirstSpawn[playerid] = 0;


    Dann wollte ich noch eine Nachricht einfügen, dass wenn jemand an einer Telefonzelle ist, dann eine Nachricht erscheint. Allerdings kommt keine ;)
    Mein Code:


    forward IsAtTankstelle();


    public OnGameModeInit()
    {
    . . .
    SetTimer("IsAtTankstelle", 500, 1);
    . . .


    public IsAtTelefonzelle()
    {
    for(new playerid=0; playerid<GetMaxPlayers(); playerid++)
    {
    if(PlayerToPoint(1, playerid, 1450.1318,-2283.4863,13.5469))
    {
    SendClientMessage(playerid, grau, "Du bist an einer Telefonzelle.");
    SendClientMessage(playerid, grau, "Von hier aus kannst du bald andere Leute anrufen.");
    return 1;
    }
    }
    return 1;
    }


    Ich habe jetz wirklich lange an diesen Problemen gesessen..
    mfg
    surrender

    Ich habe in meinem NO-GF etwas eingefügt, dass den Player nach dem Tot beim Krankenhaus spawnen lässt. Es ist von Sampi hier aus dem Forum. Allerdings spawnt der Player nur im Krankenhaus, wenn er in einem Fahrzeug sitzt, keine Ahnung warum. :( Wenn er zu Fuß ist, spawnt er mit der Meldung einfach wieder am normalen Spawn. Pls help..




    forward Krankenhausspawn(playerid);



    public Krankenhausspawn(playerid)
    {
    SetPlayerHealth(playerid,100.0);
    SetPlayerPos(playerid, 1182.3021,-1324.0919,13.5798); //Krankenhaus
    SendClientMessage(playerid, rot, "Nach deiner schweren Verletzung wurdest du zum Krankenhaus gebracht und verarztet.");
    SendClientMessage(playerid, rot, "Da du keine Versicherung hast musst du die Kosten selber tragen. ($20)");
    GivePlayerMoney(playerid, -20);
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    TextDrawHideForPlayer(playerid, Speedometer[playerid]);
    new Float:Health;
    GetPlayerHealth(playerid, Health);
    if(Health == 0.0)
    {
    PlayerInfo[playerid][Tode] += 1;
    SetTimerEx("Krankenhausspawn",2000,0,"d",playerid);
    TogglePlayerControllable(playerid, 0);
    }
    PlayerInfo[killerid][Morde] = PlayerInfo[killerid][Morde] + 1;
    return 1;
    }

    Hallo Brotfische,


    da ich das Fraktionssystem vom GF gut finde (und gTeam net checke :D), möchte ich es in meinen GameMode einbauen. Allerdings weiß ich nicht, was ich alles definieren muss/welche Variablen ich brauche.
    Kann mir da jemand helfen?


    mfg
    surrender