Abend.
Beiträge von EL Shampoo
-
-
Linux Mint soll ganz gut sein, und nutze es selber auf mein Lapptop, und bin bis jetzt zufrieden mit.
Externer Inhalt youtu.beInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
Bei dem Befehl giveschein wird das Level abgefragt - nur dementsprechend beim Login nicht richtig in die Variable geladen
Achso bei dem befehl dachte erst es ging um die abfrage ob er schein hat oder nicht
-
Achso okay ich dachte das man dass einzeln abfragen muss. Ich werde es später mal so versuchen. Ich hab nur noch gemerkt das ich bei dem /giveschein Befehl den wir oben schon überarbeitet haben immer den Fehler ingame bekomm „das Level des Spielers ist zu niedrig“ das Level stimmt aber überein an was kann das den liegen?
Mit level wird da nix abgefragt
es wird nur geprüft ob er den schein hat oder nicht
1 = ja hat ein 0 = hat kein führe ereigniss aus
-
Dankeschön der warning ist jetzt weg. Ich habe jetzt auch alle ID's eingegeben und alles passt im Script allerdings wenn ich keine scheine hab, kann ich nach wie vor noch fahren. Weist du an was das liegen kann?
Code
Alles anzeigenif(newstate == PLAYER_STATE_DRIVER) { new vehID = GetPlayerVehicleID(playerid); new model = GetVehicleModel(vehID); if(IsCar(model) && PlayerInfo[playerid][pAuto] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Autoführerschein!"); return 1; } } if(newstate == PLAYER_STATE_DRIVER) { new vehID = GetPlayerVehicleID(playerid); new model = GetVehicleModel(vehID); if(IsBike(model) && PlayerInfo[playerid][pBike] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!"); return 1; } } if(newstate == PLAYER_STATE_DRIVER) { new vehID = GetPlayerVehicleID(playerid); new model = GetVehicleModel(vehID); if(IsPlane(model) && PlayerInfo[playerid][pFlug] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!"); return 1; } } if(newstate == PLAYER_STATE_DRIVER) { new vehID = GetPlayerVehicleID(playerid); new model = GetVehicleModel(vehID); if(IsBoat(model) && PlayerInfo[playerid][pBoot] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!"); return 1; } }
Du rufst auch immer wieder
auf, dass kann auch so nix werden.
Mache es mal so
Code
Alles anzeigennew vehID = GetPlayerVehicleID(playerid); new model = GetVehicleModel(vehID); if(newstate == PLAYER_STATE_DRIVER) { if(IsCar(model) && PlayerInfo[playerid][pAuto] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Autoführerschein!"); } else if(IsBike(model) && PlayerInfo[playerid][pBike] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!"); } else if(IsPlane(model) && PlayerInfo[playerid][pFlug] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!"); } else if(IsBoat(model) && PlayerInfo[playerid][pBoot] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein!"); } return 1; }
-
Ich habe jetzt folgendes gemacht:
ganz oben im Script
dann bei OnPlayerStateChange
Code
Alles anzeigenif(newstate == PLAYER_STATE_DRIVER) { if(PlayerInfo[playerid][pAuto] == 0) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,Grau,"Du hast keinen Autoführerschein!"); return 1; } if(IsBike(model) && 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; } }
und ganz unten im Script den stock
Codestock bool:IsBike(model) { switch(model) { case 448, 461, 462, 463: return true; // etc } return false; }
Jetzt habe ich das problem wenn ich den PAWN compiler öffne steht da garnichts.
Wenn ich das new etc was ich ganz oben stehen hab in OnPlayerStateChange einfüge, bekomm ich folgendes warning
die Zeile mit dem warning ist
//EDIT: Wenn ich das ganze jetzt inGame probiere passiert garnichts. Wenn ich den schein hab kann ich fahren genauso wenn ich keinen Schein hab.
setze denn stock
über
dann sollte der warning weg sein
-
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
Code
Alles anzeigenpublic 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; }
-
Ich habe jetzt folgendes:
der Befehl zum scheine geben
C
Alles 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:
C
Alles 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:
C
Alles 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.
Hier 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