Beiträge von Buschmensch

    So kann es nie und nimmals funktionieren.


    stock SpielerName(playerid)
    {
    new getspName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, getspName, sizeof(getspName));
    return getspName;
    }


    kopier dir den ins Script und wenn du den Namen heraus lesen willst machst du : SpielerName(playerid) wenn er ein admin ist und SpielerName(pID) wenn er der vorgegebene Spieler ist.

    Du erstellst oben bei deinen Variablen folgende Variable :
    new skinpickup;


    Nun gehst du unter OnGameModeInit und machst ( BEISPIEL! )
    skinpickup = CreatePickup(1559,1,X,Y,Z);


    Nun gehst du unter OnPlayerPickUpPickup und machst dies
    if(pickupid==skinpickup)
    {
    ShowPlayerDialog...
    return 1;
    }


    // Edit : Hinzugefügt

    Hallo Community,
    habe mir mal so einen halbwegs guten /makeleader Befehl zusammen gebastelt, aber wenn ich InGame z.B. /makeleader 0 1 mache kommt die Message "Du wurdest in die Fraktion Bürger eingeladen" obwohl die "1" das LSPD ist.
    Hier der Code :
    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;
    }
    Hoffe jemand kann mir weiterhelfen..


    Mfg

    Diese Befehle habe ich bereits gelöscht.


    Hier ist der /makeleader Befehl
    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:{fraktname="Bürger";}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    case 4:{fraktname=fraktname4;}
    case 5:{fraktname=fraktname5;}
    case 6:{fraktname=fraktname6;}
    case 7:{fraktname=fraktname7;}
    case 8:{fraktname=fraktname8;}
    case 9:{fraktname=fraktname9;}
    case 10:{fraktname=fraktname10;}
    case 11:{fraktname=fraktname11;}
    case 12:{fraktname=fraktname12;}
    case 13:{fraktname=fraktname13;}
    case 14:{fraktname=fraktname14;}
    case 15:{fraktname=fraktname15;}
    case 16:{fraktname=fraktname16;}
    case 17:{fraktname=fraktname17;}
    case 18:{fraktname=fraktname18;}
    case 19:{fraktname=fraktname19;}
    case 20:{fraktname=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);
    return 1;
    }

    Hallo Community,
    sitze grade an meinem Script und versuche vergeblich einen "/giverank" und einen "/einladen" Befehl zu scripten.. Denn immer wenn ich z. B. im LSPD bin, kann ich andere in z. B. Grove Street einladen.
    /giverank genau so.


    Nun wollte ich fragen ob mir jemand so einen Befehl in OCMD Format scripten kann.


    Informationen:
    Ich arbeite mit PVars.
    if(!isPlayerInFrakt(playerid,1)) // Fraktions Abfrage



    Mfg


    stock GivePlayerHanf(playerid,hanf)
    {
    SetPVarInt(playerid,"Hanf",GetPVarInt(playerid,"Hanf")+hanf);
    return 0;
    }


    Ungetestet


    // Edit: Die anderen waren schneller
    // Edit: Verbessert

    ocmd:pay(playerid,params[])
    {
    new pID, Geld, string[128], string2[128];
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Gruen,"Der angegebene Spieler existiert nicht!");
    if(sscanf(params,"ud",pID,Geld))return SendClientMessage(playerid,Hellblau,"Benutzung: /pay [ID] [Betrag]");
    if(Geld < 1 || Geld > 100000)return SendClientMessage(playerid,Hellblau,"Du darfst nicht weniger als 1$ oder mehr als 100.000$ zahlen!");
    if(GetDistanceBetweenPlayers(playerid, pID) < 5)return SendClientMessage(playerid,Hellblau,"Du bist zu weit weg!");
    if(playerid==pID)return SendClientMessage(playerid,Rot,"Du kannst kein Geld an dich selbst zahlen!");
    GivePlayerMoney(pID,Geld);
    GivePlayerMoney(playerid,-Geld);
    format(string,sizeof(string),"Du hast %s %d$ gezahlt.",SpielerName(pID),Geld);
    SendClientMessage(playerid,Gruen,string);
    format(string2,sizeof(string2),"%s hat %d$ an dich gezahlt.",SpielerName(playerid),Geld);
    SendClientMessage(pID,Gruen,string2);
    return 1;
    }



    Dafür brauche
    forward Float:GetDistanceBetweenPlayers(p1,p2);


    und
    public Float:GetDistanceBetweenPlayers(p1,p2){ new Float:x12,Float:y12,Float:z12,Float:x22,Float:y22,Float:z22; if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2)) { return -1.00; } GetPlayerPos(p1,x12,y12,z12); GetPlayerPos(p2,x22,y22,z22);return floatsqroot(floatpower(floatabs(floatsub(x22,x12)),2)+floatpower(floatabs(floatsub(y22,y12)),2)+floatpower(floatabs(floatsub(z22,z12)),2));}



    // Edit : Hinzugefügt