Hey, gibt es eine Funktion die abfragt, welches das nähste Auto in Reichweite vom Spieler ist?
Falls nein, wie würde so eine aussehen?
Verwendungszwecke: Vehicleparams wie Alarm(Lock) wenn man neben dem Auto steht
Hey, gibt es eine Funktion die abfragt, welches das nähste Auto in Reichweite vom Spieler ist?
Falls nein, wie würde so eine aussehen?
Verwendungszwecke: Vehicleparams wie Alarm(Lock) wenn man neben dem Auto steht
Hey, gibt es eine Funktion die abfragt, welches das nähste Auto in Reichweite vom Spieler ist?
Falls nein, wie würde so eine aussehen?
Verwendungszwecke: Vehicleparams wie Alarm(Lock) wenn man neben dem Auto steht
stock GetNearestVehicle(playerid, Float:MaxDistanz)
{
new Float:PositionX, Float:PositionY, Float:PositionZ, Float:Distanz, ReturnElement = -1;
for(new i = 0; i < MAX_VEHICLES; i++)
{
GetVehiclePos(i, PositionX, PositionY, PositionZ);
Distanz = GetPlayerDistanceFromPoint(playerid, PositionX, PositionY, PositionZ);
if(ReturnElement == -1)
{
if(MaxDistanz >= Distanz)
{
ReturnElement = i;
MaxDistanz = Distanz;
}
}
else if(ReturnElement != -1)
{
GetVehiclePos(ReturnElement, PositionX, PositionY, PositionZ);
if(Distanz > GetPlayerDistanceFromPoint(playerid, PositionX, PositionY, PositionZ) && MaxDistanz >= Distanz)
{
ReturnElement = i;
MaxDistanz = Distanz;
}
}
}
return ReturnElement;
}
Hi, habe eine Progressbar erstellt und möchte die jetzt updaten sodass man sehen kann wie lange noch eine Runde läuft, wie genau berechne ich jetzt den einzutragenen Wert aus?
So sieht ein Teil meiner Roundtimer Funktion aus:
forward RoundTimer(areaid);
public RoundTimer(areaid)
{
switch(Round[r_func])
{
case 0, 2:
{
if(Round[r_func] == 2)
{
Round[r_time][RTIME_SECONDS]--;
if(Round[r_time][RTIME_SECONDS] <= 0)
{
Round[r_time][RTIME_MINUTES]--;
if(Round[r_time][RTIME_MINUTES] + 1 > 0)
{
Round[r_time][RTIME_SECONDS] = 59;
}
else
{
Round[r_time][RTIME_MINUTES] = 0;
Round[r_time][RTIME_SECONDS] = 0;
Round[r_func] = 0;
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) PlayerTextDrawSetString(i, TimerValue[i], " ~g~Loading..");
}
}
if(!(Round[r_time][RTIME_MINUTES] <= 0 && Round[r_time][RTIME_SECONDS] <= 0))
{
new str[15];
format(str, sizeof(str), " ~g~%02d:%02d", Round[r_time][RTIME_MINUTES], Round[r_time][RTIME_SECONDS]);
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) PlayerTextDrawSetString(i, TimerValue[i], str);
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++) SetPlayerProgressBarValue(i, TimerBar[i], 100); //Test Value
return 1;
}
}
if(Round[r_starting] == true)
return 1;
Habe da bei SetPlayerProgressBarValue erstmal 100 als Test eingetragen, weil ich nicht weiß wie ich das machen soll
Hey undzwar hab ich ein problem mit dem Checkpoint Prison System von pRP,
es ist auf random eingestellt ich möchte das die Checkpoints aber nach der reinfolge kommen.
Hab vieles versucht aber bei mir erscheinen die Checkpoints dann nicht
Prison Checkpoint System:
if(Spieler[playerid][pInPrison] == 1)
{
if(Spieler[playerid][pMaske] == 1 || Spieler[playerid][pDuty] == 4)
{
SetPlayerName(playerid,Spieler[playerid][pName]);
SetPlayerScore(playerid,GetPlayerLevel(playerid));
}
if(Spieler[playerid][pDuty] == 1 && isPlayerInFrakt(playerid,14)) if(IsValidDynamic3DTextLabel(fSCHULleher[playerid])) DestroyDynamic3DTextLabel(fSCHULleher[playerid]);
ResetWeapons(playerid,false);
if(!isPlayerInFrakt(playerid,16)) Spieler[playerid][pDuty] = 0;
Spieler[playerid][pMaske] = 0;
Spieler[playerid][pHaveMaske] = 0;
GangZoneStopFlashForPlayer(playerid,Friedhofszone);
GangZoneHideForPlayer(playerid,Friedhofszone);
SetPlayerColor(playerid,SAMP_WEISS);
SetPlayerPosEx(playerid,1296.5354,2780.4092,10.8203);
SetPlayerInterior(playerid,0);
Spieler[playerid][pHandystate] = 0;
SetPlayerVirtualWorld(playerid,200);
new changeskin = random(11);
switch(changeskin)
{
case 0: SetPlayerSkin(playerid,26);
case 1: SetPlayerSkin(playerid,51);
case 2: SetPlayerSkin(playerid,78);
case 3: SetPlayerSkin(playerid,94);
case 4: SetPlayerSkin(playerid,101);
case 5: SetPlayerSkin(playerid,137);
case 6: SetPlayerSkin(playerid,167);
case 7: SetPlayerSkin(playerid,205);
case 8: SetPlayerSkin(playerid,264);
case 9: SetPlayerSkin(playerid,239);
case 10: SetPlayerSkin(playerid,230);
case 11: SetPlayerSkin(playerid,289);
}
HideServerTD(playerid);
SetPlayerWorldBounds(playerid,1404.205,1103.531,2858.022,2707.167);
PlayerTextDrawShow(playerid,PRISONdraw[playerid]);
format(string,sizeof(string),"~w~Checkpoints: ~y~%i ~w~von ~r~%i",Spieler[playerid][pPrisonCPsgelaufen],Spieler[playerid][pPrisonCPsgegeben]);
PlayerTextDrawSetString(playerid,PRISONdraw[playerid],string);
new rSpawn = random(sizeof(Prisoncheckpoints));
SetPlayerCheckpoint(playerid,Prisoncheckpoints[rSpawn][0],Prisoncheckpoints[rSpawn][1],Prisoncheckpoints[rSpawn][2],1.0);
GameTextForPlayer(playerid,"~w~Im ~r~Prison",1500,3);
SendClientMessage(playerid,SAMP_WEISS,"Du bist im Prison.");
format(string,sizeof(string),"Du musst noch %i von %i Checkpoints ablaufen.",Spieler[playerid][pPrisonCPsgelaufen],Spieler[playerid][pPrisonCPsgegeben]);
SendClientMessage(playerid,WEISS,string);
SendClientMessage(playerid,WEISS,"");
KillTimer(AkkuTimer[playerid]);
HideHandyDraw(playerid);
return 1;
}
bedanke mich schonmal im vorraus!
Hey, als ich das letzte mal ein Gamemode gemacht habe, war das schon ne Weile her, glaube sogar schon ein Jahr.
Muss man eigentlich MAX_VEHICLES und MAX_PLAYERS im Script definieren, oder ist das egal?
Das wird in der a_samp Include definiert
Wo liegt mein Fehler?
ocmd:makeleader(playerid, params[])
{
if(!isAdmin(playerid, 7))return SendClientMessage(playerid,COLOR_ROT, "Server: Dein Adminrang ist zu niedrig!");
new pID, fID;
if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid, COLOR_ROT, "INFO: /makeleader [playerid] [FraktionID]");
if(fID > 16)return SendClientMessage(playerid,COLOR_ROT, "Server: Diese Fraktion exestriert nicht!"), SendClientMessage(playerid,COLOR_ROT, "Benutze /fraktionen um die Fraktionsliste zu sehen.");
sI[pID][pFraktion] = fID;
sI[pID][pFraktionRang] = 6;
new string[128];
format(string,sizeof(string),"* %s hat dich zum Leader der Fraktion %s gemacht", sI[playerid][pName], FraktionName(fID));
SendClientMessage(pID, COLOR_GELB, string);
new string2[256];
format(string2, sizeof(string2), "* Du hast den Spieler %s zum Leader der Fraktion %s gemacht.", sI[pID][pName], FraktionName(fID));
SendClientMessage(playerid, COLOR_ROT, string2);
return 1;
}
C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\PNR.pwn(172) : warning 219: local variable "pID" shadows a variable at a preceding level
C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\PNR.pwn(173) : warning 213: tag mismatch
C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\PNR.pwn(175) : warning 213: tag mismatch
C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\PNR.pwn(176) : warning 213: tag mismatch
C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\PNR.pwn(179) : warning 213: tag mismatch
C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\PNR.pwn(181) : warning 213: tag mismatch
C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\PNR.pwn(172) : warning 203: symbol is never used: "pID"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
7 Warnings.
Alles anzeigen
Du hast pID schonmal oben im Script benutzt oder ?
Besser gesagt pID oben im Script definiert
//edit
Kleiner Tipp
du brauchst auch keine 2 Strings definieren du kannst nachdem du die Message ausgegeben hast einfach den string nochmal neu Formatieren
Alles anzeigenHey undzwar hab ich ein problem mit dem Checkpoint Prison System von pRP,
es ist auf random eingestellt ich möchte das die Checkpoints aber nach der reinfolge kommen.
Hab vieles versucht aber bei mir erscheinen die Checkpoints dann nicht
Prison Checkpoint System:
if(Spieler[playerid][pInPrison] == 1) { if(Spieler[playerid][pMaske] == 1 || Spieler[playerid][pDuty] == 4) { SetPlayerName(playerid,Spieler[playerid][pName]); SetPlayerScore(playerid,GetPlayerLevel(playerid)); } if(Spieler[playerid][pDuty] == 1 && isPlayerInFrakt(playerid,14)) if(IsValidDynamic3DTextLabel(fSCHULleher[playerid])) DestroyDynamic3DTextLabel(fSCHULleher[playerid]); ResetWeapons(playerid,false); if(!isPlayerInFrakt(playerid,16)) Spieler[playerid][pDuty] = 0; Spieler[playerid][pMaske] = 0; Spieler[playerid][pHaveMaske] = 0; GangZoneStopFlashForPlayer(playerid,Friedhofszone); GangZoneHideForPlayer(playerid,Friedhofszone); SetPlayerColor(playerid,SAMP_WEISS); SetPlayerPosEx(playerid,1296.5354,2780.4092,10.8203); SetPlayerInterior(playerid,0); Spieler[playerid][pHandystate] = 0; SetPlayerVirtualWorld(playerid,200); new changeskin = random(11); switch(changeskin) { case 0: SetPlayerSkin(playerid,26); case 1: SetPlayerSkin(playerid,51); case 2: SetPlayerSkin(playerid,78); case 3: SetPlayerSkin(playerid,94); case 4: SetPlayerSkin(playerid,101); case 5: SetPlayerSkin(playerid,137); case 6: SetPlayerSkin(playerid,167); case 7: SetPlayerSkin(playerid,205); case 8: SetPlayerSkin(playerid,264); case 9: SetPlayerSkin(playerid,239); case 10: SetPlayerSkin(playerid,230); case 11: SetPlayerSkin(playerid,289); } HideServerTD(playerid); SetPlayerWorldBounds(playerid,1404.205,1103.531,2858.022,2707.167); PlayerTextDrawShow(playerid,PRISONdraw[playerid]); format(string,sizeof(string),"~w~Checkpoints: ~y~%i ~w~von ~r~%i",Spieler[playerid][pPrisonCPsgelaufen],Spieler[playerid][pPrisonCPsgegeben]); PlayerTextDrawSetString(playerid,PRISONdraw[playerid],string); new rSpawn = random(sizeof(Prisoncheckpoints)); SetPlayerCheckpoint(playerid,Prisoncheckpoints[rSpawn][0],Prisoncheckpoints[rSpawn][1],Prisoncheckpoints[rSpawn][2],1.0); GameTextForPlayer(playerid,"~w~Im ~r~Prison",1500,3); SendClientMessage(playerid,SAMP_WEISS,"Du bist im Prison."); format(string,sizeof(string),"Du musst noch %i von %i Checkpoints ablaufen.",Spieler[playerid][pPrisonCPsgelaufen],Spieler[playerid][pPrisonCPsgegeben]); SendClientMessage(playerid,WEISS,string); SendClientMessage(playerid,WEISS,""); KillTimer(AkkuTimer[playerid]); HideHandyDraw(playerid); return 1; }
bedanke mich schonmal im vorraus!
kann mir jmd helfen?
kann mir jmd helfen?
könntest du uns noch dein Enum senden vom Prison System?
Der "Fehler" bzw das Problem liegt in dieser Zeile:
new rSpawn = random(sizeof(Prisoncheckpoints));
SetPlayerCheckpoint(playerid,Prisoncheckpoints[rSpawn][0],Prisoncheckpoints[rSpawn][1],Prisoncheckpoints[rSpawn][2],1.0);
da du hier ja immer per zufall ein Checkpoint setzt. Ist das jetzt vom Befehl wenn du den Spieler ins Prison setzt?
Weil wenn ja dann müsste man eventuell schaun unter dem public wo der Spieler diese abläuft ob da auch etwas mit Random ist
ocmd:roller(playerid, params[])
{
if(sI[playerid][pLevel] > 2)return SendClientMessage(playerid, COLOR_ROT, "Server: Du bist kein Neuling mehr!");
{
new Float:r_X,Float:r_Y,Float:r_Z, Float:r_R;
GetPlayerPos(playerid,r_X,r_Y,r_Z);
GetPlayerFacingAngle(playerid, r_R);
if(sI[playerid][pRoller] == 0)
{
}
else
{
}
}
return 1;
}
C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\PNR.pwn(354) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Warning.
Warning in Zeile:
if(sI[playerid][pRoller] == 0)
Kannst du mal zeigen wie du pRoller definiert hast?
Anscheinend ist pRoller kein Integer Wert.
Mein Enum:
enum SpielerDaten
{
p_ID,
pName[MAX_PLAYER_NAME],
pGeschlecht,
pAlter[11],
pEMail[128],
pLevel,
pUpPoints,
pGeld,
pBankKonto,
pBankGeld,
pFraktion,
pFraktionRang,
pAdmin,
pSkin,
pTutorial,
pSpawn,
//Bool's
bool:pRoller,
bool:pAdminDuty,
bool:pPasswort[65],
bool:pLoggedIn,
};
benutz anstatt 0 / 1 true / false
Beispiel:
if(sI[playerid][pRoller] == false)
Guten Abend,
könnte mir gerade jemand sagen welche die neuste/aktuellste MySQL Version ist? Ist es r41?
Mit freundlichen Grüßen
Pytroxis
~Handy
Momentan ist es die R41
Momentan ist es die R41
Vielen dank, du hast mir sehr geholfen
Mit freundlichen Grüßen
Pytroxis
~Handy
Hallo,
ich wollte mal wissen ob ich damit Cheatsicher bin vor dem Geldhack
Also ich hab eine Variable pGeld und diese wird die ganze zeit verwendet für das gezahlen undso
Ich hab mir noch überlegt ob ich ein Timer mache der alle 30 Sekunden den Geldwert mit SetPlayerMoney(playerid, sI[playerid][pGeld]);
wäre dass so sicher?
wäre dass so sicher?
Sicher wäre dies nur, wenn du auch bei Prozessen, die Geld des Spielers abziehen auch diese Variable nimmst und nicht den Wert mit GetPlayerMoney abfragst.
Das würde heißen, die Anzeige des Spielers ist ausschließlich zur Deko da und hat keinen wirklichen Einfluss.