Beiträge von RnBexclusiv

    Wieso macht ihr es euch so unständlich?
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(GetPVarInt(playerid,"aLic") == 0)
    RemovePlayerFromVehicle(playerid);
    }
    return 1;
    }

    dcmd_giverank(playerid,params[])
    {
    if(GetPVarInt(playerid,"Leader") == 0) return SendClientMessage(playerid,COLOR,"Du bist kein Leader!");
    new _pid,_r,_s[128];
    if(sscanf(params,"dd",_pid,_r)) return SendClientMessage(playerid,COLOR,"Benutze: /giverank [PlayerID][RankID]");
    if(!IsPlayerConnecte(_pid)) return SendClientMessage(playerid,COLOR,"Spieler ist nicht online!");
    if(GetPVarInt(playerid,"FraktionLeader") != GetPVarInt(_pid,"Fraktion")) return SendClientMessage(playerid,COLOR,"Dieser Spieler ist nicht in deiner Fraktion");
    else
    {
    SetPVarInt(playerid,"FraktionRang",_r);
    format(_s,sizeof(_s),"Du hast %s Rank %d gegeben!",PlayerName(_pid),_r);
    SendClientMessage(playerid,COLOR,_s);
    format(_s,sizeof(_s),"Du hast von %s den Rank %d bekommen",PlayerName(playerid),_r);
    SendClientMessage(_pid,_s);
    }
    return 1;
    }


    Ohne gewähr alles ohne compiled geschrieben.

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys == SECONDARY_ATTACK)
    {
    if(PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,1123.1354980469, -2037.0114746094, 68.893630981445))
    {
    SetPlayerPos(playerid,246.783996,63.900199,1003.640625);
    SetPlayerInterior(playerid,6);
    SetPlayerVirtualWorld(playerid,1);
    }
    }
    else if(PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,246.783996,63.900199,1003.640625))
    {
    SetPlayerPos(playerid,1123.1354980469, -2037.0114746094, 69.893630981445);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }
    }
    }
    return 1;
    }


    ocmd:fch(playerid,params[])
    {
    new text[300],string[100];
    if(sscanf(params,"s[300]",text))return SendClientMessage(playerid,ROT,"/fch [Text]");
    for(new i=0; i<MAX_PLAYERS; i++) // hier sind die fehlermeldungen..
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
    {
    format(string,100,"%s %s: %s",ReturnRank(GetPVarInt(playerid,"FraktionRang"),GetPVarInt(playerid,"Fraktion")),PlayerName(playerid),text);
    SendClientMessage(i,COLOR,string);
    }
    }
    }
    return 1;
    }


    Und das noch einfügen Iwo


    stock PlayerName(playerid)
    {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    return pname;
    }

    Hm...
    Kann ja auch nicht gehen :P
    if(!IsPlayerNPC(playerid))
    {
    new pName[MAX_PLAYER_NAME];
    new LeaveText[256];
    GetPlayerName(playerid, pName, sizeof(pName));
    switch(reason)
    {
    case 0: format(LeaveText, sizeof(LeaveText), "{FF0000}<< {FFFFFF}Anti-Offlineflucht{FF0000} >> {FFFFFF}%s hat den Server verlassen. {FF0000}[Crash/Error]", pName);
    case 1: format(LeaveText, sizeof(LeaveText), "{FF0000}<< {FFFFFF}Anti-Offlineflucht{FF0000} >> {FFFFFF}%s hat den Server verlassen. {FF0000}[Verlassen]", pName);
    case 2: format(LeaveText, sizeof(LeaveText), "{FF0000}<< {FFFFFF}Anti-Offlineflucht{FF0000} >> {FFFFFF}%s hat den Server verlassen. {FF0000}[Kick/Ban]", pName);
    }
    SendRangeMessage(playerid, COLOR_RED, LeaveText, 25.0);
    }


    Wenn du die Spieler doch schon an alle in der Range verschickst und dann nochmal an alle auf dem Server kann es nur vollgespammt werden.

    Bin mir unsicher ob man switch im switch verwenden kann aber probier es einfach mal aus.
    stock ReturnRank(fraktion,rank)
    {
    new _s[128];
    switch(fraktion)
    {
    case 1:
    {
    switch(rank)
    {
    case 1:format(_s,sizeof(_s),"%s",Armyrangname1);
    case 2:format(_s,sizeof(_s),"%s",Armyrangname2);
    case 3:format(_s,sizeof(_s),"%s",Armyrangname3);
    case 4:format(_s,sizeof(_s),"%s",Armyrangname4);
    case 5:format(_s,sizeof(_s),"%s",Armyrangname5);
    case 6:format(_s,sizeof(_s),"%s",Armyrangname6);
    }
    }
    case 2:
    {
    switch(rank)
    {
    case 1:format(_s,sizeof(_s),"%s",lspdrangname1);
    case 2:format(_s,sizeof(_s),"%s",lspdrangname2);
    case 3:format(_s,sizeof(_s),"%s",lspdrangname3);
    case 4:format(_s,sizeof(_s),"%s",lspdrangname4);
    case 5:format(_s,sizeof(_s),"%s",lspdrangname5);
    case 6:format(_s,sizeof(_s),"%s",lspdrangname6);
    }
    }
    }
    return _s;
    }


    und noch
    ocmd:fch(playerid,params[])
    {
    new text[300],string[100];
    if(sscanf(params,"s[300]",text))return SendClientMessage(playerid,ROT,"/fch [Text]");
    for(new i=0; i<MAX_PLAYERS(); i++) // hier sind die fehlermeldungen..
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
    {
    format(string,100,"%s %s: %s",ReturnRank(GetPVarInt(playerid,"FraktionRang"),GetPVarInt(playerid,"Fraktion")),PlayerName(playerid),text);
    SendClientMessage(i,COLOR,string);
    }
    }
    }
    return 1;
    }

    Sooo


    Einmal brauchst du erstmal
    stock PlayerName(playerid)
    {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    return pname;
    }


    Dann habe ich dir eine neue Funktion geschrieben
    stock ReturnArmyRank(rank)
    {
    new _s[128];
    switch(rank)
    {
    case 1:format(_s,sizeof(_s),"%s",Armyrangname1);
    case 2:format(_s,sizeof(_s),"%s",Armyrangname2);
    case 3:format(_s,sizeof(_s),"%s",Armyrangname3);
    case 4:format(_s,sizeof(_s),"%s",Armyrangname4);
    case 5:format(_s,sizeof(_s),"%s",Armyrangname5);
    case 6:format(_s,sizeof(_s),"%s",Armyrangname6);
    }
    return _s;
    }


    Und nun dein Befehl
    ocmd:fch(playerid,params[])
    {
    new text[300],string[100];
    if(sscanf(params,"s[300]",text))return SendClientMessage(playerid,ROT,"/fch [Text]");
    for(new i=0; i<MAX_PLAYERS(); i++) // hier sind die fehlermeldungen..
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
    {
    new rangname[64];
    if(GetPVarInt(i,"Fraktion")==1)
    {
    format(string,100,"%s %s: %s",ReturnArmyRank(GetPVarInt(playerid,"FraktionRang")),PlayerName(playerid),text);
    SendClientMessage(i,COLOR,string);
    }
    }
    }
    }
    return 1;
    }


    Alles ausm Kopf geschrieben wenn fehler da sind bitte melden.

    ocmd:makeleader(playerid,params[])
    {
    new userid, frak, string[128], fraktname[20];
    if(!isPlayerAnAdmin(playerid,1337))return SendClientMessage(playerid,Rot,"Du bist kein Administrator Rank 1339.");
    if(sscanf(params,"ud",userid,frak))return SendClientMessage(playerid,Hellblau,"Benutzung: /makeleader [ID] [Fraktion(1-20)]");
    if(frak < 0 || frak > 20)return SendClientMessage(playerid,Orange,"Gib bitte eine gültige Fraktion ein.");
    SetPVarInt(userid,"Leader",frak);
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{format(fraktname,20,"Bürger");}
    case 1:{format(fraktname,20,"%s",fraktname1);}
    case 2:{format(fraktname,20,"%s",fraktname2);}
    case 3:{format(fraktname,20,"%s",fraktname3);}
    case 4:{format(fraktname,20,"%s",fraktname4);}
    case 5:{format(fraktname,20,"%s",fraktname5);}
    case 6:{format(fraktname,20,"%s",fraktname6);}
    case 7:{format(fraktname,20,"%s",fraktname7);}
    case 8:{format(fraktname,20,"%s",fraktname8);}
    case 9:{format(fraktname,20,"%s",fraktname9);}
    case 10:{format(fraktname,20,"%s",fraktname10);}
    case 11:{format(fraktname,20,"%s",fraktname11);}
    case 12:{format(fraktname,20,"%s",fraktname12);}
    case 13:{format(fraktname,20,"%s",fraktname13);}
    case 14:{format(fraktname,20,"%s",fraktname14);}
    case 15:{format(fraktname,20,"%s",fraktname15);}
    case 16:{format(fraktname,20,"%s",fraktname16);}
    case 17:{format(fraktname,20,"%s",fraktname17);}
    case 18:{format(fraktname,20,"%s",fraktname18);}
    case 19:{format(fraktname,20,"%s",fraktname19);}
    case 20:{format(fraktname,20,"%s",fraktname20);}
    }
    format(string,sizeof(string),"Administrator %s hat dich zum Leader der Fraktion %s ernannt.",SpielerName(playerid),fraktname);
    SendClientMessage(userid,Gruen,string);
    SendClientMessage(userid,Weiß,"__________________________________________________________________");
    SendClientMessage(userid,Gruen,"Du hast nun Pflicht als Leader mindestens 2 Wochen in dieser Fraktion zu bleiben.");
    SendClientMessage(userid,Gruen,"Solltest du diese Regel verstoßen, wird es eine Frak Sperre nachsichziehen.");
    SendClientMessage(userid,Gruen,"Die Leaderhilfe und die Frakhilfe kannst du mit /leaderhelp und /frakhelp aufrufen.");
    SendClientMessage(userid,Rosa,"Viel Spaß & Viel Glück wünscht dir die [NYCR] - Projektleitung.");
    format(string,sizeof(string),"Du hast den Spieler %s zu einem Leader der Fraktion %s ernannt.",SpielerName(userid),fraktname);
    SendClientMessage(playerid,Gruen,string);
    return 1;
    }


    Habe bisschen was geändert.
    Was genau ging noch nicht?

    Baue dies in dein Script ein
    stock PlayerName(playerid)
    {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    return pname;
    }


    Und dann kannst du deinen Code folgendermassen abändern


    ocmd:m(playerid,params[])
    {
    new result [128];
    if(IsAnCop(playerid))
    {
    if(sscanf(params,"s",result))return SendClientMessage(playerid,Grau,"Benutze: /m(egaphone) [Text]");
    {
    new resultstring[256];
    new member = GetPVarInt(playerid,"Fraktion");
    if(member==1)
    {
    if(GetPVarInt(playerid,"OnDuty")!=0)return 1;
    {
    format(resultstring,sizeof(resultstring),"[Polizist %s:o< %s]",PlayerName(playerid),result);
    ProxDetector(60.0,playerid,resultstring,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
    }
    }
    else if(member==2)
    {
    if(GetPVarInt(playerid,"OnDuty")!=0)return 1;
    {
    format(resultstring,sizeof(resultstring),"[FBI Agent %s:o< %s]",PlayerName(playerid),result);
    ProxDetector(60.0,playerid,resultstring,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
    }
    }
    else if(member==3)
    {
    if(GetPVarInt(playerid,"OnDuty")!=0)return 1;
    {
    format(resultstring,sizeof(resultstring),"[Soldat %s:o< %s]",PlayerName(playerid),result);
    ProxDetector(60.0,playerid,resultstring,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
    }
    }
    }
    }
    return 1;
    }

    Setze eine Variable vom Spieler auf True wenn das Dialog angezeigt wird.
    Du startest ebenfalls dann den Timer.
    Wenn der Timer abgelaufen ist und die Variable noch auf true ist = Kick.
    Wenn er die Rechnung löst = false.

    stock GetPlayerVehiclePrice(modelid)
    {
    switch(modelid)
    {
    case 452: return 50000;
    case 411: return 150000;
    }
    }
    Probier mal :)


    EDIT://
    Du musst natürlich nun die Funktion so abfragen
    new model = GetPlayerVehiclePrice(GetVehicleModel(GetPlayerVehicleID(playerid));