Zeig uns mal wie du es gemacht hast.
Beiträge von Enum
-
-
public sekunde(){
sek60 ++;
if(sek60==60)return sek60=0,Minute();
return 0;
}Klappt das so?
-
Zeig doch mal dein OnPlayerDeath & OnPlayerSpawn Callback.
-
Erstens: Kleiner | Zweitens: Schau dir mal die Funktion strcmp an, dort habe ich auch was verändert
Look
-
stock HatSpielerHaus(playerid){
new playername[MAX_PLAYER_NAME];GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
for(new h=0;h<sizeof(HouseInfo);h++)if(!strcmp(playername,HouseInfo[h][owner],true))return 1;
return 0;
}Versuch das mal so.
-
Das sind Sprites, Google das mal nach
-
Du musst das SetPlayerColor unter OnPlayerConnect einfügen, mein Fehler, Sorry
-
Gelber Kegel:
DisableInteriorEnterExits(); //OnGameModeInitStunt-Bonus:
EnableStuntBonusForAll(false); //OnGameModeInitSpieler-Farbe:
SetPlayerColor(playerid,-1); //OnPlayerConnect -
Hatte mir gerade einen kleinen Befehl gebastelt.
ocmd:checkwp(playerid,params[]){
new i=0,_w=0,Weapon[13][2];
for(;i<GetMaxPlayers();i++)for(;_w<13;_w++)GetPlayerWeaponData(i,_w,Weapon[_w][0],Weapon[_w][1]),printf("Weapon: %d | Ammo: %d",Weapon[_w][0],Weapon[_w][1]);
}
Ausgabe:Code[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 24 | Ammo: 500[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0[16:55:00] Weapon: 0 | Ammo: 0
-
if(!Autospawn){
new Float:_Pos[4],carid;
GetPlayerPos(playerid,_Pos[0],_Pos[1],_Pos[2]),GetPlayerFacingAngle(playerid,_Pos[3]);
carid=CreateVehicle(inputtext,_Pos[0],_Pos[1],_Pos[2],_Pos[3],-1,-1,600);
PutPlayerInVehicle(playerid,carid,0);
TogglePlayerControllable(playerid,1);
SendClientMessage(playerid,GRÜN,"Du hast ein Auto gespawnt. Mit {FFA000}Fahrzeug löschen{0FFF00} im Menü, kannst du es wieder Zerstören!");
return vehCar[carid]=true;
}
Du hast so wie ich das gesehen habe die Z-Angel vergessen -
OnGameModeInit:
UsePlayerPedAnims(); -
Gut, da liegt dann der Fehler
stock LoadAccount(playerid){
new Spielerdatei[64],name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(Spielerdatei,64,"/Accounts/%s.txt",name);
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld");
return 1;
}
So zum Beispiel könnte die Funktion aussehen. Du kannst sie erweitern und/oder ggf. anpassen. -
stock Login(playerid,key[]){
new Spielerdatei[64],name[MAX_PLAYER_NAME];GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(Spielerdatei,64,"/Accounts/%s.txt",name);
if(gettime()<dini_Int(Spielerdatei,"timeban"))return SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder."),Kick(playerid);
if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))return LoadAccount(playerid),SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen"),SendClientMessage(playerid,BLAU,"Falsches Passwort.");
}
So ist es kürzer, und zu deinem Fehler:
Hast du überhaupt eine Funktion im Script die sich LoadAccount nennt? -
stock setPlayerMoney(playerid,betrag)return ResetPlayerMoney(playerid),GivePlayerMoney(playerid,betrag);
stock LoadPlayer(playerid){
new Spieler[128];
format(Spieler,128,"/Spieler/%s.txt",getPlayerName(playerid));
PlayerDaten[playerid][geld]=dini_Int(Spieler,"Geld");
PlayerDatei[playerid][level]=dini_Int(Spieler,"Level");
setPlayerMoney(playerid,PlayerDaten[playerid][geld]);
SetPlayerScore(playerid,PlayerDaten[playerid][level]);
return 1;
}
Schön kurz und richtig -
Etwas kürzer
ocmd:veh(playerid,params[]){
new model,farbe1,farbe2,string[128],Float:_Pos[3];
if(SpielerInfo[playerid][pAdmin]<2)return SendClientMessage(playerid,COLOR_RED,"Du hast nicht die nötigen Rechte!");
if(sscanf(params,"iii",model,farbe1,farbe2))return SendClientMessage(playerid,COLOR_WHITE,"{19FF00}Verwende:{0041FF} /veh [ModelID] [Farbe1] [Farbe2]");
if(model<400||model>611)return SendClientMessage(playerid,COLOR_RED,"ModelID ungültig! Wert darf nicht unter 400 und über 611 liegen!");
if(farbe1<0||farbe1>139)return SendClientMessage(playerid,COLOR_RED,"Auto Farbe1 kann nicht weniger als 0 oder mehr als 139 sein!");
if(farbe2<0||farbe2>126)return SendClientMessage(playerid,COLOR_RED,"Auto Farbe2 kann nicht weniger als 0 oder mehr als 126 sein!");
GetPlayerPos(playerid,_Pos[0],_Pos[1],_Pos[2]);
carid=CreateVehicle(model,_Pos[0],_Pos[1],_Pos[2],0,farbe1,farbe2,-1);
CreatedCars[CreatedCar]=carid;
SetVehicleVirtualWorld(carid,GetPlayerVirtualWorld(playerid));
LinkVehicleToInterior(carid,GetPlayerInterior(playerid));
CreatedCar ++;
PutPlayerInVehicle(playerid,carid,0);
return format(string,128,"Fahrzeug %i (Carid: %i) gespawnt!",model,carid),SendClientMessage(playerid,0x00FF32FF,string);
} -
Was ich mich Frage:
Warum hast du als ModelID ein s (=String) stehen? -
Ich habe es dir doch da bereits reingeschrieben :
return SetPVarInt(playerid,"Job",1),SpielerSpeichern(playerid);Wenn du Fragen hast -> Melde dich!
-
ocmd@2:supoorterchat,sc(playerid,params[]){
if(PlayerInfo[playerid][pAdmin]<1)return 1;
new text[200],sname[MAX_PLAYER_NAME],string1[128];GetPlayerName(playerid,sname,MAX_PLAYER_NAME);
if(sscanf(params,"s[200]",text))return SendClientMessage(playerid,knallrot,"Benutzung: /spporterchat(/sc) [Text]");
if(PlayerInfo[playerid][pAdmin]==1)return format(string1,128,"Level 1 - Supporter %s: %s",sname,text),SendSCMessage(string1);
else if(PlayerInfo[playerid][pAdmin]==2)return format(string1,128,"Level 2 - Moderator %s: %s",sname,text),SendSCMessage(string1);
else if(PlayerInfo[playerid][pAdmin]==3)return format(string1,128,"Level 3 - Administrator %s: %s",sname,text),SendSCMessage(string1);
else if(PlayerInfo[playerid][pAdmin]==4)return format(string1,128,"Level 4 - Head Administrator %s: %s",sname,text),SendSCMessage(string1);
else if(PlayerInfo[playerid][pAdmin]==5)return format(string1,128,"Level 5 - Server Owner %s: %s",sname,text),SendSCMessage(string1);
return 1;
}
Wenn das so nicht geht, dann aktualisere mal die OCMD-Include. -
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[]){
if(dialogid==DIALOG_JOBS&&response){
if(listitem==0){
SendClientMessage(playerid,0xFFD200FF,"=> Job Info <=");
SendClientMessage(playerid,0xFFD200FF,"Es wurde auf der Map eine Makierung gesetzt");
SendClientMessage(playerid,0xFFD200FF,"Fahre nun dort hin und steige anschließend in einer der Fahrzeuge ein");
return SetPVarInt(playerid,"Job",1),SpielerSpeichern(playerid);
}
}
return 1;
}
So sollte es gehen
Wie du dein Spieler speichern lässt, musst du ggf. ergänzen bzw. ändern -