Ist das Tacho von mir?
Ich meine ich habe 1:1 das gleiche mal in meinem Textdraw Service verkauft.
Würde das Script auch gerne testen, aber lokal ging es bei mir auch erst mal nicht.
Schaue später noch mal beim hoster.
Hast du auch laggs?
Ist das Tacho von mir?
Ich meine ich habe 1:1 das gleiche mal in meinem Textdraw Service verkauft.
Würde das Script auch gerne testen, aber lokal ging es bei mir auch erst mal nicht.
Schaue später noch mal beim hoster.
Hast du auch laggs?
Ich denke nicht das es am Script liegt, weil ich die Probleme nie hatte. Versuch es mal mit einem anderem Server...
Hab es nie lokal getestet, sondern hatte einen Server zur Verfügung gestellt bekommen.
Ich bezweifle es, warum funktioniert bei mir Life of SA Skript einwandfrei und Lagfrei? Das Skript hat über 200.000 Zeilen..
Alles anzeigen@Oskar.Schindler danke dir sowie @shoxinat0r habe das ganze hier leider vergessen und war nicht online.
Danke,
Ich habe keine Probleme?
Wie soll ich dir da bitte weiterhelfen, musst schon sagen was nicht klappt.
@Oskar.Schindler danke dir sowie @shoxinat0r habe das ganze hier leider vergessen und war nicht online.
Danke,
Ich habe keine Probleme?
Wie soll ich dir da bitte weiterhelfen, musst schon sagen was nicht klappt.
Siehe Video, schade das es lagt finde das Skript richtig geil..
Woran kann es liegen? Welchen XAMPP Version hast du?
Du hast ja auch noch nicht das getan...was ich am Anfangs post geschrieben hatte
Klar habe mir profiler geholt aber wo stehen jetzt die Errors?
/e
hier ein Video dazu:
Nein...so:
if(setfrakid < 0 || setfrakid > 11) return SendClientMessage(playerid,GRAU,"Bitte gültigen Fraktions-ID eingeben!");
Danke jedoch lagt das Skript immer noch weiter, auch wenn ich nur ganz normal schreibe...
Okay
Hier ist der Fehler.
Also FrakInfo ist auf 12 deklariert. Du willst aber jemanden in Frak 89 setzen...diese Frak existiert natürlich nicht und dementsprechend failt das.
Du musst eine Abfrage einbauen, ob der Wert von setfrakid auch 0-11 ist
C:\Users\xxx\Desktop\Test\gamemodes\aw1337.pwn(7468) : warning 213: tag mismatch
C:\Users\xxx\Desktop\Test\gamemodes\aw1337.pwn(7468) : warning 206: redundant test: constant expression is non-zero
if(leader>11)return SendClientMessage(playerid,GRAU,"Bitte gültigen Fraktions-ID eingeben!");
So?
Weil laut der Fehlermeldung du irgendwie sowas machst:
Cnew test[12]; //Hast ein Array mit 12 Elementen new alevel = 89; //Das ist der index auf den du zugreifen willst test[alevel] = 5; //Das geht natürlich nicht, da du nur 12 (0-11) indizes hast, aber auf den 89 zugreifen willst.
In deinem Code allerdings...sehe ich weder ein Array mit 12 Elementen, noch dass du irgendwo alevel als index benutzt
Hast du mal dein Skript neu compilt und den Server neu gestartet?
Ja , tut mir leid ich meinte /makeleader keine Ahnung warum es in der Server.exe makeadmin stand...
ocmd:makeleader(playerid,params[])
{
new pid,pidname[MAX_PLAYER_NAME],msg1[444],msg2[444],setfrakid;
if(!IsAdmin(playerid,3))return noaccess
if(sscanf(params,"ui",pid,setfrakid))return SendClientMessage(playerid,GRAU,"Verwendung: /makeleader (Spieler/ID) (FraktionsID)");
if(!PlayerOnline(pid))
{
if(sscanf(params,"si",pidname,setfrakid))return SendClientMessage(playerid,GRAU,"Der Spieler ist offline, daher: /makeleader (SpielerNAME) (FraktionsID)");
if(mysql_CheckAccountNAME(pidname)==0)return SendClientMessage(playerid,GRAU,"Dieser Spieler wurde in der Datenbank nicht gefunden.");
if(setfrakid!=0)return SendClientMessage(playerid,GRAU,"Der Spieler kann Offline nur auf FRAKTIONSID:0 gesetzt werden.");
format(msg1,sizeof(msg1),"Du hast %s (Offline) zum Leader der Fraktion %s gemacht.",pidname,setfrakid);
if(setfrakid==0)format(msg1,sizeof(msg1),"Du hast %s (Offline) zum Leader der Fraktion Zivilisten gemacht.",pidname);
SendClientMessage(playerid,GRUEN,msg1);
mysql_SetInt("spieler", "leader", 0, "name",pidname);
mysql_SetInt("spieler", "fraktion", 0, "name",pidname);
return 1;
}
pInfo[pid][fraktion]=setfrakid;
pInfo[pid][leader]=setfrakid;
pInfo[pid][frang]=FrakInfo[setfrakid][maxrangs];
format(msg1,sizeof(msg1),"Du hast %s zum Leader der Fraktion %s gemacht.",PlayerName(pid),FrakInfo[setfrakid][frakname]);
if(setfrakid==0)format(msg1,sizeof(msg1),"Du hast %s zum Leader der Fraktion Zivilisten gemacht.",PlayerName(pid));
format(msg2,sizeof(msg2),"%s %s hat dich zum Leader der Fraktion/Gang %s gemacht.",RangName(playerid),PlayerName(playerid),FrakInfo[setfrakid][frakname]);
if(setfrakid==0)format(msg2,sizeof(msg2),"%s hat dich als Leader entlassen!",PlayerName(playerid));
SendClientMessage(playerid,HBLAU,msg1);
SendClientMessage(pid,HBLAU,msg2);
pInfo[pid][ziviskin]=pInfo[pid][skin];
switch(setfrakid)
{
case 0:
{
SetPlayerColor(pid, COLOR_PLAYER_SPIELER);
/*
pInfo[pid][skin]=pInfo[pid][ziviskin];
*/
pInfo[playerid][ziviskin]=217;
SetPlayerSkin(pid,217);
SendClientMessage(pid, HBLAU, "Du bist nun Zivilist.");
/*
SetSpawnInfo(pid, 0, pInfo[playerid][ziviskin], 0.0, 0.0, 0.0, 0.0, 0,0,0,0,0,0);
*/
}
case 1:
{
pInfo[pid][skin]=187;
SetPlayerSkin(pid,187);
SetPlayerColor(playerid, COLOR_PLAYER_SPIELER);
}
case 2:
{
pInfo[pid][skin]=283;
SetPlayerSkin(pid,283);
SetPlayerColor(playerid, COLOR_PLAYER_SPIELER);
}
case 3:
{
pInfo[pid][skin]=294;
SetPlayerSkin(pid,294);
SetPlayerColor(playerid, COLOR_PLAYER_SPIELER);
}
case 4:
{
pInfo[pid][skin]=71;
SetPlayerSkin(pid,71);
SetPlayerColor(pid, 0x00FFFFFF);
}
case 5:
{
pInfo[pid][skin]=227;
SetPlayerSkin(pid,227);
SetPlayerColor(pid, 0xFF5A00FF);
}
case 6:
{
pInfo[pid][skin]=275;
SetPlayerSkin(pid,275);
SetPlayerColor(pid, 0xE00000FF);
}
case 7:
{
pInfo[pid][skin]=107;
SetPlayerSkin(pid,107);
SetPlayerColor(playerid, COLOR_PLAYER_SPIELER);
}
case 8:
{
pInfo[pid][skin]=293;
SetPlayerSkin(pid,293);
SetPlayerColor(playerid, COLOR_PLAYER_SPIELER);
}
case 9:
{
pInfo[pid][skin]=108;
SetPlayerSkin(pid,108);
SetPlayerColor(playerid, COLOR_PLAYER_SPIELER);
}
case 10:
{
pInfo[pid][skin]=230;
SetPlayerSkin(pid,230);
SetPlayerColor(playerid, COLOR_PLAYER_SPIELER);
}
}
return 1;
}
Und bei /aduty lagt es ebenso aber es steht nichts in der Server.exe über aduty o.Ä
ocmd:aduty(playerid,params[])
{
new str[128],str2[128];
if(!IsAdmin(playerid,1))return noaccess
if(AdminDuty[playerid]==0)
{
format(str,sizeof(str),"* %s %s meldet sich zum Support an.",RangName(playerid),PlayerName(playerid));
SetPlayerHealth(playerid, 9999);
SendClientMessageToAll(0xE10000FF,str);
SetPlayerColor(playerid, 0xFF0000FF);
AdminDuty[playerid]=1;
format(str2,sizeof(str2),"%s im Dienst",RangName(playerid));
adutylabel[playerid]=Create3DTextLabel(str2,ROT,0.0,0.0,0.0,35.2,GetPlayerVirtualWorld(playerid),0);
Attach3DTextLabelToPlayer(adutylabel[playerid],playerid,0.0, 0.0, 0.7);
for(new i=0; i<sizeof(ReportTd); i++)
{
TextDrawShowForPlayer(playerid,ReportTd[i]);
}
}
else
{
format(str,sizeof(str),"* %s %s hat sich vom Support abgemeldet.",RangName(playerid),PlayerName(playerid));
SendClientMessageToAll(0xE10000FF,str);
if(pInfo[playerid][fraktion]!=4 && pInfo[playerid][fraktion]!=5 && pInfo[playerid][fraktion]!=6)
{
SetPlayerColor(playerid, COLOR_PLAYER_SPIELER);
}
if(pInfo[playerid][fraktion]==4)
{
SetPlayerColor(playerid, 0x00FFFFFF);
}
if(pInfo[playerid][fraktion]==5)
{
SetPlayerColor(playerid, 0xFF5A00FF);
}
if(pInfo[playerid][fraktion]==6)
{
SetPlayerColor(playerid, 0xE00000FF);
}
SetPlayerHealth(playerid, 100);
AdminDuty[playerid]=0;
Delete3DTextLabel(adutylabel[playerid]);
for(new i=0; i<sizeof(ReportTd); i++)
{
TextDrawHideForPlayer(playerid,ReportTd[i]);
}
}
return 1;
}
Das sieht echt interessant aus
Wieso?
enum ep
{
adminlevel,
job,
perso,
fraktion,
partner[MAX_PLAYER_NAME],
skin,
warns,
payday,
paydaytime,
spielstunden,
bank,
alter,
geburtsdatum[20],
hausidowner,
hausidmieter,
bizowner,
tankeowner,
autoschein,
flugschein,
bootsschein,
waffenschein,
tot,
totsek,
muted,
mutetime,
supbanned,
suptime,
bool:loggedin,
hathelm,
hatangel,
zollpass,
busrespekt,
hatkanister,
handynummer,
handykarte,
prison,
prisontime,
angelskill,
angelschein,
drugs,
pfandtype1,
pfandtype2,
tode,
morde,
verbrechen,
premium,
premiumdauer,
respekt,
level,
leader,
frang,
ziviskin,
inknast,
infbiknast,
knasttime,
fahrsperre,
fahrsperretime,
punkte,
firstaid,
spawnchange,
HatContract,
ContractMoney,
HatLotto
}
new pInfo[MAX_PLAYERS][ep];
stock RangName(playerid)
{
new rname[20];
switch(pInfo[playerid][adminlevel])
{
case 0:rname = ("Spieler");
case 1:rname = ("Supporter");
case 2:rname = ("Administrator");
case 3:rname = ("Head-Administrator");
case 4:rname = ("Projektleiter");
}
return rname;
}
#define noaccess SendClientMessage(playerid,GRAU,"Du darfst diesen Befehl nicht nutzen.");
Poste mal deinen makeleader Befehl.
Anscheinend hast du da einen Fehler drinnen und er versucht auf einen ungültigen Index in einem Array zuzugreifen
ocmd:makeadmin(playerid, params[])
{
new alevel,pid;
if(!IsPlayerAdmin(playerid) && !IsAdmin(playerid,4))return noaccess
if(sscanf(params,"ui",pid,alevel))return SendClientMessage(playerid,ROT,"Verwendung: /makeadmin (Spieler/ID) (Adminlevel)");
if(alevel>4 || alevel<0)return SendClientMessage(playerid,GRAU,"Das Adminlevel darf nicht größer als 4 und kleiner als 0 sein!");
if(pInfo[playerid][adminlevel]<alevel && !IsPlayerAdmin(playerid))return SendClientMessage(playerid,GRAU,"Du kannst dieses Adminlevel noch nicht setzen.");
if(!PlayerOnline(pid))return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht erreichbar.");
/*for(new i=0; i<53; i++)
{
if(alevel!=4 && !IsAntiCheatEnabledForPlayer(pid,i))
{
EnableAntiCheatForPlayer(pid,i, true);
}
else if(alevel==4 && IsAntiCheatEnabledForPlayer(pid,i))
{
EnableAntiCheatForPlayer(pid,i, false);
}
}*/
pInfo[pid][adminlevel]=alevel;
new str1[120];
format(str1,sizeof(str1),"* %s hat dein Admin Rang auf %s gesetzt.",PlayerName(playerid),RangName(pid));
SendClientMessage(pid,GELB,str1);
format(str1,sizeof(str1),"* Du hast %s sein Admin Rang auf %s gesetzt.",PlayerName(pid),RangName(pid));
SendClientMessage(playerid,HBLAU,str1);
return 1;
}
Schau mal hier rein: http://forum.sa-mp.com/showthread.php?t=271129
Damit kannst du exakt feststellen, was deine Laggs verursacht
Das Skript / Script, lagt unnormal, sprich wenn ich ( /makeadmin o.Ä ) eingebe lagt der Server für paar Minuten / Sekunden ( 10 ~ 60 Sek. )
Woran liegt das?
Im Server.cfg bereits geschrieben:
ackslimit 5000
Das Skript ist ganz gut, @Boyne was mir am meisten gefällt ist, das es RPG - Remake ist.
Super Arbeit geleistet!
ABER....
Das Skript / Script, lagt unnormal, sprich wenn ich ( /makeadmin o.Ä ) eingebe lagt der Server für paar Minuten / Sekunden ( 10 ~ 60 Sek. )
Woran liegt das?