hallo an alle da draußen,
ich hab eine frage und zwar kan ich checkpoints definieren? wen ja kann mir einer sagen wie oder ein kleines bsp zeigen?
ich danke im vorraus
MFG GTA0071
hallo an alle da draußen,
ich hab eine frage und zwar kan ich checkpoints definieren? wen ja kann mir einer sagen wie oder ein kleines bsp zeigen?
ich danke im vorraus
MFG GTA0071
Ja,so:
#define CP1
#define CP2
#define usw...
sry das ich nun erst antworte aber wie schreib ich das dann? also beim definieren? ich kann ja schlecht so das machen:
#define CP1 = SetPlayerCheackpoint(......)
oder?
doch einfach so #define CP_1 (.....) // da halt deine coords
aber er meint so :
dass wenn man in den checkpount reinfährt dass der checkpoint dann weg geht und der nächtse erscheint
McToasty und super619: Überlegt doch bitte bervor ihr was postest. Mit den Beiträgen kann er wenig anfangen. Außerdem ist super619's Beitrag Schwachsinn
Also, man kann die CPs nicht einfach wie Objekte nach Schema
CheckPointVar = SetPlayerCheckpoint(...);
erstellen, das die Funktion SetPlayerCheckpoint nicht die CP-ID wiedergibt, sondern afaik 1 wenn er erfolgreich erstellt wurde. Deswegen muss man eine PVar anlegen um die Checkpoint-ID festzulegen und abzufragen:
// Als erstes eine Nummer für einen CP ausdenken:
#define CP_Blubb 514
// Dann wenn du für jmd einen Checkpoint setzen willst:
SetPlayerCheckpoint(playerid,X,Y,Z,R);
SetPVarInt(playerid,"cpid",CP_Blubb);
// Wenn du nun abfragen willst, ob jemand im Checkpoint Blubb steht:
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid") == CP_Blubb)
aha ok ich hab das so ungefähr kapiert da währen jetzt noch ein paar fragen:
Zitat// Dann wenn du für jmd einen Checkpoint setzen willst:
SetPlayerCheckpoint(playerid,X,Y,Z,R);
SetPVarInt(playerid,"cpid",CP_Blubb);
bei dem SetPlayerCheckpoint nuss uch dann halt stat xyz meine coords rein ´hauen richtig?
und die abfrage kommt die unter public OnPlayerEnterCheckpoint(playerid)?
richtig
ich hab nun alles so rein gefügt wir ihr sagtet aber nun hat sich mein script verkurbelt.... bei der Mode anzeige steht nun Unknown, ich kann keiner meiner cmds mehr eintippen und wen ich spawn fall ich erst mal 5 min.
so hab ich das nun alles gemacht:
//Checkpoints
#define pizzacp1 0
#define pizzacp2 1
#define pizzacp3 2
#define pizzacp4 3
#define pizzacp5 4
#define pizzacp6 5
#define pizzacp7 6
#define pizzacp8 7
#define pizzacp9 8
#define pizzacp10 9
#define pizzacp11 10
#define pizzacp12 11
#define pizzacp13 12
if(IsAPizzaCar(newcar))
{
if(GetPlayerSkin(playerid) == 155)
{
SetPlayerCheckpoint(playerid,-2078.5029,903.3665,63.7316, 3.0);
SetPVarInt(playerid,"cpid",pizzacp1);
}
else
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, 0xAA3333AA,"Das sind Job Fahrzeuge. Gehe zum Pizza Stack oder zum Hotel um einen Job anzunehmen!");
}
}
public OnPlayerEnterCheckpoint(playerid)
{
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid") == pizzacp1)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2156.0720,866.3926,74.9619, 3.0);
SetPVarInt(playerid,"cpid1",pizzacp2);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid1") == pizzacp2)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2223.4404,817.6969,49.0475, 3.0);
SetPVarInt(playerid,"cpid2",pizzacp3);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid2") == pizzacp3)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2398.8418,828.3600,36.3096, 3.0);
SetPVarInt(playerid,"cpid3",pizzacp4);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid3") == pizzacp4)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2377.1379,942.3401,45.0452, 3.0);
SetPVarInt(playerid,"cpid4",pizzacp5);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid4") == pizzacp5)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2363.4045,1114.2823,55.3232, 3.0);
SetPVarInt(playerid,"cpid5",pizzacp6);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid5") == pizzacp6)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2492.5144,1139.7162,55.3232, 3.0);
SetPVarInt(playerid,"cpid6",pizzacp7);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid6") == pizzacp7)
{
GivePlayerMoney(playerid, 50);
SendClientMessage(playerid, 0xFFFF00AA,"Du hast die hälfte deiner Pizzas ausgetragen!");
SetPlayerCheckpoint(playerid,-2576.2710,1148.2888,55.3191, 3.0);
SetPVarInt(playerid,"cpid7",pizzacp8);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid7") == pizzacp8)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2636.9893,932.9592,71.5406, 3.0);
SetPVarInt(playerid,"cpid8",pizzacp9);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid8") == pizzacp9)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2741.8311,865.1337,64.3259, 3.0);
SetPVarInt(playerid,"cpid9",pizzacp10);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid9") == pizzacp10)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2732.2722,719.4633,40.8670, 3.0);
SetPVarInt(playerid,"cpid10",pizzacp11);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid10") == pizzacp11)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-2374.4004,693.6350,34.7563, 3.0);
SetPVarInt(playerid,"cpid11",pizzacp12);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid11") == pizzacp12)
{
GivePlayerMoney(playerid, 50);
SetPlayerCheckpoint(playerid,-1729.0125,991.4770,17.1858, 3.0);
SetPVarInt(playerid,"cpid12",pizzacp13);
}
if(IsPlayerInCheckpoint(playerid) && GetPVarInt(playerid,"cpid12") == pizzacp13)
{
SendClientMessage(playerid, 0xFFFF00AA,"Du hast alle Pizzen ausgetragen. Super!");
SendClientMessage(playerid, 0xFFFF00AA,"Bitte parke den Roller wieder auf den Parkplatz!");
GivePlayerMoney(playerid, 100);
}
return 1;
}
wie schon gesagt die probleme stehen oben.
hoffe es kann jemand helfen
MFG GTA
Edit// das forum lässt es falsh einrücken. also bei mir im pawno war alles richtig eingerückt
GetPVarInt(playerid,"cpid1")
GetPVarInt(playerid,"cpid2")
Da hast du falsch mitgedacht, es heißt immer "cpid".
Du brauchst noch eine Art Kein-Checkpoint-angezeigt-ID, die sollte am besten 0 sein:
#define NO_CP 0
#define pizzacp1 1
#define pizzacp2 2
#define pizzacp3 3
#define pizzacp4 4
#define pizzacp5 5
#define pizzacp6 6
#define pizzacp7 7
#define pizzacp8 8
#define pizzacp9 9
#define pizzacp10 10
#define pizzacp11 11
#define pizzacp12 12
#define pizzacp13 13
Wenn du nun den Checkpoint für jemanden verschwinden lassen willst:
DisablePlayerCheckpoint(playerid);
SetPVarInt(playerid,"cpid",NO_CP);
Übrigens musst diese Abfrage nicht unbedingt in OnPlayerEnterCheckpoint, man kann überall abfragen, ob jmd im Checkpoint X ist. Wenn aber etwas passieren soll, wenn man den CP betritt, kommt das in OnPlayerEnterCheckpoint.
liegt das dann mit meinem script zusammen? weilich das mit cpid falsh gemacht habe?