Hey !
Mein ganzes Script funktioniert nicht richtig :\
Problem 1: Makeleader
Wenn ich dann einen Befehl der entsprechenden Fraktion mache , bekomme ich die Meldung , das man nicht in der Fraktion ist , man wird nicht respawnt mit richtigen Skin/Waffen
ocmd:makeleader(playerid,params[])
{
new pID;
new frak;
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
if(IsPlayerAnAdmin(playerid,3))
{
if(sscanf(params,"ui",pID,frak))return SendClientMessage(playerid,Rot,"Fehler: /makeleader [ID/Name] [FraktionsID] \nFraktionsID's: 1 - Terror | 2 - San News | 3 Terror");
{
//SendClientMessage(playerid,Rot,"FraktionsID's: 1 - Terror | 2 - San News | 3 Terror");
if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Der Spieler exisitert nicht !");
{
if(dini_Int(Spieler,"Fraktion")!=0)return SendClientMessage(playerid,Rot,"Der Spieler ist bereits in einer Fraktion.");
{
if(dini_Int(Spieler,"Fraktion")==frak && dini_Int(Spieler,"Fraktionsrang")>=4)return SendClientMessage(playerid,Rot,"Der Spieler ist bereits Leader der Fraktion!");
{
dini_IntSet(Spieler,"Fraktionsrang",5);
dini_IntSet(Spieler,"Fraktion",frak);
new string[256];
new string2[256];
format(string,sizeof(string),"Du hast %s zu dem Leader der Fraktion %i gemacht !",PlayerName(pID),frak);
format(string2,sizeof(string2),"Du wurdest von %s zu dem Leader der Fraktion %i gemacht !",PlayerName(playerid),frak);
SendClientMessage(playerid,Gruen,string);
SendClientMessage(pID,Gruen,string2);
SpielerSpeichern(pID);
SpielerLaden(pID);
//SetSpawnInfo(pID,0,220-548.3002,2593.3633,53.7338,269.8591,0,0,0,0,0,0);
SpawnPlayer(pID);
}
}
}
}
}
else
{
SendClientMessage(playerid,Rot,"Du bist nicht befugt diesen Befehl zu benutzen.");
return 1;
}
return 1;
}
{
new pID;
new frak;
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
if(IsPlayerAnAdmin(playerid,3))
{
if(sscanf(params,"ui",pID,frak))return SendClientMessage(playerid,Rot,"Fehler: /makeleader [ID/Name] [FraktionsID] \nFraktionsID's: 1 - Terror | 2 - San News | 3 Terror");
{
//SendClientMessage(playerid,Rot,"FraktionsID's: 1 - Terror | 2 - San News | 3 Terror");
if(pID == INVALID_PLAYER_ID)return SendClientMessage(playerid,Rot,"Der Spieler exisitert nicht !");
{
if(dini_Int(Spieler,"Fraktion")!=0)return SendClientMessage(playerid,Rot,"Der Spieler ist bereits in einer Fraktion.");
{
if(dini_Int(Spieler,"Fraktion")==frak && dini_Int(Spieler,"Fraktionsrang")>=4)return SendClientMessage(playerid,Rot,"Der Spieler ist bereits Leader der Fraktion!");
{
dini_IntSet(Spieler,"Fraktionsrang",5);
dini_IntSet(Spieler,"Fraktion",frak);
new string[256];
new string2[256];
format(string,sizeof(string),"Du hast %s zu dem Leader der Fraktion %i gemacht !",PlayerName(pID),frak);
format(string2,sizeof(string2),"Du wurdest von %s zu dem Leader der Fraktion %i gemacht !",PlayerName(playerid),frak);
SendClientMessage(playerid,Gruen,string);
SendClientMessage(pID,Gruen,string2);
SpielerSpeichern(pID);
SpielerLaden(pID);
//SetSpawnInfo(pID,0,220-548.3002,2593.3633,53.7338,269.8591,0,0,0,0,0,0);
SpawnPlayer(pID);
}
}
}
}
}
else
{
SendClientMessage(playerid,Rot,"Du bist nicht befugt diesen Befehl zu benutzen.");
return 1;
}
return 1;
}
Problem 2: Spawns
Man wird nicht mit dem richtigen Skin/waffen gespawnt !
public OnPlayerSpawn(playerid)
{
StopAudioStreamForPlayer(playerid);
inKamera[playerid]=false;
KameraGelegt[playerid]=false;
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(ersterspawn[playerid]==true)
{
SetPlayerColor(playerid,Weiss);
TutTime[playerid] = 2;
TutTimer[playerid] = SetTimerEx("Tutorial",1000,1,"i",playerid);
TogglePlayerControllable(playerid,false);
SetPlayerCameraPos(playerid,829.5406,-2067.8027,12.9786);
SetPlayerCameraLookAt(playerid,828.4743,-2070.1067,14.4608);
SetPlayerPos(playerid,0.0,0.0,0.5); // Tutorial Position
ersterspawn[playerid]=false;
}
else
{
if(IsPlayerInFraktion(playerid,0))
{
SetPlayerSkin(playerid,137);
SetPlayerColor(playerid,Weiss);
SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
SetCameraBehindPlayer(playerid);
//SetPlayerPos(playerid,-532.09960938,2636.19921875,53.09999847);
}
if(IsPlayerInFraktion(playerid,1))//TERROR
{
SetPlayerColor(playerid,Weiss);
GivePlayerWeapon(playerid,18,10);
SetPlayerSkin(playerid,220);
SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
SetCameraBehindPlayer(playerid);
}
if(IsPlayerInFraktion(playerid,2))//SAN NEWS
{
SetPlayerColor(playerid,Weiss);
GivePlayerWeapon(playerid,43,25);
SetPlayerSkin(playerid,150);
SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
SetCameraBehindPlayer(playerid);
}
if(IsPlayerInFraktion(playerid,3))
{
SetPlayerColor(playerid,Weiss);
GivePlayerWeapon(playerid,27,50);
GivePlayerWeapon(playerid,31,120);
GivePlayerWeapon(playerid,24,50);
GivePlayerWeapon(playerid,17,100);
SetPlayerSkin(playerid,285);
SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
SetCameraBehindPlayer(playerid);
}
}
knacker[playerid]=false;
SetTimerEx("checkparea", 1500, 1,"i",playerid);
SetTimerEx("weapontest",1000,1,"i",playerid);
SetTimerEx("rcladenkaufpunkttimer",2000,1,"i",playerid);
SetTimerEx("lspdeingangtimer",1000,1,"i",playerid);
//SetPlayerHealth(playerid,dini_Float(Spieler,"Leben"));*/
return 1;
}
public OnPlayerSpawn(playerid)
{
StopAudioStreamForPlayer(playerid);
inKamera[playerid]=false;
KameraGelegt[playerid]=false;
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(ersterspawn[playerid]==true)
{
SetPlayerColor(playerid,Weiss);
TutTime[playerid] = 2;
TutTimer[playerid] = SetTimerEx("Tutorial",1000,1,"i",playerid);
TogglePlayerControllable(playerid,false);
SetPlayerCameraPos(playerid,829.5406,-2067.8027,12.9786);
SetPlayerCameraLookAt(playerid,828.4743,-2070.1067,14.4608);
SetPlayerPos(playerid,0.0,0.0,0.5); // Tutorial Position
ersterspawn[playerid]=false;
}
else
{
if(IsPlayerInFraktion(playerid,0))
{
SetPlayerSkin(playerid,137);
SetPlayerColor(playerid,Weiss);
SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
SetCameraBehindPlayer(playerid);
//SetPlayerPos(playerid,-532.09960938,2636.19921875,53.09999847);
}
if(IsPlayerInFraktion(playerid,1))//TERROR
{
SetPlayerColor(playerid,Weiss);
GivePlayerWeapon(playerid,18,10);
SetPlayerSkin(playerid,220);
SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
SetCameraBehindPlayer(playerid);
}
if(IsPlayerInFraktion(playerid,2))//SAN NEWS
{
SetPlayerColor(playerid,Weiss);
GivePlayerWeapon(playerid,43,25);
SetPlayerSkin(playerid,150);
SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
SetCameraBehindPlayer(playerid);
}
if(IsPlayerInFraktion(playerid,3))
{
SetPlayerColor(playerid,Weiss);
GivePlayerWeapon(playerid,27,50);
GivePlayerWeapon(playerid,31,120);
GivePlayerWeapon(playerid,24,50);
GivePlayerWeapon(playerid,17,100);
SetPlayerSkin(playerid,285);
SetPlayerPos(playerid,dini_Float(Spieler,"X"),dini_Float(Spieler,"Y"),dini_Float(Spieler,"Z"));
SetPlayerInterior(playerid,dini_Int(Spieler,"Interior"));
SetCameraBehindPlayer(playerid);
}
}
knacker[playerid]=false;
SetTimerEx("checkparea", 1500, 1,"i",playerid);
SetTimerEx("weapontest",1000,1,"i",playerid);
SetTimerEx("rcladenkaufpunkttimer",2000,1,"i",playerid);
SetTimerEx("lspdeingangtimer",1000,1,"i",playerid);
//SetPlayerHealth(playerid,dini_Float(Spieler,"Leben"));*/
return 1;
}
Problem 3: Speichern
Die Sachen werden immer falsch gespeichert! zB Adminlevel=0
public savetimer(playerid)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
GetPlayerPos(playerid,sSpieler[playerid][XPosition],sSpieler[playerid][YPosition],sSpieler[playerid][ZPosition]);
if(dini_Exists(Spieler))
{
new Float:leben;
dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
dini_FloatSet(Spieler,"Leben",GetPlayerHealth(playerid,leben)*100);
dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
dini_IntSet(Spieler,"Fraktionsrang",sSpieler[playerid][Fraktionsrang]);
dini_FloatSet(Spieler,"X",sSpieler[playerid][XPosition]);
dini_FloatSet(Spieler,"Y",sSpieler[playerid][YPosition]);
dini_FloatSet(Spieler,"Z",sSpieler[playerid][ZPosition]);
dini_IntSet(Spieler,"Interior",GetPlayerInterior(playerid));
dini_FloatSet(Spieler,"KameraX",0);
dini_FloatSet(Spieler,"KameraY",0);
dini_FloatSet(Spieler,"KameraZ",-100);
dini_IntSet(Spieler,"Kamera",0);
dini_IntSet(Spieler,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spieler,"Wanteds",GetPlayerWantedLevel(playerid));
}
}
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
GetPlayerPos(playerid,sSpieler[playerid][XPosition],sSpieler[playerid][YPosition],sSpieler[playerid][ZPosition]);
if(dini_Exists(Spieler))
{
new Float:leben;
dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
dini_FloatSet(Spieler,"Leben",GetPlayerHealth(playerid,leben)*100);
dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
dini_IntSet(Spieler,"Fraktionsrang",sSpieler[playerid][Fraktionsrang]);
dini_FloatSet(Spieler,"X",sSpieler[playerid][XPosition]);
dini_FloatSet(Spieler,"Y",sSpieler[playerid][YPosition]);
dini_FloatSet(Spieler,"Z",sSpieler[playerid][ZPosition]);
dini_IntSet(Spieler,"Interior",GetPlayerInterior(playerid));
dini_FloatSet(Spieler,"KameraX",0);
dini_FloatSet(Spieler,"KameraY",0);
dini_FloatSet(Spieler,"KameraZ",-100);
dini_IntSet(Spieler,"Kamera",0);
dini_IntSet(Spieler,"Skin",GetPlayerSkin(playerid));
dini_IntSet(Spieler,"Wanteds",GetPlayerWantedLevel(playerid));
}
}
Problem 4: /Verbrecher
Der Befehl funzt nicht , es wird auch keine Nachricht ausgegeben :o
ocmd:verbrecher(playerid,params[])
{
if(isPlayerACop(playerid))
{
new string[64],
spielername[MAX_PLAYER_NAME];
SendClientMessage(playerid, 0xBFC0C2FF,"*========Verbrecher========*");
for(new i = 0; i < MAX_PLAYERS; i++)//eine schleife die durch alle spieler (MAX_PLAYERS) loopt
{
if(!IsPlayerConnected(i)) continue;
{
if(GetPlayerWantedLevel(i) >=1)//musst du natürlich auf die variable ändern in der du die wanteds des Spielers speicherst
{
GetPlayerName(i, spielername, MAX_PLAYER_NAME);
format(string, sizeof(string), "Verbrecher: %s | Wanteds: %d", spielername,GetPlayerWantedLevel(i));
SendClientMessage(playerid, 0xBFC0C2FF,string);
}
}
}
}
return 1;
}
Problem 5: Krankenhaus
Man soll , wenn man Hier wählt , vor dem Krankenhaus , und wenn man Unfall wählt, bei seinem todespunkt gespawnt werden!
TogglePlayerControllable(playerid, 0); // Das Bringt das der spieler gefrezzt ist = er kann sich nicht bewegen.
SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291); // Hier Stellt ihr ein wo euer spieler beim krankenhaus stehen soll
SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105); // Die Kamera Positision
SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119); //Die Kamera Blickrichtung
SetPlayerInterior(playerid, 0); // Das bringt das die Kamera nicht im haus ist
SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
SendClientMessage(playerid,Weiss,"Du bist nun im Krankenhaus. Du wirst gerade behandelt und darfst das Krankenhaus");
SendClientMessage(playerid,Weiss,"nicht verlassen bis die Ärtze mit der Untersuchung fertig sind. Im Durchschnitt");
SendClientMessage(playerid,Weiss,"dauert die Untersuchung 30 Sekunden.");
SendClientMessage(playerid,Weiss,"|_____________________|"); //Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
SetTimerEx("tot",30000,0,"i",playerid);
if(dialogid==Dialog_todesfrage)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(response==1)
{
SetPlayerPos(playerid, dini_Float(Spieler,"TotX"),dini_Float(Spieler,"TotY"),dini_Float(Spieler,"TotZ")); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
SetPlayerHealth(playerid,100); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
GivePlayerMoney(playerid, -2000); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
SendClientMessage(playerid,Weiss,"Du wurdest von den Sanitätern zu deinem Unfalls-");
SendClientMessage(playerid,Weiss,"ort gebracht.");
SendClientMessage(playerid,Weiss,"Kosten der Behandlung: 500$");
SendClientMessage(playerid,Weiss,"Kosten des Transports: 1500$");
SendClientMessage(playerid,Weiss,"|_____________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
}
if(response==0)
{
SetPlayerPos(playerid,1182.5331,-1324.3885,13.5793); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
SetPlayerFacingAngle(playerid,270.8170);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid,100); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
GivePlayerMoney(playerid, -500); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
SendClientMessage(playerid,Weiss,"Du wurdest entlassen.");
SendClientMessage(playerid,Weiss,"Kosten der Behandlung 500$");
SendClientMessage(playerid,Weiss,"|_____________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
}
}
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(response==1)
{
SetPlayerPos(playerid, dini_Float(Spieler,"TotX"),dini_Float(Spieler,"TotY"),dini_Float(Spieler,"TotZ")); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
SetPlayerHealth(playerid,100); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
GivePlayerMoney(playerid, -2000); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
SendClientMessage(playerid,Weiss,"Du wurdest von den Sanitätern zu deinem Unfalls-");
SendClientMessage(playerid,Weiss,"ort gebracht.");
SendClientMessage(playerid,Weiss,"Kosten der Behandlung: 500$");
SendClientMessage(playerid,Weiss,"Kosten des Transports: 1500$");
SendClientMessage(playerid,Weiss,"|_____________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
}
if(response==0)
{
SetPlayerPos(playerid,1182.5331,-1324.3885,13.5793); // Hier eintragen wo mann nachdem man aus den krankenhaus entlassen wurde spawn soll
SetPlayerFacingAngle(playerid,270.8170);
SetCameraBehindPlayer(playerid);
SetPlayerHealth(playerid,100); // Hier könnt ihr einsellen wie viel leben mann haben soll nachdem mann entlassen wurde
GivePlayerMoney(playerid, -500); // Ganz hinten kannst du einstellen wie viel geld mann verlieren soll das - heißt abziehen das + dazu "Kann auch ganz weggemacht werden"
SendClientMessage(playerid,Weiss,"|____ Krankenhaus ____|");
SendClientMessage(playerid,Weiss,"Du wurdest entlassen.");
SendClientMessage(playerid,Weiss,"Kosten der Behandlung 500$");
SendClientMessage(playerid,Weiss,"|_____________________|"); // Ihr Müsst nicht unbedingt diesen text nehmen ihr könnt ihn beliebig editieren oder einfach nur eine zeile behalten
}
}