Ok ich habe es probiert jetzt wird mir allerdings das car auch untern Arsch wegrespawnt ,
wie mach ich das das es dann nicht respawnt wird wenn ich drauf sitze ?
Ok ich habe es probiert jetzt wird mir allerdings das car auch untern Arsch wegrespawnt ,
wie mach ich das das es dann nicht respawnt wird wenn ich drauf sitze ?
Also jetzt bekomm ich jedenfalls keine Errors mehr ich teste es dann nachher und lass euch das Ergebnis wissen
Danke
wenn ich das so ein baue bekomm ich folgende Errors:
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17646) : error 001: expected token: "*then", but found "{"
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17651) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17653) : error 017: undefined symbol "i"
ich habe mein dcmd Befehl mal rausgenommen es ist imemr noch das selbe.
Wnn ich ganz unten bei OnPlayerCommand ein return 1; schreibe was muss ich dann ans ende der Befehle schreiben
ich habe mal alle Warnings in eine txt kopiert (siehe anhang)
/edit2
jetzt habe ich es geschaft das sich nur noch eine Person einloggen kann und wenn sich der 2. einloggen will geht garkein Befehl mehr
das selbe auch bei /register einmal benutzt geht beim zweiten mal geht garnix mehr
if (strcmp(cmd, "/login", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
new tmppass[64];
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /login [passwort]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
return 0;
}
if (strcmp(cmd, "/register", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "Dieser Name ist schon vergeben! Bitte benutze einen anderen.");
fclose(hFile);
return 1;
}
new tmppass[64];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /register [passwort]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
return 1;
}
egal ob so oder so
if (strcmp(cmd, "/login", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
new tmppass[64];
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /login [passwort]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
return 1;
}
if (strcmp(cmd, "/register", true) ==0 )
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: Du bist bereits eingeloggt.");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "Dieser Name ist schon vergeben! Bitte benutze einen anderen.");
fclose(hFile);
return 1;
}
new tmppass[64];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /register [passwort]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
return 0;
}
Ich habe seit kurzen einen tban BEfhl mit dcmd drin und da dieser vermutlich der auslöser dafür ist das kein Befehl mehr Funktioniert habe ich probiert diesen umzuschreiben sprich ganz normal , allerdings habe ich es nicht geschaft und wollte Fragen ob mir jemand helfen kann. (bevor gefragt wird ja GF edit script)
hier der Code
dcmd_tban(playerid,params[])
{
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 3)
{
new string[128], source[32], minutes, reason[64], playername[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME], giveplayerid;
if(sscanf(params,"sds",source,minutes,reason))
{
SendClientMessage(playerid,0xFFFFFFFF," FEHLER: /tban [playerid/ip] [Zeit(Minuten)] [Grund]");
return 1;
}
if(strlen(source) > 3)
{
GetPlayerName(playerid,playername,sizeof(playername));
printf(" Admin %s hat die IP %s für %d Minuten gebannt. Grund: %s",playername,source,minutes,reason);
format(string,sizeof(string)," Du hast die IP %s für %d Minuten gebannt. Grund: %s",source,minutes,reason);
SendClientMessage(playerid,0x00FF00FF,string);
AddTempBan(source,minutes);
}
else
{
giveplayerid = strval(source);
if(!IsPlayerConnected(giveplayerid))
{
SendClientMessage(playerid,0xFF0000FF," Der Spieler ist nicht online!");
return 1;
}
GetPlayerIp(giveplayerid,source,sizeof(source));
GetPlayerName(playerid,playername,sizeof(playername));
GetPlayerName(giveplayerid,giveplayername,sizeof(giveplayername));
format(string,sizeof(string)," Admin %s hat %s für %d Minuten gebannt. Grund: %s",playername,giveplayername,minutes,reason);
SendClientMessageToAll(0x00FF00FF,string);
printf(" Admin %s hat den Spieler %s mit der IP %s für %d Minuten gebannt. Grund: %s",playername,giveplayername,source,minutes,reason);
AddTempBan(source,minutes);
Kick(giveplayerid);
}
}
return 1;
}
Vielen Dank im Vorraus
so jetzt Funktionieren einige Befehle und andere sind immer noch kaputt und wenn ich einen der kaputten eingebe geht kein Befehl mehr
/edit
Und wenn ich einen Befehl eingebe der Funktioniert steht da immer Server Unknow Comment oder so ähnlich
also das ist mein letzter Befehl und der klammer die OnPlayerCommand zu macht
if(strcmp(cmd, "/contract", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /contract [spielerid/teildesnamens] [betrag]");
return 1;
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Verwendung: /contract [spielerid/teildesnamens] [betrag]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1500 || moneys > 1000000) { SendClientMessage(playerid, COLOR_GREY, "Der Betrag kann nicht unter 10000$ und über 100000$ sein"); return 1; }
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(gTeam[giveplayerid] == 2 && moneys != 100000)
{
SendClientMessage(playerid, COLOR_GREY, "Ein Auftragskill an einem Polizisten kostet 100000$!");
return 1;
}
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst wählen!"); return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys)
{
GivePlayerMoney(playerid, (0 - moneys));
PlayerInfo[giveplayerid][pHeadValue]+=moneys;
format(string, sizeof(string), "%s hat einen Auftragskill für %s für %d$ in die Wege geleitet.",sendername, giveplayer, moneys);
SendFamilyMessage(8, COLOR_YELLOW, string);
format(string, sizeof(string), "* Du hast einen Auftragskill für %s für %d$ eingeleitet.",giveplayer, moneys);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Ungültiger Betrag.");
}
}
}
else
{
format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
dcmd(tban,4,cmdtext);
return 0;
}
muss ich bei dem letzten return eine 1 hinschreiben ?
Das Thema ist zwar schon alt allerdings hat mein Problem etwas damit zu tun undzwar hatte ich erst das Problem wie oben beschrieben und kaum das gelöst habe ich ein neues Problem.
Und wenn ich nun ein Befehl zweimal eingebe geht wieder nix. Sprich einmal geht der Befehl wenn ich den dann nochmal eingebe geht garkein Befehl mehr
kann mir niemand helfen ?
ich habe nun folgendes
if(strcmp(cmd,"/respawnfv",true)==0)
{
if (PlayerInfo[playerid][pLeader] == 8)
{
{
for(new i; i < 20; i++)
{
if IsPlayerInVehicle(playerid, i);
{
}
}
else
{
SetVehicleToRespawn(Hitman[i]);
}
}
}
return 1;
}
und der spuckt mir diese Errors aus ->
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(16722) : warning 217: loose indentation
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(16753) : warning 217: loose indentation
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17377) : error 001: expected token: "*then", but found ";"
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17377) : error 036: empty statement
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17378) : warning 217: loose indentation
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17382) : error 029: invalid expression, assumed zero
C:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\Server\gamemodes\gf.pwn(17384) : error 017: undefined symbol "i"
wie mach ich das ob jemand drin sitzt ?
Ok werde ich mal probieren wobei dein Name nicht sehr vertrauensvoll klingt
/edit
werden da aber nicht alle respawnt ? weil was ist wenn noch jemand drin sitzt ?
Ich möchte ein carrespawnbefehl einen bauen der nur die Cars Respawnt wo im Script Hitman[]= vor steht
Hitman[0]=AddStaticVehicleEx(560,-1007.8058,-698.8644,31.7060,180.3969,0,0,-1); // Sultan Hitman
Hitman[1]=AddStaticVehicleEx(560,-1002.9505,-698.9523,31.7133,181.2899,0,0,-1); // Sultan Hitman
ich weiß nicht so wirklich wie ich das hinbekomme das alle cars respawn werden die dieses Hitman davor zu stehen haben.
ich habe nicht so die Ahnung aber ich würde sagen das liegt am Filterscript
ok habe den Fehler gefunden habe ausversehen das /new weggemacht
Ich habe folgenden Error :
ZitatC:\Dokumente und Einstellungen\-Florian-\Eigene Dateien\Downloads\MrIllusion\MrIllusion\gamemodes\eRPnew-problem.pwn(1927) : error 004: function "SetPlayerToTeamColor" is not implemented
und so sieht die Zeile aus:
if(Spectate[i] == 253)
{
TogglePlayerControllable(i, 1);
TogglePlayerSpectating(i, 0);
SetPlayerInterior(i,Unspec[i][sPint]);
PlayerInfo[i][pInt] = Unspec[i][sPint];
PlayerInfo[i][pLocal] = Unspec[i][sLocal];
Unspec[i][sLocal] = 255;
SetSpawnInfo(i, PlayerInfo[i][pTeam], PlayerInfo[i][pModel], Unspec[i][sPx], Unspec[i][sPy], Unspec[i][sPz]-1.0, 1.0, -1, -1, -1, -1, -1, -1);
gTeam[i] = PlayerInfo[i][pTeam];
SetPlayerToTeamColor(i); // das ist die Error Zeile
MedicBill[i] = 0;
if(PlayerInfo[i][pDonateRank] > 0)
{
SetSpawnInfo(i, PlayerInfo[i][pTeam], PlayerInfo[i][pModel], Unspec[i][Coords][0], Unspec[i][Coords][1], Unspec[i][Coords][2], 10.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(i);
SetCameraBehindPlayer(i);
}
else
{
SpawnPlayer(i);
}
Spectate[i] = 255;
}
und so sieht das public dazu aus:
public SetPlayerToTeamColor(playerid)
{
if(IsPlayerConnected(playerid))
{
if (PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pLeader] == 0)
SetPlayerColor(playerid,COLOR_WHITE);
if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
SetPlayerColor(playerid,0x0000FFFF);
if (PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)
SetPlayerColor(playerid,0x0000FFFF);
if (PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13)
SetPlayerColor(playerid,COLOR_BBLUE);
if (PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14)
SetPlayerColor(playerid,0xFFD700FF);
if (PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12)
SetPlayerColor(playerid,COLOR_PINK);
if (PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
SetPlayerColor(playerid,0x0000FFFF);
if (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
SetPlayerColor(playerid,0xFF9B9BFF);
if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)
SetPlayerColor(playerid,0xFF7F00FF);
if (PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)
SetPlayerColor(playerid,0x33AA33AA);
if (PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)
SetPlayerColor(playerid,0x9ACD32FF);
if (PlayerInfo[playerid][pMember] == 8 || PlayerInfo[playerid][pLeader] == 8)
SetPlayerColor(playerid,0x8E2323FF);
if (PlayerInfo[playerid][pMember] == 9 || PlayerInfo[playerid][pLeader] == 9)
SetPlayerColor(playerid,0xEFC6FFFF);
if (PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10)
SetPlayerColor(playerid,0xFFFF00FF);
if (PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)
SetPlayerColor(playerid,0x00F5FFFF);
if (PlayerInfo[playerid][pMember] == 15 || PlayerInfo[playerid][pLeader] == 15)
SetPlayerColor(playerid,0xBFEFFFFF);
}
}
wo liegt mein Fehler ? (und ja ist GF )
Hi,
ich wollte mal Fragen ob es möglich ist das man Objekte einbaut die nur von Admins gesehen werden können ?
ich kann dir die Frage nicht beantworten aber ich schreibe es mal das es jeder versteht
Er möchte wissen ob es geht das das Register/Login System im Filterscipt ist und er dann im Gamemode diese Variablen wie z.B. pInfo benutzten kann. Ja ich glaube so ungefähr das meint er.
Ich kenn mich zwar nicht allzu gut aus aber ich glaube das geht nicht, ich hatte mal ein Filterscript (Adminsystem) gesehen glaube sogar hier im Forum was man dann mit include usw. in dem Gamemode einfügen musste.
Auf jeden Fall Viel Erfolg
Also wenn da steht Pawno hat ein Fehler festgestellt und muss beendet werden und es passiert 30min nix mehr ich glaube schon das er dann abgestürtzt ist
aber ich schau mal ob ich irgentwo ein Klammerfehler hab. (sehen uns dann in 3-4 Jahren )
/edit
gibt es irgenteine möglichkeit herrauszufinden wo dieser Fehler ist oder muss ich jetzt echt Zeile für Zeile durch gehen.
/edit2
ok Fehler gefunden blöde Klammer wo kam die her