Hallo ihr lieben ich brauche erneut eure Hilfe ich möchte gerne Skin speichern und laden nur weis ich nicht wie das foktonirt habe ein par tuts gesehen aber werde da nicht schlau raus vilicht körntet ihr mir ein tut posten oder mir das machen wäre ser dankbar
Skin speichern und laden
- davidlg01
- Geschlossen
- Erledigt
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
-
-
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
SetPVarInt(playerid,"Führerschein",dini_Int(Spielerdatei,"Führerschein"));
SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));
SetPlayerWantedLevel(playerid, dini_Int(Spielerdatei,"WantedLevel"));
if(GetPVarInt(playerid,"Baned")==1)
{
SendClientMessage(playerid,Rot,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei,"Führerschein",GetPVarInt(playerid,"Führerschein"));
dini_IntSet(Spielerdatei,"WantedLevel",GetPlayerWantedLevel(playerid));
dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
}
return 1;
}Bei OnPlayerSpawn:
SetPlayerSkin(playerid, GetPVarInt(playerid,"Skin")); -
alles super aber ein problem habe ich noch wei mache ich das der sein Skin zu kaufen ist oder aus suchen kann Fon so ein laden habe ich keine anug wie ich das machen soll
-
-
-
ist es möglich das mann ein laden bauen kann wie in stand art also nur halt das mann da ein skin kaufen kann
-
Ja, kannst du schon machen.
Du mappst dir einen Laden hin, da setzt du einen Checkpoint oder ein Pickup in, wenn man in das rein läuft, dann öffnet sich das Menü (zum Beispiel das aus dem ersten (oder zweiten) Link den ich dir gegeben habe. So könnte ich mir das vorstellen. -
das wäre cool aus dem 2 link aber wie setze ich das um Mappen kein ding Pickups auch nicht aber das andare
-
#include <mSelection>
Unter den Includes:
new skinlist = mS_INVALID_LISTID;OnGameModeInit:
skinlist = LoadModelSelectionMenu("skins.txt");
(Die skins.txt findest du hier: http://gta-sa-mp.de/stuff/mSelection/skins.txt)public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == skinChangePickup)
{
ShowModelSelectionMenu(playerid, skinlist, "Select Skin");
return 1;
}
return 0;
}public OnPlayerModelSelection(playerid, response, listid, modelid)
{
if(listid == skinlist)
{
if(response)
{
SendClientMessage(playerid, 0xFF0000FF, "Skin Changed");
SetPlayerSkin(playerid, modelid);
//Geld hier abziehen.
}
else SendClientMessage(playerid, 0xFF0000FF, "Canceled skin selection");
return 1;
}
return 1;
}Ist in etwa der Code vom Beispiel.
-
und wie starte ich das wo genu kommen die ids hin
-
-
Die Skins schreibst du in die skins.txt, welche du in dem Ordner scriptfiles ablegst.
-
Bekomme die errors hir ist das pickup 215.6585,-159.1494,1000.5306
C:\Users\david\Desktop\Blue-Mix-Reallife Sever\gamemodes\Neu.pwn(557) : error 021: symbol already defined: "OnPlayerPickUpPickup"
C:\Users\david\Desktop\Blue-Mix-Reallife Sever\gamemodes\Neu.pwn(558) : error 017: undefined symbol "skinChangePickup"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
-
Dann musst du das bei dem existierenden OnPlayerPickUpPickup einfügen:
if(pickupid == skinChangePickup)
{
ShowModelSelectionMenu(playerid, skinlist, "Select Skin");
return 1;
}Das Pickup musst du natürlich erstellen und mit new unter den Includes deklarieren, sonst geht es nicht.
Das Pickup erstellst du mit CreatePickup, Typ 1.
https://wiki.sa-mp.com/wiki/CreatePickup -
C:\Users\david\Desktop\Blue-Mix-Reallife Sever\gamemodes\Neu.pwn(417) : error 017: undefined symbol "skinChangePickup"
C:\Users\david\Desktop\Blue-Mix-Reallife Sever\gamemodes\Neu.pwn(49) : warning 204: symbol is assigned a value that is never used: "pickup"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
public OnPlayerPickUpPickup(playerid, pickupid)//415
{
if(pickupid == skinChangePickup)//417
{
ShowModelSelectionMenu(playerid, skinlist, "Select Skin");//419
return 1;
}return 1;
}public OnGameModeInit()
{
DisableInteriorEnterExits();
SetGameModeText("Garmen Reallife");
skinlist = LoadModelSelectionMenu("skins.txt");
pickup = CreatePickup(1318,2,215.6585,-159.1494,1000.5306,-0);kann ich einfach die id des pickup nehmen oder muss ich das erstellen
-
if(pickupid == skinChangePickup)
Zu
if(pickupid == pickup)Der Rest passt soweit.
-
jezt fuktonirt das aber er speichert den nicht den skin
-
Dann schreibe das Speichern so:
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei,"Führerschein",GetPVarInt(playerid,"Führerschein"));
dini_IntSet(Spielerdatei,"WantedLevel",GetPlayerWantedLevel(playerid));
dini_IntSet(Spielerdatei,"Skin",GetPVarInt(playerid,"Skin"));
}
return 1;
}Und bei OnPlayerModelSelection fügst du nach SetPlayerSkin das ein:
SetPVarInt(playerid,"Skin",modelid); -
breadfish.de
Hat das Thema geschlossen.