Jump to content

PlayerOnPoint


propje400

Recommended Posts

Hoi, hoe moet ik een soort van checkpoint maken, dat niet op de map staat, en dat als je erop gaat staan, er bv 1000$ bijkomt, ik heb gezocht op google maar kon alleen maar vinden van interoirs enzo, want ik wil eigelijk dat als je erop gaat staan er een menu komt te staan(menu heb ik al)

alvast bedankt,

Link to comment
Delen op andere websites

  • Reacties 34
  • Created
  • Laatste reactie

Top Posters In This Topic

  • propje400

    18

  • mosweg

    15

  • Ymosky

    1

  • Basssss

    1

Top Posters In This Topic

Als je maar een checkpoint in het hele spel wilt hebben is het zo:

public OnPlayerSpawn(playerid)
{
SetPlayerCheckpoint(playerid, 1982.6150, -220.6680, -0.2432, 3.0);
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
GivePlayerMoney(playerid, 1000);
ShowMenuForPlayer(Menu,playerid);
DisablePlayerCheckpoint(playerid);
return 1;
}

Bewerkt: door mosweg
Link to comment
Delen op andere websites

Uh.. Als ik het goed begrijp wil je dus dat als een speler op een bepaalde plaats komt er een menu verschijnt (of die 1000 dollar) zonder dat er ergens staat aangegeven waar die plaats precies is?

Dat kan met de functie "PlayerToPoint" daarvan staat een goed voorbeeld op de wiki, (klik hier). In dit geval gaat het dan wel over gate's die open/dicht gaan, maar dat is vrij eenvoudig aan te passen. Mocht het toch niet lukken, dan kun je het altijd vragen natuurlijk :Y

Bewerkt: door Ymosky
Link to comment
Delen op andere websites

Ik zal een pickup ervoor maken:

½

public OnPlayerSpawn(playerid)
{
new pickup;
pickup = CreatePickup ( 1242, 2, 1503.3359, 1432.3585, 10.1191 );
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == pickup)
{
SendClientMessage(playerid, COLOR_RED, "Wil je deze tank kopen, dat kost 80000$ (/accept rhino)");
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256], string[256], idx;
cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/accept rhino", true)==0)
{
   if(GetPlayerMoney(playerid) < 80000)
{
SendClientMessage(playerid, COLOR_RED, "Je hebt niet genoeg geld");
} else {
	SendClientMessage(playerid, COLOR_YELLOW, "Je hebt de tank gekocht");
				GivePlayerMoney(playerid, -80000);
}
return 1;
}

Ik heb het niet getest maar volgensmij moet het werken.

Je moet nog wel de locaties veranderen en pickupid maar als het goed is klopt hij.

Bewerkt: door mosweg
Link to comment
Delen op andere websites

Thank! werkt goed, alleen als iemand hem koopt, kan iemand anders hem ook kopen ook al is hij al weg,

dus is er een script waardoor, als hij het accepteerd de tank daar spawnt, maar dus niet dat die andere weg gaat!

of dat de pickup weg gaat als de tank er niet in staat?

alvast bedankt!

Link to comment
Delen op andere websites

en dan nog iets ;)

wat is hier fout aan?

public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == pickup)
{
SendClientMessage(playerid, COLOR_RED, "If you want buy this Swatvan, pay 80000$ (/swatvan)");
SendClientMessage(playerid, COLOR_FELRED, "You got 15 sec to get the Swatvan (use /lock /unlock)");
}
if (pickupid == pickup2)
{
SendClientMessage(playerid, COLOR_RED, "If you want buy this Rhino, pay 300000$ (/rhino)");
SendClientMessage(playerid, COLOR_FELRED, "You got 15 sec to get the rhino (use /lock /unlock)");
}
if (pickupid == info1)
{
 GameTextForPlayer(playerid, "~y~ /openmafia ", 5000, 5);

}
return 1;
}

want de pickups werke niet, alleen de eerste werkt goed, bij de 3de komt de text er niet te staan, en bij de tweede open hij de deur van de eerste, en jah ik heb nagekeken of de coordinaten van de deuren goed zijn, alvast bedankt ;)

Link to comment
Delen op andere websites

Sorry maar die laatste vraag is al opgelost, maar ik het weer een andere evover :S

welke zin moet ik gebruiken , waardoor je alleen het command /rhino /swatvan kunt gebruiken als je op dat pickup staat, iets van if (pickupid == pickup) ???

Link to comment
Delen op andere websites

EDIT: even oplossen.

Ik denk inderdaad gewoon bij:

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256], string[256], idx;
cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/rhino", true)==0)
{
if (pickupid == pickup2)
{
// de actie
}
}
return 1;
}

Bewerkt: door mosweg
Link to comment
Delen op andere websites

EDIT: even oplossen.

Ik denk inderdaad gewoon bij:

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256], string[256], idx;
cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/rhino", true)==0)
{
if (pickupid == pickup2)
{
// de actie
}
}
return 1;
}

error 017: undefined symbol "pickupid"

moet ik de define ofso?

Link to comment
Delen op andere websites

nee,

Pickup kan dus alleen bij playerpickup.

We gaan het anders doen:

Bovenaan je script:

new rhino[MAX_PLAYERS];
new swatvan [MAX_PLAYERS];

en dan wijzig je bij pickup:

public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == pickup)
{
SendClientMessage(playerid, COLOR_RED, "If you want buy this Swatvan, pay 80000$ (/swatvan)");
SendClientMessage(playerid, COLOR_FELRED, "You got 15 sec to get the Swatvan (use /lock /unlock)");
swatvan[playerid] = 1;
}
if (pickupid == pickup2)
{
SendClientMessage(playerid, COLOR_RED, "If you want buy this Rhino, pay 300000$ (/rhino)");
SendClientMessage(playerid, COLOR_FELRED, "You got 15 sec to get the rhino (use /lock /unlock)");
rhino[playerid] = 1;
}
if (pickupid == info1)
{
 GameTextForPlayer(playerid, "~y~ /openmafia ", 5000, 5);

}
return 1;
}

en bij text:

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256], string[256], idx;
cmd = strtok(cmdtext, idx);

if(strcmp(cmd, "/swatvan", true)==0)
{
if(swatvan[playerid] == 1)
{
// de actie
swatvan[playerid] = 0;
}
}

if(strcmp(cmd, "/rhino", true)==0)
{
if(rhino[playerid] == 1)
{
// de actie
rhino[playerid] = 0;
}
}
return 1;
}

Link to comment
Delen op andere websites

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(422) : warning 235: public function lacks forward declaration (symbol "SendMSG")

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(498) : warning 235: public function lacks forward declaration (symbol "SetupPlayerForClassSelection")

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(647) : error 025: function heading differs from prototype

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1317) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1319) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1322) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1328) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1332) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1334) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1343) : error 021: symbol already defined: "GetPlayerName"

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1346) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1351) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1357) : error 021: symbol already defined: "GetPlayerName"

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1360) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1362) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1364) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1367) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1373) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1376) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1380) : error 010: invalid function or declaration

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1751) : warning 211: possibly unintended assignment

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1786) : warning 202: number of arguments does not match definition

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1751) : warning 204: symbol is assigned a value that is never used: "Cardealercheck"

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1751 -- 1835) : warning 203: symbol is never used: "away"

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1751 -- 1835) : warning 203: symbol is never used: "back"

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1751 -- 1835) : warning 203: symbol is never used: "info2"

I:\PROGRA~1\ROCKST~1\GTASAN~1\samp\GAMEMO~1\Farm.pwn(1751 -- 1835) : warning 203: symbol is never used: "vres"

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

18 Errors.

lol

public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == pickup)
{
SendClientMessage(playerid, COLOR_RED, "If you want buy this Swatvan, pay 80000$ (/swatvan)");
SendClientMessage(playerid, COLOR_FELRED, "You got 15 sec to get the Swatvan (use /lock /unlock)");
swatvan[playerid] = 1;
}
else if (pickupid == pickup2)
{
SendClientMessage(playerid, COLOR_RED, "If you want buy this Rhino, pay 300000$ (/rhino)");
SendClientMessage(playerid, COLOR_FELRED, "You got 15 sec to get the rhino (use /lock /unlock)");
rhino[playerid] = 1;
}
else if (pickupid == info1)
{
GameTextForPlayer(playerid, "~r~ /openmafia ", 2000, 5);

}
return 1;
}

if(strcmp(cmd, "/swatvan", true)==0)
{
if(swatvan[playerid] == 1)
{
  GivePlayerMoney(giveplayerid,-10000);
swatvan[playerid] = 0;
}
}

if(strcmp(cmd, "/rhino", true)==0)
{
if(rhino[playerid] == 1)
{
  GivePlayerMoney(giveplayerid,-10000);
rhino[playerid] = 0;
}
}
return 1;
}

actie's kloppen niet gewoon als test ;)

Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...