Weiß einer zufällig, wie ich einen 3DTextLabel außerhalb der Map (<-3000, >3000) anzeigen kann?
Das geht nicht
Bei Pickups geht es ab plus minus 4000 nicht mehr. Text Labels solltest du dort aber ohne Probleme anzeigen können.
Weiß einer zufällig, wie ich einen 3DTextLabel außerhalb der Map (<-3000, >3000) anzeigen kann?
Das geht nicht
Bei Pickups geht es ab plus minus 4000 nicht mehr. Text Labels solltest du dort aber ohne Probleme anzeigen können.
Beim Starten:
In einem Timer, in dem du das Textdraw aktualisierst:
new s = gangFightTime - gettime();
new h = s / 3600;
s -= h * 3600;
new m = s / 60;
s -= m * 60;
printf("Zeit: %02d:%02d:%02d", h, m, s);
Den Print musst du dann eben zu einem format ändern, je nach dem was und wie du es ausgeben willst.
Was ist der Fehler bzw. das Problem?
Du fragst als erstes auf Level 1 ab, schließt eine Klammer jeweils zu viel und hast unten eine Zuweisung im if.
Versuche es so:
ocmd:ahelp(playerid,params[])
{
if(!isAdmin(playerid,1))return SendClientMessage(playerid,0xFF0000FF,"Du bist kein Admin");
if(sInfo[playerid][alevel] >= 8)
{
SendClientMessage(playerid,0xFFFF00FF,"~1339 Projektleiter Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"teleport,gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn,skick");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say,sban");
SendClientMessage(playerid,0xFFFF00FF,"sethp,setarmour,warn,jetpack,givegun,waffen,setskin,cc");
SendClientMessage(playerid,0xFFFF00FF,"up,down,right,left,fly,healall,kill,restart,givemoney");
SendClientMessage(playerid,0xFFFF00FF,"money,unban,makeleader,pinvite,puninvite,------~rconinfo~------");
SendClientMessage(playerid,0xFFFF00FF,"god,cargod,setscore");
SendClientMessage(playerid,0xFFFF00FF,"setadmin,adminsystem,rconadminsystem");
}
else if(sInfo[playerid][alevel] >= 7)
{
SendClientMessage(playerid,0xFFFF00FF,"~1338 Stellvertretender Serverleiter Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"teleport,gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn,skick");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say,sban");
SendClientMessage(playerid,0xFFFF00FF,"sethp,setarmour,warn,jetpack,givegun,waffen,setskin,cc");
SendClientMessage(playerid,0xFFFF00FF,"up,down,right,left,fly,healall,kill,restart,givemoney");
SendClientMessage(playerid,0xFFFF00FF,"money,unban,makeleader,pinvite,puninvite,------~rconinfo~------");
SendClientMessage(playerid,0xFFFF00FF,"god,cargod,setscore");
}
else if(sInfo[playerid][alevel] >= 6)
{
SendClientMessage(playerid,0xFFFF00FF,"~Server-Verwalter Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"teleport,gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn,skick");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say,sban");
SendClientMessage(playerid,0xFFFF00FF,"sethp,setarmour,warn,jetpack,givegun,waffen,setskin,cc");
SendClientMessage(playerid,0xFFFF00FF,"up,down,right,left,fly,healall,kill,restart,givemoney");
SendClientMessage(playerid,0xFFFF00FF,"money,unban,makeleader,pinvite,puninvite,------~rconinfo~------");
}
else if(sInfo[playerid][alevel] >= 5)
{
SendClientMessage(playerid,0xFFFF00FF,"~1337 Admin Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"teleport,gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn,skick");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say,sban");
SendClientMessage(playerid,0xFFFF00FF,"sethp,setarmour,warn,jetpack,givegun,waffen,setskin,cc");
SendClientMessage(playerid,0xFFFF00FF,"up,down,right,left,fly,healall,kill,restart,givemoney,settime,setweather");
}
else if(sInfo[playerid][alevel] >= 4)
{
SendClientMessage(playerid,0xFFFF00FF,"~Support-Admin Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"teleport,gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn,skick");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say,sban");
SendClientMessage(playerid,0xFFFF00FF,"sethp,setarmour,warn,jetpack,givegun,waffen,setskin,cc");
}
else if(sInfo[playerid][alevel] >= 3)
{
SendClientMessage(playerid,0xFFFF00FF,"~Ingame Moderator Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"teleport,gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say,sban");
}
else if(sInfo[playerid][alevel] >= 2)
{
SendClientMessage(playerid,0xFFFF00FF,"~Supporter~");
SendClientMessage(playerid,0xFFFF00FF,"teleport,gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn,skick");
}
else if(sInfo[playerid][alevel] == 1)
{
SendClientMessage(playerid,0xFFFF00FF,"~Probe-Supporter Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"teleport,gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
}
return 1;
}
Alles anzeigen
Setze vor die Zeilen im enum jeweils ein
PlayerText:
hin.
Poste bitte die PlayerUpdate Funktion und schaue nach, ob im MySQL Log ein Fehler ausgegeben wird. Falls ja, poste den Log dazu.
Atm[sg][2]
Zu
Atm[sg][2]-0.2
Die 0.2 eben so anpassen, bis es nicht mehr in der Luft ist. Je größer, desto weiter runter geht es.
Wie sieht dein Code aus?
Nutze
TogglePlayerSpectating(playerid, false);
vor bzw. anstatt dem SpawnPlayer in OnPasswordResponse.
Auf Anfrage in PN:
Was funktioniert denn nicht?
Welches Speichersystem nutzt du? Beide Codes zeigen das nicht.
Versuche es so:
ocmd:ahelp(playerid,params[])
{
if(isAdmin(playerid,5))
{
SendClientMessage(playerid,0xFFFF00FF,"~1337 Admin Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say");
SendClientMessage(playerid,0xFFFF00FF,"sethp,setarmour,warn,jetpack,givegun,waffen,setskin,cc");
SendClientMessage(playerid,0xFFFF00FF,"up,down,right,left,fly,healall,kill,restart,givemoney");
}
else if(isAdmin(playerid,4))
{
SendClientMessage(playerid,0xFFFF00FF,"~Support-Admin Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say");
SendClientMessage(playerid,0xFFFF00FF,"sethp,setarmour,warn,jetpack,givegun,waffen,setskin,cc");
}
else if(isAdmin(playerid,3))
{
SendClientMessage(playerid,0xFFFF00FF,"~Ingame Moderator Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn");
SendClientMessage(playerid,0xFFFF00FF,"veh,delveh,takegun,entercar,fixveh,timeban,say");
}
else if(isAdmin(playerid,2))
{
SendClientMessage(playerid,0xFFFF00FF,"~Supporter~");
SendClientMessage(playerid,0xFFFF00FF,"gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
SendClientMessage(playerid,0xFFFF00FF,"godcheck,ban,grosseohren,setworld,setint,awiederbeleben,mute,unmute,spawn");
}
else if(isAdmin(playerid,1))
{
SendClientMessage(playerid,0xFFFF00FF,"~Probe-Supporter Befehle~");
SendClientMessage(playerid,0xFFFF00FF,"gotoxyz,check,ac,getip,slap,mapport,freeze,unfreeze,kick,gethere,gotoplayer,tv,tvaus,adminduty");
}
return 1;
}
Alles anzeigen
Ich habe die Reihenfolge umgedreht, da ein Level 5 Admin ja auch Level 1 ist.
Hinter den if's war jeweils ein return ohne Angaben, das habe ich entfernt.
Versuche mal diese Partikel-Objekte:
18725 smoke30lit
18726 smoke30m
18727 smoke50lit
18728 smoke_flare
Die Rauch Maschine hat die ID 2780.
Müsste dann in dieser Datei stehen:
modules\header\colors.txt
Zwecks der Hervorhebnung: C passt, solange PAWN noch nicht da ist.
Schau dir an wie COL_PRIM definiert ist, dann wirst du sofort sehen, warum es nicht klappt.
Dieser Code an sich sollte auch bei OnPlayerUpdate eigentlich keinen Lag verursachen.
Versuche es aber mal so:
if(pInfo[playerid][pTeam] == 1)
{
GetVehiclePos(NibiruTransporter[0], NibiruTransporterPos[0],NibiruTransporterPos[1], NibiruTransporterPos[2]);
SetPlayerMapIcon(playerid, 3, NibiruTransporterPos[0],NibiruTransporterPos[1],NibiruTransporterPos[2], 42, 0, MAPICON_GLOBAL);
}
if(pInfo[playerid][pTeam] == 2)
{
GetVehiclePos(SeparatistenTransporter[0], SeparatistenTransporterPos[0], SeparatistenTransporterPos[1], SeparatistenTransporterPos[2]);
SetPlayerMapIcon(playerid, 3, SeparatistenTransporterPos[0],SeparatistenTransporterPos[1],SeparatistenTransporterPos[2], 42, 0, MAPICON_GLOBAL);
}
if(AmmuKiste3[playerid] != 1)
{
if(IsPlayerInRangeOfPoint(playerid, 700.0, 247.43230, 1255.15662, 646.68610))//Nibiru Antenne
{
for(new p;p<MAX_PLAYERS;p++)
{
if(!IsPlayerConnected(p)) continue;
if(NibiruAntenneHeil == 1)
{
if(pInfo[p][pTeam] == 1)
{
if(pInfo[playerid][pTeam] == 1){ SetPlayerMarkerForPlayer(p, playerid, 0x0000FFFF);}//Spieler wird angezeigt
else if(pInfo[playerid][pTeam] == 2){ SetPlayerMarkerForPlayer(p, playerid, 0xFF0000FF);}//Spieler wird angezeigt
else{ SetPlayerMarkerForPlayer(p, playerid, 0xFFFFFFFF);}//Spieler wird angezeigt
}
}
else
{
if(pInfo[playerid][pTeam] == 1){ SetPlayerMarkerForPlayer(playerid, p, 0x0000FFFF & 0xFFFFFF00);}//Spieler wird verdeckt
else if(pInfo[playerid][pTeam] == 2){ SetPlayerMarkerForPlayer(playerid, p, 0xFF0000FF & 0xFFFFFF00);}//Spieler wird verdeckt
else{ SetPlayerMarkerForPlayer(p, playerid, 0xFFFFFFFF & 0xFFFFFF00);}//Spieler wird verdeckt
}
}
}
else if(IsPlayerInRangeOfPoint(playerid, 700.0, -930.95032, 1900.95923, 620.97052))//Separatisten Antenne
{
for(new p;p<MAX_PLAYERS;p++)
{
if(!IsPlayerConnected(p)) continue;
if(SeparatistenAntenneHeil == 1)
{
if(pInfo[p][pTeam] == 2)
{
if(pInfo[playerid][pTeam] == 1){ SetPlayerMarkerForPlayer(p, playerid, 0x0000FFFF);}
else if(pInfo[playerid][pTeam] == 2){ SetPlayerMarkerForPlayer(p, playerid, 0xFF0000FF);}
else{ SetPlayerMarkerForPlayer(p, playerid, 0xFFFFFFFF);}
}
}
else
{
if(pInfo[playerid][pTeam] == 1){ SetPlayerMarkerForPlayer(p, playerid, 0x0000FFFF & 0xFFFFFF00);}
else if(pInfo[playerid][pTeam] == 2){ SetPlayerMarkerForPlayer(p, playerid, 0xFF0000FF & 0xFFFFFF00);}
else{ SetPlayerMarkerForPlayer(p, playerid, 0xFFFFFFFF & 0xFFFFFF00);}
}
}
}
else
{
for(new p;p<MAX_PLAYERS;p++)
{
if(!IsPlayerConnected(p)) continue;
if(pInfo[playerid][pTeam] == 1){ SetPlayerMarkerForPlayer(p, playerid, 0x0000FFFF & 0xFFFFFF00);}
else if(pInfo[playerid][pTeam] == 2){ SetPlayerMarkerForPlayer(p, playerid, 0xFF0000FF & 0xFFFFFF00);}
else{ SetPlayerMarkerForPlayer(p, playerid, 0xFFFFFFFF & 0xFFFFFF00);}
}
}
}
Alles anzeigen
Wenn das nicht geht, dann würde ich dir zu einem 1-Sekunden Timer raten, der für alle Spieler ausgeführt wird, also einmal bei OnGameModeInit gestartet wird.
Ich würde mich aber wundern, wenn es bei OnPlayerUpdate nicht geht.