Jump to content

[0.3x] Klein probleem met Rules screen


Crusher!!

Recommended Posts

Eay.

ik ben nu vast gelopen met een probleempje.

ik wil nnet zoals in "grandlarc" waar je eerst de citys kan kiezen, wil ik dat met dat je eerst de rules ziet!.

ik DACHT dat ik het zo goed had er is alleen 1 probleempje

als je het filmpje bekijkt zie je dat de balk met de pijltjes en de knop SPAWN blijft staan.

hoe is dat te ficksen??

15ab71-4.jpg

cab00e72cd9f7043f4200a3f8231d266eddf4ec4.jpg

hier is het script:

/*
------------------------
Name:	StuntLand.
------------------------
Last edit:
    Date:   7-10-2009 / 8-10-2009
------------------------
*/
/* includes */
#include <a_samp>
/* main */
main() return 1;
/* enums */
enum account_player
{
bool:ShowedWelcomeScreen
};
enum time_date
{
day,
month,
year,
second,
minute,
hour
};
/* defines */
#define		HostName			"Stuntland [0.3x] '(Stunt*Race*DM*Fly)' "
#define 	GameMode			"Stunt*Race*DM*Fly"
#define 	MapName				"Stunt*Race*DM*Fly"
#define		MAX_BAD_SKINS 		14
#define 	MAX_SKINS 			300
/* news */
new TD[time_date];
new pInfo[MAX_PLAYERS][account_player];
new Text:Rules;
new	badSkins[MAX_BAD_SKINS] = { 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 273, 289 };
/* forwards */
forward IsInvalidSkin(skinid);
forward ShowWelcomeScreen(playerid);
forward AcceptRules(playerid);
//#include "../cScripts/cScripts.Crshr"
public IsInvalidSkin(skinid)
{
   for (new i = 0; i < MAX_BAD_SKINS; i++)
   {
       if (skinid == badSkins[i] || skinid < 0 || skinid >= 300) return true;
   }
   return false;
}

public OnGameModeInit()
{
/* paar opties voor de game mode */
print("\n__________________________________");
print(" ");
print("Crushers own game mode:");
print("    Starting");
getdate(TD[year],TD[month],TD[day]);
gettime(TD[minute],TD[hour],TD[second]);
printf("    Date: %d-%d-%d",TD[day],TD[month],TD[year]);
printf("    Time: %d:%d",TD[minute],TD[hour]);
print("__________________________________\n");
SetGameModeText(GameMode);
new string[128];
format(string,128,"hostname %s",HostName);
SendRconCommand(string);
format(string,128,"mapname %s",MapName);
SendRconCommand(string);

/* Player classes */
new id;
   for (id = 0; id < MAX_SKINS; id++)
{
       if(IsInvalidSkin(id)) continue;
       AddPlayerClass(id,3323.159,-1887.984,4.927,0.0,0,0,0,0,0,0);
   }

/* textdraws */
new rstring[256];
   format(rstring, 256, 
   " ~w~Welcome to ~r~%s~w~,~n~~n~~n~This server have some rules:~n~     1. rule1~n~     2. rule2~n~     3. rule3~n~     4. rule4~n~     5. rule5~n~space ____ space",HostName);
Rules = TextDrawCreate(10.0,100.0,rstring);
TextDrawUseBox(Rules, 1);
TextDrawBoxColor(Rules, 0x222222BB);
TextDrawLetterSize(Rules, 0.3,1.0);
TextDrawTextSize(Rules,	400.0,40.0);
TextDrawFont(Rules, 2);
TextDrawSetShadow(Rules, 0);
   TextDrawSetOutline(Rules, 1);
   TextDrawBackgroundColor(Rules, 0x000000FF);
   TextDrawColor(Rules, 0xFFFFFFFF);
return 1;
}

public OnGameModeExit()
{
  	print("\n__________________________________");
print(" ");
print("Crushers own game mode:");
print("    Stopping");
getdate(TD[year],TD[month],TD[day]);
gettime(TD[minute],TD[hour],TD[second]);
printf("    Date: %d-%d-%d",TD[day],TD[month],TD[year]);
printf("    Time: %d:%d",TD[minute],TD[hour]);
print("__________________________________\n");
return 1;
}

public ShowWelcomeScreen(playerid)
{
new rand = random(3);
if(rand == 0)
{
	SetPlayerInterior(playerid,0);
  		SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0);
	SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167);
}
else if(rand == 1)
{
	SetPlayerInterior(playerid,0);
  		SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823);
	SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589);
}
else if(rand == 2)
{
	SetPlayerInterior(playerid,0);
  		SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390);
	SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275);
}
TextDrawShowForPlayer(playerid,Rules);
SetTimerEx("AcceptRules",6000,false,"i",playerid);
return 1;
}

public AcceptRules(playerid)
{
   ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Rules","Do you accept the rules?","Yes","No");
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
if(pInfo[playerid][showedWelcomeScreen] == false)
{
    ShowWelcomeScreen(playerid);
    return 1;
}
else if(pInfo[playerid][showedWelcomeScreen] == true)
{
	SetPlayerPos(playerid,-686.7767,934.5136,13.6328);
	SetPlayerFacingAngle(playerid,52.0436);
	SetPlayerCameraPos(playerid,-691.8016,938.4933,15.6328);
	SetPlayerCameraLookAt(playerid,-686.7767,934.5136,13.6328);
}
return 0;
}

public OnPlayerConnect(playerid)
{
   pInfo[playerid][showedWelcomeScreen] = false;
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
pInfo[playerid][showedWelcomeScreen] = false;
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
	// Do something here
	return 1;
}
return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnRconCommand(cmd[])
{
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnObjectMoved(objectid)
{
return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}

public OnPlayerExitedMenu(playerid)
{
return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}

public OnPlayerUpdate(playerid)
{
return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
   {
       if(response == 0)
	{
		SendClientMessage(playerid, 0xFFFFFFFF, "You must accept to rules to play on this server");
		SendClientMessage(playerid, 0xFFFFFFFF, "You are kicked!");
		Kick(playerid);
	}
	else
	{
        GameTextForPlayer(playerid,"~r~W~w~elcome..",3500,5);
        pInfo[playerid][showedWelcomeScreen] = true;
        TextDrawHideForPlayer(playerid,Rules);
        SetTimerEx("OnPlayerRequestClass",4500,false,"i",playerid);
	}
       return 1;
   }

return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

Edit:Kijk niet naar me FPS, die is super laag op deze laptop.. en vooral als ik film met xfire dan is die helemaal niet meer te redden.....

Bewerkt: door Crusher!!
Link to comment
Delen op andere websites

om dit topic even boven aan te krijgen: IK BEN NOG STEEDS NIET GEHOLPEN!, en omdat admins/modjes altijd een nieuwetopic met de zelfde tekst niet leuk vinden doe ik het even met de dubbel post functie

Bewerkt: door Crusher!!
Link to comment
Delen op andere websites

voor de 1000000000e keer ik heb 2jaar les van een pool gehad spreek bijna geen engels.

om dit topic even boven aan te krijgen: IK BEN NOG STEEDS NIET GEHOLPEN!, en omdat admins/modjes altijd een nieuwetopic met de zelfde tekst niet leuk vinden doe ik het even met de dubbel oost functie

Crusher,

Misschien omdat wij het probleem ook niet weten te verhelpen ?

Link to comment
Delen op andere websites

voor de 1000000000e keer ik heb 2jaar les van een pool gehad spreek bijna geen engels.

om dit topic even boven aan te krijgen: IK BEN NOG STEEDS NIET GEHOLPEN!, en omdat admins/modjes altijd een nieuwetopic met de zelfde tekst niet leuk vinden doe ik het even met de dubbel oost functie

Crusher,

Misschien omdat wij het probleem ook niet weten te verhelpen ?

dit soort problem fixt remi-x,sandra,bigboss,david22 (als ik een goeie scripter ben vergeten zegt ut ff)

met hun ogen dicht :puh:

Link to comment
Delen op andere websites

Ik zal ook eens even voor je kijken misschien dat ik hem vind ;)

EDIT: misschien ligt het aan die Showed WelcomeScreen check als dit werkt ligt het zeker daar aan:

/*
------------------------
Name: StuntLand.
------------------------
Last edit:
Date: 7-10-2009 / 8-10-2009
------------------------
*/
/* includes */
#include <a_samp>
/* main */
main() return 1;
/* enums */
enum account_player
{
bool:ShowedWelcomeScreen
};
enum time_date
{
day,
month,
year,
second,
minute,
hour
};
/* defines */
#define HostName "Stuntland [0.3x] '(Stunt*Race*DM*Fly)' "
#define GameMode "Stunt*Race*DM*Fly"
#define MapName "Stunt*Race*DM*Fly"
#define MAX_BAD_SKINS 14
#define MAX_SKINS 300
/* news */
new TD[time_date];
new pInfo[MAX_PLAYERS][account_player];
new Text:Rules;
new badSkins[MAX_BAD_SKINS] = { 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 273, 289 };
/* forwards */
forward IsInvalidSkin(skinid);
forward ShowWelcomeScreen(playerid);
forward AcceptRules(playerid);
//#include "../cScripts/cScripts.Crshr"
public IsInvalidSkin(skinid)
{
for (new i = 0; i < MAX_BAD_SKINS; i++)
{
if (skinid == badSkins[i] || skinid < 0 || skinid >= 300) return true;
}
return false;
}

public OnGameModeInit()
{
/* paar opties voor de game mode */
print("\n__________________________________");
print(" ");
print("Crushers own game mode:");
print(" Starting");
getdate(TD[year],TD[month],TD[day]);
gettime(TD[minute],TD[hour],TD[second]);
printf(" Date: %d-%d-%d",TD[day],TD[month],TD[year]);
printf(" Time: %d:%d",TD[minute],TD[hour]);
print("__________________________________\n");
SetGameModeText(GameMode);
new string[128];
format(string,128,"hostname %s",HostName);
SendRconCommand(string);
format(string,128,"mapname %s",MapName);
SendRconCommand(string);

/* Player classes */
new id;
for (id = 0; id < MAX_SKINS; id++)
{
if(IsInvalidSkin(id)) continue;
AddPlayerClass(id,3323.159,-1887.984,4.927,0.0,0,0,0,0,0,0);
}

/* textdraws */
new rstring[256];
format(rstring, 256,
" ~w~Welcome to ~r~%s~w~,~n~~n~~n~This server have some rules:~n~ 1. rule1~n~ 2. rule2~n~ 3. rule3~n~ 4. rule4~n~ 5. rule5~n~space ____ space",HostName);
Rules = TextDrawCreate(10.0,100.0,rstring);
TextDrawUseBox(Rules, 1);
TextDrawBoxColor(Rules, 0x222222BB);
TextDrawLetterSize(Rules, 0.3,1.0);
TextDrawTextSize(Rules, 400.0,40.0);
TextDrawFont(Rules, 2);
TextDrawSetShadow(Rules, 0);
TextDrawSetOutline(Rules, 1);
TextDrawBackgroundColor(Rules, 0x000000FF);
TextDrawColor(Rules, 0xFFFFFFFF);
return 1;
}

public OnGameModeExit()
{
print("\n__________________________________");
print(" ");
print("Crushers own game mode:");
print(" Stopping");
getdate(TD[year],TD[month],TD[day]);
gettime(TD[minute],TD[hour],TD[second]);
printf(" Date: %d-%d-%d",TD[day],TD[month],TD[year]);
printf(" Time: %d:%d",TD[minute],TD[hour]);
print("__________________________________\n");
return 1;
}

public ShowWelcomeScreen(playerid)
{
new rand = random(3);
if(rand == 0)
{
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0);
SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167);
}
else if(rand == 1)
{
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823);
SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589);
}
else if(rand == 2)
{
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390);
SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275);
}
TextDrawShowForPlayer(playerid,Rules);
SetTimerEx("AcceptRules",6000,false,"i",playerid);
return 1;
}

public AcceptRules(playerid)
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Rules","Do you accept the rules?","Yes","No");
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
if(pInfo[playerid][showedWelcomeScreen] == false)
{
ShowWelcomeScreen(playerid);
return 1;
}
else if(pInfo[playerid][showedWelcomeScreen] == true)
{
SetPlayerPos(playerid,-686.7767,934.5136,13.6328);
SetPlayerFacingAngle(playerid,52.0436);
SetPlayerCameraPos(playerid,-691.8016,938.4933,15.6328);
SetPlayerCameraLookAt(playerid,-686.7767,934.5136,13.6328);
}
return 0;
}

public OnPlayerConnect(playerid)
{
pInfo[playerid][showedWelcomeScreen] = false;
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
pInfo[playerid][showedWelcomeScreen] = false;
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnRconCommand(cmd[])
{
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnObjectMoved(objectid)
{
return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}

public OnPlayerExitedMenu(playerid)
{
return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}

public OnPlayerUpdate(playerid)
{
return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response == 0)
{
SendClientMessage(playerid, 0xFFFFFFFF, "You must accept to rules to play on this server");
SendClientMessage(playerid, 0xFFFFFFFF, "You are kicked!");
Kick(playerid);
}
else
{
GameTextForPlayer(playerid,"~r~W~w~elcome..",3500,5);
TextDrawHideForPlayer(playerid,Rules);
SetTimerEx("OnPlayerRequestClass",4500,false,"i",playerid);
}
return 1;
}

return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

Bewerkt: door megadreams
Link to comment
Delen op andere websites

Ik heb die check dat het welcome screen is weergeven weggehaald mss dat die het probleem veroorzaakte ;)

EDIT: lol was geen check die zegt gewoon dat die op true staat ik zal dus opnieuw moeten kijken ;)

Bewerkt: door megadreams
Link to comment
Delen op andere websites

Ik heb die check dat het welcome screen is weergeven weggehaald mss dat die het probleem veroorzaakte ;)

EDIT: lol was geen check die zegt gewoon dat die op true staat ik zal dus opnieuw moeten kijken ;)

xd

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...