Skins locken

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich habe das Account system wie bei "MrMonatTutorial" oder besser gesagt das mit Dini also PVar's.


    Ich möchte nun, dass manche skins (bei der skin selection) nur für bestimmte spieler verfügbar sind.


    Beispiel:

    Zitat


    -> OnPlayerRequestClass -> SpielerName: Hans -> Option 1: Hans wählt skin nummer 0 -> Skin unlocked (für alle spieler) -> Spawnt mit dem skin
    Option 2: Hans wählt skin nummer 1 -> Skin locked (auf Hans's namen) -> Spawt mit dem skin
    Option 3: Hans wählt skin numemr 3 -> skin locked (auf Peter's name) -> SendClientMessage(x,x,"Dieser Skin ist für dich nicht verfügbar!);



    Wie tue ich das?


    Danke im Vorraus :thumbup:

    Du brauchst Hilfe beim scripten? Siehe Hier:


    Klick mich!


    Derzeitiges Projekt: Youngs Deathmatch 1.0.0 [||||||||||]

    Einmal editiert, zuletzt von RedZ ()

  • public OnPlayerRequestClass(playerid,classid)
    {
    if(classid == 3 && !IsPlayerAdmin(playerid))
    {
    SendClientMessage(playerid,COLOR_GREEN,"This skin is only for admins!");
    return 0;
    }
    return 1;
    }


    http://wiki.sa-mp.com/wiki/OnPlayerRequestClass


    Returning 0 in this callback will prevent the player from spawning. The player can be forced to spawn when SpawnPlayer is used however the player will re-enter class selection the next time they die.


    Setze halt einfach für classid die zu sperrende Klasse ein ;)
    Und ändere natürlich die Parameter. Hier geht es momentan um einen Admin-Skin (wie auch ersichtlich).



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

  • Danke, ich werde das auf mein prinzip übertragen und mich dann nochmal melden ;)


    Habs so gemacht:


    if(classid==1)
    {
    new Hans, name[24];
    new CheckName = GetPlayerName(playerid,name,sizeof(name));

    if(CheckName==Hans)
    {
    SendClientMessage(playerid,COLOR_RED,"Hi Hans!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"You are not Hans!");
    return 0;
    }
    }

    return 1;
    }


    der player spawn trotzdem... :(

    Du brauchst Hilfe beim scripten? Siehe Hier:


    Klick mich!


    Derzeitiges Projekt: Youngs Deathmatch 1.0.0 [||||||||||]

    Einmal editiert, zuletzt von RedZ ()

  • Ich hätte sonst keine Idee bis auf die "gelockten" skins auf einen Namen zu definieren und dann per If(X=X)else... Funktion die skins zu locken hm... vlt kann mir jemand einen beispielcode geben ^^

    Du brauchst Hilfe beim scripten? Siehe Hier:


    Klick mich!


    Derzeitiges Projekt: Youngs Deathmatch 1.0.0 [||||||||||]

  • also könnte ich das einfach mit einem "SkinPW" machen... bisschen umständig wenn man sowieso schon ein account system hat aber naja ^^

    Du brauchst Hilfe beim scripten? Siehe Hier:


    Klick mich!


    Derzeitiges Projekt: Youngs Deathmatch 1.0.0 [||||||||||]