Danke fürs Feedback ![]()
Beiträge von InternetInk aka Benjamin
-
-
Mal aufgefallen das es die gleichen Koordianten sind?
-
Kopier nochmal von mir,falls du eine if abfrage löscht musst due nichtnur die { klammer sondern auch die andere,dazugehörige } löschen
-
Wenn ihr den Code mal einrücken würdet, würdet ihr auch viel schneller solche fehler finden...
Spoiler anzeigen
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == (KEY_SUBMISSION))
{
//LVPD EINFAHRTSTOR
if(IsPlayerInRangeOfPoint(playerid,3.5, 2350.0652,2423.2896,10.7618))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(LVPDtor1, 2339.08,2451.31,6.17, 2.0);
SetTimer("LVPDtor1zu", 3500, 0);
MoveObject(LVPDtor2, 2330.20,2436.41,6.17, 2.0);
SetTimer("LVPDtor2zu", 3500, 0);
}
}
else if(IsPlayerInRangeOfPoint(playerid,3.5, 2316.7664,2446.2881,3.0210))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(LVPDtor1, 2339.08,2451.31,6.17, 2.0);
SetTimer("LVPDtor1zu", 3500, 0);
MoveObject(LVPDtor2, 2330.20,2436.41,6.17, 2.0);
SetTimer("LVPDtor2zu", 3500, 0);
}
}
//LVPD HINTERTOR
else if(IsPlayerInRangeOfPoint(playerid,3.5, 2306.0933,2491.6829,3.0179))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pLeader] == 2||PlayerInfo[playerid][pMember] == 2)
{
MoveObject(LVPDhintertor, 2293.850586,2505.787109,3.941181,2.0);
SetTimer("LVPDhintertorzu", 4500, 0);
}
}
else if(IsPlayerInRangeOfPoint(playerid,3.5, 2248.4939,2494.7490,10.4546))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pLeader] == 2||PlayerInfo[playerid][pMember] == 2)
{
MoveObject(LVPDhintertor, 2293.850586,2505.787109,3.941181,2.0);
SetTimer("LVPDhintertorzu", 4500, 0);
}
}
//LVPDschranke
else if(IsPlayerInRangeOfPoint(playerid,10.0,2238.197510,2450.375977,10.622423))
{
if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1||PlayerInfo[playerid][pLeader] == 2||PlayerInfo[playerid][pMember] == 2)
{
MoveObjektRot(LVPDschranke,0.8594,356.5623,270.0000,15);
SetTimer("LVPDschrankezu", 1500, 0);
GivePlayerMoney(playerid, -20);
GameTextForPlayer(playerid, "Willkommen im LVPD, der Parkplatz kostet 20$",5000,5);
}
}
}
if(newkeys == (KEY_WALK))
{
//FBItüroben rechts
if(IsPlayerInRangeOfPoint(playerid,2, 298.18594360352,189.36297607422,1006.171875))
{
if(PlayerInfo[playerid][pMember] == 2||PlayerInfo[playerid][pLeader] == 2)
{
MoveObject(LVPDfbitur1links 294.32751464844, 189.30493164063, 1006.171875, 2.0);
SetTimer("LVPDfbitur1linkszu", 3500, 0);
MoveObject(LVPDfbitur1rechts, 298.96795654297, 189.37852478027, 1006.171875, 2.0);
SetTimer("LVPDfbitur1rechtszu", 3500, 0);
}
}
}
//rest vom public -
Ich erkläre es nochmal in meinen Worten, BFX ist da sehr Fachlich,klingt komisch ist aber so...

Es gibt eine ModelID und eine PickupID, die PickupID gibt die ID nummer des pickups wieder,das zuerst erstellte pickup hat die nummer 1 (oder 0 weiß ich jez nichtmehr weil Pawno auch gern bei 0 Anfängt zu zählen,ich glaub aber 1)und von oben nach unten sind die im script durchnummeriert,die ModelID ist das was du siehst, das was das Pickup als symbol hat,z.B Schutzweste oder Herzchen,das was halt rumschwirrt...
Also: PickupID != (ungleich) ModelID
else if(pickupid == PPA || pickupid == PP2 || pickupid == PP3 || pickupid == PP4 || pickupid == PP5)
{
new string[20],betrag;
betrag = random(1500);
GivePlayerMoney(playerid, betrag);
format(string, sizeof(string), "~g~+%d$", betrag);
GameTextForPlayer(playerid, string, 5000, 1);
DestroyPickup(pickupid);
}Erklärung:
die else if abfrage trenne ich mit
das heißt "oder", ich frage da also ab ob die aufgehobene pickupid die ID des pickups hat die wir benötigen.
Achja davor noch, wenn du ein Pickup per Variable erstellst also in deinem Fall PPA,PP2,PP3 usw. kannst du diese als pickup id benutzen!
Also wie gesagt fage ich ab ob man eines der pickups eingesammelt hat,falls ja erstellt er erstmal nen sting mit 20 byte(256 wären überflüßig gewesen so lang wird der ja nicht)
und die betrags variable die wir dann ja auch augeben wollen per gametext,dann ordne ich der betrag Variable ne random zahl zu und format das ganze,
dann sende ich das als GameText un fertig,ich nutze bei destroypickup die variable pickupid, warum kann man sich mit sicherheit denken
-
map halt in den himmel,damit man die SA karte nicht sieht mach halt eine riesen gangzone mit 0% Transparenz die du dem spieler beim betreten zeigst
-
Mach bei OnPlayerPickup einfach nen random betrag beim aufheben?
Sont kA ich denk zu kompliziert
Wäre zuviel aufwand was ich vor hätte -
Du sollst INNERHALB von SA mappen,denn so beugst du sowas vor,außerdem kann man wenn du innerhalb von SA mappst, nicht durch objecte gucken

-
Map innerhalb von SA und nicht außerhalb
-
Find sie auch eher schlecht,lächerlicher Tresorraum und es stehen Frisör stühle rum, wtf? xD
-
Sowas wird hier nicht gefragt
//closed
-
Unter OnGameModeExit:
DestroyPickup(...)
mit allen 3
-
mach die pragmas in die letzte zeile vom script
-
dynamischer
Ich hab ne abneigung gegen dieses Wort
Es ist einfacher,ja aber nicht "dynamisch" mal nachschaut was dynamisch heißt?!
-
Ist auch recht einfach,man kann auch nur eine Variable mit Array machen z.B
EingangUndAusgangPickup[100];EingangUndAusgangPickup[6] = ...
EingangUndAusgangPickup[5] = ...
z.B alle graden zahlen sind Ein,alle ungrade ausgänge xD Aber man kanns wie von dir beschrieben auch m it 2 Var's machen
-
-
... Da steht doch (pickupid == (some other pickup))
das heißt das du da ne andere id reinschreiben sollst oder eine variable das kannste nicht einfach so stehen lassen xDDD
änder es in:(pickupid == pickup2)
-
Mach den Radius mal von 1.0 auf 2.0 oder 3.0 also ein wenig größer
hast du den dcmd befehl auch unter OnPlayerCommandText geschrieben?
Ich mein damit nicht den befehl ansich sondern die zeile:
dcmd(enter, 4, cmdtext);
-
-
Schreibt Privat bitte per PN,danke