Beiträge von Kaliber

    Kaliber: & ist das Normal das manchmal die Animationen nicht gesetzt werden ? :o


    Ja, wenn du sie beim 1. mal machst, deshalb solltest du sie Preloaden ;)


    //Unter OnPlayerSpawn
    PreloadAnimLib(playerid,"MEDIC"); //<< und das bei allen deinen Animationen machen


    //halt irgendwo im Script
    stock PreloadAnimLib(playerid, animlib[]) return ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);


    mfg. :thumbup:

    Schreibe es mal so:


    COMMAND:revive(playerid,params[])
    {
    if(SpielerInfo[playerid][Eingeloggt]==0)return SendClientMessage(playerid,Grau,"Du bist nicht eingeloggt !");
    if(Spieler[playerid][Afk] == 1)return SendClientMessage(playerid,Orange,"Du kannst im AFK-Modus keine Befehle nutzen. Drücke 'Z' um zurückzukehren.");
    if(SpielerInfo[playerid][Fraktion] != 4)return SendClientMessage(playerid,Orange,"Du bist kein Sanitäter!");
    new Float:Pos[3];
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    for(new i; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i) || !IsPlayerInRangeOfPoint(i,2.0,Pos[0],Pos[1],Pos[2])) continue;
    if(SpielerInfo[i][Tod] != 1) return SendClientMessage(playerid,Orange,"Niemand in deiner Nähe ist verletzt!");
    SetPVarInt(playerid,"Reviver",i);
    ApplyAnimation(playerid,"MEDIC","CPR",1.1,1,0,0,1,200000,1);
    new bitch = random(6000);
    SetTimerEx("Revive",bitch,0,"d",playerid);
    ApplyAnimation(playerid,"MEDIC","CPR",1.1,1,0,0,1,200000,1);
    GameTextForPlayer(playerid,"Wiederbeleben..",bitch,4);
    ApplyAnimation(playerid,"MEDIC","CPR",1.1,1,0,0,1,200000,1);
    return 1;
    }
    return SendClientMessage(playerid,Weiss,"Es ist kein Spieler in deiner Nähe!");
    }


    mfg. :thumbup:

    Lösch das was du bisher hast und schreibe es so:


    static const RangNamen[][] = {"-","Praktikant","Auszubildener","Angestellter","CoLeader","Leader"};
    ocmd:setrank(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,GRAU,"Du bist nicht bei der Polizei angestellt");
    if(!isPlayerRang(playerid,5))return SendClientMessage(playerid,GRAU,"Du bist kein Leader!.");
    new pID,rank,s[128];
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,HELLBLAU,"/setrank [Name/ID] [Rank]");
    if(rank<1||rank>5)return SendClientMessage(playerid,GRAU,"Bitte gültigen Fraktions Rang angeben.");
    SetPVarInt(pID,"FraktionRang",rank);
    format(s,sizeof(s),"Du hast %s zum %s befördert",sName(pID),RangNamen[rank]);
    SendClientMessage(playerid,HELLBLAU,s);
    format(s,sizeof(s),"Du wurdest von %s zum %s befördert",sName(playerid),RangNamen[rank]);
    SendClientMessage(pID,HELLBLAU,s);
    SpielerSpeichern(pID);
    return 1;
    }


    mfg. :thumbup:

    wenn ich auf irgendein klicke, passiert nix. (STYLE - LIST)


    Schreibe das alles mal so:


    if(dialogid==DIALOG_GANGFIGHT)
    {
    if(!response) return 1;
    switch(listitem) {
    case 0: SetPlayerColor(playerid,0xFFFF00FF),SetPlayerSkin(playerid,108);
    case 1: SetPlayerColor(playerid,0xFF00E1FF),SetPlayerSkin(playerid,102);
    case 2: SetPlayerColor(playerid,0x5FFF00FF),SetPlayerSkin(playerid,107);
    }
    GivePlayerWeapon(playerid,24,500);
    GivePlayerWeapon(playerid,25,250);
    GivePlayerWeapon(playerid,31,750);
    GivePlayerWeapon(playerid,29,750);
    GivePlayerWeapon(playerid,34,15);
    onGF[playerid] = 1;
    }


    mfg. :thumbup:

    Naja...einfach so:



    PS: Ungetestet, sollte allerdings funktionieren ;)


    mfg. :thumbup:

    Deswegen.


    Dann wäre der sicherste Code der hier:


    ReturnPlayerID(l_PlayerName[]) {
    new pName[MAX_PLAYER_NAME+1];
    for(new i; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i)) continue;
    GetPlayerName(i,pName,sizeof pName);
    if(!strcmp(pName,l_PlayerName)) return i;
    }
    return INVALID_PLAYER_ID;
    }


    So, weil bei Jeffrys Methode auch Fehler auftreten.


    Sagen wir einer heißt Jeffry, der andere Jeff und der andere Jef...dann hat man mit strfind ein Problem...


    und mit strcmp + true hat man das Problem wenn es Jeffry und JeffRy gibt...


    deshalb wäre der Code oben von mir der, der zu 100% die richtige Spielerid returnt ^^


    mfg. :thumbup:

    Mal im Ernst, wieso schreibt ihr es nicht einfach so:


    stock ReturnPlayerID(l_PlayerName[]) //(c) by Kaliber
    {
    new pName[MAX_PLAYER_NAME+1];
    for(new i; i<MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i)) continue;
    GetPlayerName(i,pName,sizeof pName);
    if(!strcmp(pName,l_PlayerName,true)) return i;
    else if(strfind(pName,l_PlayerName,true)!=-1) return i;
    }
    return INVALID_PLAYER_ID;
    }


    mfg. :thumbup:

    was soll ich denn bieten? ^^


    Naja einfach eine Gegenleistung halt.


    Oder erwartest (verlangst) du von diesem Scripter, dass er sich mehrere Stunden / Tage / Wochen kostenlos mit dir auseinandersetzt und dir etwas beibringt? :huh:


    mfg. :thumbup:

    1. Dir kann man ohne mit dir befreundet zu sein keine PN schreiben...was ziemlich suboptimal ist ;)


    2. Ich frage einfach mal offen, weil es bestimmt alle interessiert, was bietest du?


    mfg. :thumbup:

    Das mit einer Schleife zu realisierne ist möglich, wenn man zusätzlich noch eine variabel deklariert .


    Du hast da noch flüchtigkeits Fehler drinnen ^^


    Schreibs mal so:


    stock ReturnPlayerID(l_PlayerName[]) //©Jeffry
    {
    new l_name[MAX_PLAYER_NAME + 1],cName=-1,i;
    for(; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerName(i, l_name, MAX_PLAYER_NAME))
    {
    if(!strcmp(l_name,l_PlayerName, true)) return i;
    else if(strfind(l_name, l_PlayerName, true) != -1 && cName == -1)cName = i;
    }
    }
    return (!cName)?(INVALID_PLAYER_ID):(i);
    }


    mfg. :thumbup:

    Du hast da ein else vergessen, ich denke mal daran liegt das


    Nein, das könnte man so machen, durch das return 1; wird der Code beendet ;)


    Der Fehler ist ein Klammerfehler, schreibe es so:


    Spoiler anzeigen
    switch(dialogid) {
    case LOGIN: {
    if(!response) return SendClientMessage(playerid,0xFF3200FF,"Du hast den Login vorgang abbgebrochen"),Kick(playerid);
    return Login(playerid,MD5_Hash(inputtext));
    }
    case REGISTER: {
    if(!response) return SendClientMessage(playerid,0x00FF14FF,"Du musst dich Registrieren um Spielen zu können !"),Kick(playerid);
    if(!inputtext[0]) {
    SendClientMessage(playerid,0xFF1400FF,"Dieses Feld darf nicht leer sein!");
    SendClientMessage(playerid,0xFF1400FF,"Gebe dein gewünschtes Passwort ein!");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte suche dir ein sicheres Passwort aus um dich zu Registrieren!","Registrieren","Abbrechen");
    return 1;
    }
    return Register(playerid,MD5_Hash(inputtext));
    }
    }


    mfg. :thumbup: