Genau, immer schön rauf auffe Neulinge damit die wissen wo ihr Platz ist
Da fühlt man sich doch gleich noch wohler hier.
Genau, immer schön rauf auffe Neulinge damit die wissen wo ihr Platz ist
Da fühlt man sich doch gleich noch wohler hier.
so sollte es zb aussehen
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
if(IsBike(model) && PlayerInfo[playerid][pBike] == 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!");
return 1;
}
}
return 1;
}
Alles anzeigen
Ich habe jetzt folgendes:
der Befehl zum scheine geben
CAlles anzeigenocmd:giveschein(playerid,params[]) { new pID,schein[24],pname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); GetPlayerName(pID,pname,sizeof(pname)); if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist."); if(PlayerInfo[playerid][pMember] != 8) return SendClientMessage(playerid,Grau,"Du bist kein Fahrlehrer!"); if(sscanf(params,"us",pID,schein)) { SendClientMessage(playerid,Grau,"Benutze: /giveschein [playerid/PartOfName] [Schein]"); SendClientMessage(playerid,Grau,"Scheine: Auto, Motorrad, Flug, Angel, Boot, Waffe1, Waffe2"); return 1; } if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Grau,"Der angegebene Spieler ist nicht Onlien!"); if(!strcmp(schein, "Auto", true)) { if(PlayerInfo[pID][pLevel] < 1) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!"); new string[128]; format(string,sizeof(string),"Fahrlehrer %s hat dir den Autoschein gegeben.",name); SendClientMessage(pID,Blau,string); format(string,sizeof(string),"Du hast %s den Autoschein gegeben.",pname); SendClientMessage(playerid,Blau,string); PlayerInfo[pID][pAuto] = 1; return 1; } else if(!strcmp(schein, "Motorrad", true)) { if(PlayerInfo[pID][pLevel] < 2) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!"); new string[128]; format(string,sizeof(string),"Fahrlehrer %s hat dir den Motorradschein gegeben.",name); SendClientMessage(pID,Blau,string); format(string,sizeof(string),"Du hast %s den Motorradschein gegeben.",pname); SendClientMessage(playerid,Blau,string); PlayerInfo[pID][pBike] = 1; return 1; } else if(!strcmp(schein, "Flug", true)) { if(PlayerInfo[pID][pLevel] < 3) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!"); new string[128]; format(string,sizeof(string),"Fahrlehrer %s hat dir den Flugschein gegeben.",name); SendClientMessage(pID,Blau,string); format(string,sizeof(string),"Du hast %s den Flugschein gegeben.",pname); SendClientMessage(playerid,Blau,string); PlayerInfo[pID][pFlug] = 1; return 1; } else if(!strcmp(schein, "Angel", true)) { if(PlayerInfo[pID][pLevel] < 1) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!"); new string[128]; format(string,sizeof(string),"Fahrlehrer %s hat dir den Angelschein gegeben.",name); SendClientMessage(pID,Blau,string); format(string,sizeof(string),"Du hast %s den Angelschein gegeben.",pname); SendClientMessage(playerid,Blau,string); PlayerInfo[pID][pAngel] = 1; return 1; } else if(!strcmp(schein, "Boot", true)) { if(PlayerInfo[pID][pLevel] < 3) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!"); new string[128]; format(string,sizeof(string),"Fahrlehrer %s hat dir den Bootsschein gegeben.",name); SendClientMessage(pID,Blau,string); format(string,sizeof(string),"Du hast %s den Bootsschein gegeben.",pname); SendClientMessage(playerid,Blau,string); PlayerInfo[pID][pBoot] = 1; return 1; } else if(!strcmp(schein, "Waffe1", true)) { if(PlayerInfo[pID][pLevel] < 4) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!"); new string[128]; format(string,sizeof(string),"Fahrlehrer %s hat dir den Waffenschein 1 gegeben.",name); SendClientMessage(pID,Blau,string); format(string,sizeof(string),"Du hast %s den Waffenschein 1 gegeben.",pname); SendClientMessage(playerid,Blau,string); PlayerInfo[pID][pWaffe1] = 1; return 1; } else if(!strcmp(schein, "Waffe2", true)) { if(PlayerInfo[pID][pLevel] < 6) return SendClientMessage(playerid,Grau,"Dieser Spieler hat nicht das richtige Level für diesen Schein!"); new string[128]; format(string,sizeof(string),"Fahrlehrer %s hat dir den Waffenschein 2 gegeben.",name); SendClientMessage(pID,Blau,string); format(string,sizeof(string),"Du hast %s den Waffenschein 2 gegeben.",pname); SendClientMessage(playerid,Blau,string); PlayerInfo[pID][pWaffe2] = 1; return 1; } else return SendClientMessage(playerid,Grau,"Ungültige Auswahl"); }
und hier das speichern:
CAlles anzeigenpublic Register(playerid,key[]) { new Spielerdatei[64]; new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); dini_Create(Spielerdatei); dini_Set(Spielerdatei,"Passwort",key); dini_IntSet(Spielerdatei,"Adminlevel",0); dini_IntSet(Spielerdatei,"Leader",0); dini_IntSet(Spielerdatei,"Warn",0); dini_IntSet(Spielerdatei,"Premium",0); dini_IntSet(Spielerdatei,"Level",1); dini_IntSet(Spielerdatei,"Geld",10000); dini_IntSet(Spielerdatei,"Skin",1); dini_IntSet(Spielerdatei,"Fraktion",0); dini_IntSet(Spielerdatei,"Member",0); dini_IntSet(Spielerdatei,"Rank",0); dini_IntSet(Spielerdatei,"Respect",0); dini_IntSet(Spielerdatei,"Alter",0); dini_IntSet(Spielerdatei,"Geschlecht",0); dini_IntSet(Spielerdatei,"Autoschein",0); dini_IntSet(Spielerdatei,"Motorradschein",0); dini_IntSet(Spielerdatei,"Bootschein",0); dini_IntSet(Spielerdatei,"Angelschein",0); dini_IntSet(Spielerdatei,"Flugschein",0); dini_IntSet(Spielerdatei,"Waffenschein 1",0); dini_IntSet(Spielerdatei,"Waffenschein 2",0); SendClientMessage(playerid,Gruen,"Du hast dich erfolkreich registriert."); SetPlayerSkin(playerid,1); SetPlayerScore(playerid,1); GivePlayerMoney(playerid,10000); return 1; } public Login(playerid,key[]) { new Spielerdatei[64]; new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true)) { SpielerLaden(playerid); SendClientMessage(playerid,Gruen,"Du hast dich erfolgreich eingeloggt."); PlayerInfo[playerid][pEingeloggt] = 1; return 1; } else { SendClientMessage(playerid,Rot,"SERVER: Das Passwort stimmt mit dem Account nicht überein."); ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gib bitte dein Passwort ein.","Login","Abbrechen"); return 1; } } public SpielerLaden(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")); PlayerInfo[playerid][pAdminlevel] = dini_Int(Spielerdatei,"Adminlevel"); PlayerInfo[playerid][pRespect] = dini_Int(Spielerdatei,"Respect"); PlayerInfo[playerid][pFraktion] = dini_Int(Spielerdatei,"Fraktion"); PlayerInfo[playerid][pLeader] = dini_Int(Spielerdatei,"Leader"); PlayerInfo[playerid][pMember] = dini_Int(Spielerdatei,"Member"); PlayerInfo[playerid][pRank] = dini_Int(Spielerdatei,"Rang"); PlayerInfo[playerid][pPremium] = dini_Int(Spielerdatei,"Premium"); PlayerInfo[playerid][pSkin] = dini_Int(Spielerdatei,"Skin"); PlayerInfo[playerid][pWarn] = dini_Int(Spielerdatei,"Warn"); PlayerInfo[playerid][pAlter] = dini_Int(Spielerdatei,"Alter"); PlayerInfo[playerid][pGeschlecht] = dini_Int(Spielerdatei,"Geschlecht"); PlayerInfo[playerid][pAuto] = dini_Int(Spielerdatei,"Autoschein"); PlayerInfo[playerid][pBike] = dini_Int(Spielerdatei,"Motorradschein"); PlayerInfo[playerid][pBoot] = dini_Int(Spielerdatei,"Bootschein"); PlayerInfo[playerid][pAngel] = dini_Int(Spielerdatei,"Angelschein"); PlayerInfo[playerid][pFlug] = dini_Int(Spielerdatei,"Flugschein"); PlayerInfo[playerid][pWaffe1] = dini_Int(Spielerdatei,"Waffenschein 1"); PlayerInfo[playerid][pWaffe2] = dini_Int(Spielerdatei,"Waffenschein 2"); if(PlayerInfo[playerid][pPremium] > 0) { SendClientMessage(playerid,Gelb,"** Du bist mit einem Premiumaccount eingeloggt!"); } if(PlayerInfo[playerid][pAdminlevel] > 0) { new info[256]; format(info,sizeof(info),"** Du bist als %s eingeloggt!",AdminRank(playerid)); SendClientMessage(playerid,Gelb,info); } if(PlayerInfo[playerid][pLeader] > 0) { new info[256]; format(info,sizeof(info),"** Du bist als Leader der Fraktion %s eingeloggt!",LeaderRank(playerid)); SendClientMessage(playerid,Gelb,info); } return 1; } public SpielerSpeichern(playerid) { 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,"Skin",GetPlayerSkin(playerid)); dini_IntSet(Spielerdatei,"Adminlevel",PlayerInfo[playerid][pAdminlevel]); dini_IntSet(Spielerdatei,"Respect",PlayerInfo[playerid][pRespect]); dini_IntSet(Spielerdatei,"Fraktion",PlayerInfo[playerid][pFraktion]); dini_IntSet(Spielerdatei,"Leader",PlayerInfo[playerid][pLeader]); dini_IntSet(Spielerdatei,"Member",PlayerInfo[playerid][pMember]); dini_IntSet(Spielerdatei,"Rang",PlayerInfo[playerid][pRank]); dini_IntSet(Spielerdatei,"Premium",PlayerInfo[playerid][pPremium]); dini_IntSet(Spielerdatei,"Warn",PlayerInfo[playerid][pWarn]); dini_IntSet(Spielerdatei,"Alter",PlayerInfo[playerid][pAlter]); dini_IntSet(Spielerdatei,"Geschlecht",PlayerInfo[playerid][pGeschlecht]); dini_IntSet(Spielerdatei,"Autoschein",PlayerInfo[playerid][pAuto]); dini_IntSet(Spielerdatei,"Motorradschein",PlayerInfo[playerid][pBike]); dini_IntSet(Spielerdatei,"Angelschein",PlayerInfo[playerid][pAngel]); dini_IntSet(Spielerdatei,"Flugschein",PlayerInfo[playerid][pFlug]); dini_IntSet(Spielerdatei,"Bootschein",PlayerInfo[playerid][pBoot]); dini_IntSet(Spielerdatei,"Waffenschein 1",PlayerInfo[playerid][pWaffe1]); dini_IntSet(Spielerdatei,"Waffenschein 2",PlayerInfo[playerid][pWaffe2]); return 1; } public ResetVariablen(playerid) { PlayerInfo[playerid][pAdminlevel] = 0; PlayerInfo[playerid][pPremium] = 0; PlayerInfo[playerid][pFraktion] = 0; PlayerInfo[playerid][pLeader] = 0; PlayerInfo[playerid][pRank] = 0; PlayerInfo[playerid][pMember] = 0; PlayerInfo[playerid][pEingeloggt] = 0; PlayerInfo[playerid][pSkin] = 0; PlayerInfo[playerid][pRespect] = 0; PlayerInfo[playerid][pAlter] = 0; PlayerInfo[playerid][pGeschlecht] = 0; PlayerInfo[playerid][pLevel] = 0; PlayerInfo[playerid][pGeld] = 0; PlayerInfo[playerid][pAuto] = 0; PlayerInfo[playerid][pBike] = 0; PlayerInfo[playerid][pBoot] = 0; PlayerInfo[playerid][pFlug] = 0; PlayerInfo[playerid][pAngel] = 0; PlayerInfo[playerid][pWaffe1] = 0; PlayerInfo[playerid][pWaffe2] = 0; return 1; }
Ich habe auch gedacht das dass bei OnPlayerStateChange rein kommt da hab ich bis jetzt das:
CAlles anzeigenif(newstate == PLAYER_STATE_DRIVER) { if(PlayerInfo[playerid][pAuto] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Autoführerschein!"); return 1; } if(PlayerInfo[playerid][pBike] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!"); return 1; } if(PlayerInfo[playerid][pFlug] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Flugschein!"); return 1; } if(PlayerInfo[playerid][pBoot] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Bootsschein!"); return 1; } }
mir ist bewusst dass da noch die abfrage fehlt welches Fahrzeug es ist aber ich versteh noch nicht so ganz wie ich das schreibe.
Guck mal hier.
Da hast du genau, das richtige schon bekommen.
Alles anzeigenHier hast du eine Liste von allen modelids: https://sampwiki.blast.hk/wiki/Vehicles:All
Hier z.B. nur von Bikes: https://sampwiki.blast.hk/wiki/Vehicles:Bikes
C++Alles anzeigennew vehID = GetPlayerVehicleID(playerid); new model = GetVehicleModel(vehID); //Und dann brauchst z.B. Funktionen wie: stock bool:IsBike(model) { switch(model) { case 448, 461, 462, 463: return true; // etc } return false; }
Kannst OnPlayerStateChange nutzen
Gibt auch schon Includes, die das auflisten: https://sampforum.blast.hk/showthread.php?tid=243814 (GetVehicleType)
So kannst du genau, die Arten der Fahrzeuge im Script Abfragen
Das erste Bild, müsste der Aufzugschacht vom FIB Tower Interior sein IPL in Brand.
Der ist kein Juwelier sondern Graumarkthändler, aber eben ein sehr guter lel
Hat er nur Juwelien, oder auch noch mehr im Angebot ?
Moin. Nächste Woche geht's nach Oberstaufen. Vielleicht noch einen Abstecher zum Bodensee.
Ich war selber auch schonmal am Bodensee ist echt schön da.
CPU: AMD Ryzen 7 7800X3D
GPU: 4070 Ti OC Asus Rog Strix
Arbeitspeicher: 32 GB Kit DDR5 Dominator Titanium
Mainbord: Asus Rog Strix B650E-E Gaming WIFI
Sollte für das, was du machst, locker aussreichen.
Hallo