Jump to content

[TUT || GMM]Basic Script


Recommended Posts

  • Reacties 37
  • Created
  • Laatste reactie

Top Posters In This Topic

  • mosweg

    6

  • Gangstaz

    3

  • Morph1

    3

  • r.deroos

    2

Geplaatst:

Ik heb de meeste errors weg gekregen maar ik hou deze:

regel 25:

forward SetPlayerTeamFromClass;

regel 26:

forward OnPlayerConnect;

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(25) : error 001: expected token: "(", but found ";"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(26) : error 001: expected token: ")", but found "forward"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(26) : error 001: expected token: ";", but found "forward"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(26) : error 001: expected token: "(", but found ";"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(26) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

5 Errors.

hoe krijg ik die weg? ik heb al wat geprobeerd met () maar dan komen er meer bij,

kan iemand neerzetten hoe ik het precied neer moet zetten?

Geplaatst: (bewerkt)

Volgens mij heb ik hier ook wel eens mee lopen prutsen, maar ik denk wel dat je het gewoon als volgt kan doen:

Ik vraag me dan toch af, wat is nou eigenlijk het verschil qua opbouw tussen "SetPlayerTeamFromClass" en "OnPlayerRequestClass"? Volgens mij geen, want bovenaan bij de OnPlayerRequestClass komt die SetPlayerTeamFromClass weer terug, dus ze zijn allebei tegelijkertijd "actief" en voor de rest zijn ze allebei exact hetzelfde opgebouwd. (correct me if im wrong)

Dus ik zou zeggen gewoon die "public SetPlayerTeamFromClass(playerid,classid)" eruitgooien, dus het stukje script daarvan + die forward.

Vervolgens de inhoud ervan bij de OnPlayerRequestClass stoppen, die komt er dan zo uit te zien.

public OnPlayerRequestClass(playerid, classid)
{
SetupPlayerForClassSelection(playerid);

if(classid == 0 || classid == 1 || classid == 2) {
	GameTextForPlayer(playerid,"~y~VAGOS",1000,5);
	gTeam[playerid] = TEAM_VAGOS;
} else if(classid == 3 || classid == 4 || classid == 5) {
	GameTextForPlayer(playerid,”~r~BALLAS",1000,5);
	gTeam[playerid] = TEAM_BALLAS; 
}

return 1;
}

Wat betreft de laatste forward op regel 26, "Public OnPlayerConnect" is een bestaande callback. (meer info over callbacks vind je hier) waarbij die forward dus overbodig is.

EDIT: als laatste nog even een kleine "tip".

Ergens halverwege vind je de "public SetPlayerToTeamColor" Deze word actief zodra de speler spawnt (of is het nou spawnd.. :-( ) Dus nadat je een team gekozen hebt en op Shift gedrukt hebt krijg je je kleurtje.

Ik vind het persoonlijk altijd gewoon leuk als je al tijdens het kiezen je kleurtje krijgt. Dan zie je ook wat een nieuwe speler aan het kiezen is :puh: (met TAB) Wat je dan kun doen is die "SetPlayerToTeamColor" ook verwijderen. (inclusief de forwards en de regel bij OnPlayerSpawn) en de inhoud ervan ook bij de OnPlayerRequestClass dumpen. Die ziet er daarna zo uit.

public OnPlayerRequestClass(playerid, classid)
{
SetupPlayerForClassSelection(playerid);

if(classid == 0 || classid == 1 || classid == 2) {
	GameTextForPlayer(playerid,"~y~VAGOS",1000,5);
	gTeam[playerid] = TEAM_VAGOS;
			SetPlayerColor(playerid,COLOR_YELLOW); // geel
} else if(classid == 3 || classid == 4 || classid == 5) {
	GameTextForPlayer(playerid,”~r~BALLAS",1000,5);
	gTeam[playerid] = TEAM_BALLAS;
			SetPlayerColor(playerid,COLOR_PINK); // roze/paars
}

return 1;
}

Bewerkt: door Ymosky
Geplaatst: (bewerkt)

Ik heb gedaan wat je zei en toen kreeg ik een heleboel errors,

Ik heb de meeste verholpen maar toch komen deze terug:

Mischien kun je dit script laten werken en dan als bestand hier neerzetten want ik snap het niet meer.

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(25) : error 001: expected token: ";", but found "static"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(29) : error 001: expected token: "(", but found ";"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(30) : error 001: expected token: ")", but found "forward"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(30) : error 001: expected token: ";", but found "forward"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(30) : error 001: expected token: "(", but found ";"

C:\Documents and Settings\Bjorn.123370910318\Bureaublad\Server\pawno\new.pwn(30) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

6 Errors.

Dit is het script nu:

#include <a_samp>
#include <float>
#include <core>


// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

#define TEAM_VAGOS 1 // Team Vagos
#define TEAM_BALLAS 2 // Team Ballas

#define COLOR_YELLOW 0xFFFF00AA // Kleur Vagos
#define COLOR_PINK 0xFF66FFAA // Kleur Ballas
#define COLOR_GREY 0xAFAFAFAA // Kleur wanneer je inactive bent

new playerid;
new classid;
new Ballas;
new vs;
new r;
new BALLAS


static gTeam[MAX_PLAYERS];
forward SetupPlayerForClassSelection(playerid); // Speler klaarmaken voor setup
forward SetPlayerTeamFromClass(playerid,classid); // Speler in team zetten
forward ExitTheGameMode(); // uit gamemode gaan
forward SetupPlayerForClassSelection;
forward SetupPlayerForClassSelection;

main()
{
print("\n----------------------------------");
print("  (Ballas vs Vagos by [QB]Flame\n");
print("----------------------------------\n");
}

//--------------------------------------------------------------------------
public OnGameModeInit()
{
SetGameModeText "(Ballas vs Vagos)";
		SetWorldTime(6); // tijd in uren.
		ShowNameTags(1); // Spelers namen boven health balk aan of uit. Nu aan
		ShowPlayerMarkers(1); // Blokjes op radar aan of uit? Nu aan

		// Vehicles Vagos ---------- Zet hier de autos van de Vagos neer
AddStaticVehicle(411,1990.5304,-1274.8484,23.5474,179.9483,123,1); //1
AddStaticVehicle(451,1978.9088,-1275.0537,23.5267,180.5944,18,18); //1
AddStaticVehicle(461,2022.3484,-1272.8076,23.5686,2.8655,53,1); //1
AddStaticVehicle(461,2019.7675,-1272.8455,23.5702,356.3444,53,1); //1
		// Vehicles Ballas ---------- Zet hier de autos van de Ballas neer
AddStaticVehicle(461,2255.7495,-1421.4042,23.6214,172.2777,53,1); //2
AddStaticVehicle(461,2240.9497,-1423.4565,23.6522,19.2248,53,1); //2
AddStaticVehicle(490,2235.6836,-1425.1844,24.3253,1.4257,0,0); //2
AddStaticVehicle(490,2256.9307,-1424.6719,24.3007,359.5161,0,0); //2
		// Vagos Class ------------ Zet hier de classes van de vagos neer waaruit je kan kiezen
AddPlayerClass(3,1995.4502,-1269.2792,23.9844,4.8686,0,0,0,0,0,0); // 1 1
AddPlayerClass(4,1998.8303,-1270.4124,23.9844,2.6753,0,0,0,0,0,0); // 1 2
AddPlayerClass(5,1992.7712,-1270.2063,23.9844,2.6753,0,0,0,0,0,0); // 1 3
		// Ballas Class ----------- Ze hier de classes van de ballas neer waaruit je kan kiezen
AddPlayerClass(0,2246.5210,-1410.8179,24.0000,191.1392,0,0,0,0,0,0); // 2 1
AddPlayerClass(1,2253.0173,-1409.9825,25.0887,190.1992,0,0,0,0,0,0); // 2 2
AddPlayerClass(2,2249.9221,-1422.5824,24.0696,8.4641,0,0,0,0,0,0); // 2 3
{

return 1;
}

//----------------------------------------------------------------------------

public OnPlayerConnect(playerid)
{
new playerid;
SetPlayerColor(playerid,COLOR_GREY); // Kleur
GameTextForPlayer(playerid,"~r~Ballas ~w~vs ~y~Vagos!",2000,5); // Text
return 1;
}
//----------------------------------------------------------------------------
public SetupPlayerForClassSelection(playerid)
{
new playerid;
SetPlayerInterior(playerid,11);
SetPlayerPos(playerid,508.7362,-87.4335,998.9609);
		SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609);
SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609);
SetPlayerFacingAngle(playerid,0.0);
}
//----------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
SetupPlayerForClassSelection(playerid);

if(classid == 0 || classid == 1 || classid == 2) {
	GameTextForPlayer(playerid,"~y~VAGOS",1000,5);
	gTeam[playerid] = TEAM_VAGOS;
			SetPlayerColor(playerid,COLOR_YELLOW); // geel
} else if(classid == 3 || classid == 4 || classid == 5) {
	GameTextForPlayer(playerid,”~r~BALLAS",1000,5);
	gTeam[playerid] = TEAM_BALLAS;
			SetPlayerColor(playerid,COLOR_PINK); // roze/paars
}

return 1;
}
//----------------------------------------------------------------------------
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,0);

if(gTeam[playerid] == TEAM_VAGOS) {
	SetPlayerWorldBounds(playerid,x_max, x_min, y_max, y_min);
	GameTextForPlayer(playerid,
	   "Kill the ~r~Ballas!"
	   6000,5);
}
else if(gTeam[playerid] == TEAM_BALLAS) {
			SetPlayerWorldBounds(playerid,x_max, x_min, y_max, y_min);
	GameTextForPlayer(playerid,
	   "Kill the ~y~Vagos!",
	   6000,5);
}

return 1;
}
//----------------------------------------------------------------------------
public ExitTheGameMode()
{
GameModeExit();
}
//----------------------------------------------------------------------------
public OnPlayerDeath(playerid, killerid, reason)
{
new deathstr[256];
new whodiedname[MAX_PLAYER_NAME+1];
new whokilledname[MAX_PLAYER_NAME+1];
new deathreasonstr[256];

GetPlayerName(playerid,whodiedname,MAX_PLAYER_NAME);
GetWeaponName(reason,deathreasonstr,255);

if(killerid == INVALID_PLAYER_ID) {
	if(strlen(deathreasonstr)) {
		format(deathstr,256,"%s died (%s)",whodiedname,deathreasonstr);
	} else {
		format(deathstr,256,"%s died",whodiedname);
	}
	SendClientMessageToAll(OBJECTIVE_COLOR, deathstr);
} else {
	GetPlayerName(killerid,whokilledname,MAX_PLAYER_NAME);
	if(gTeam[killerid] != gTeam[playerid]) {
		// Valid kill
		if(strlen(deathreasonstr)) {
			format(deathstr,256,"%s was killed by %s (%s)",whodiedname,whokilledname,deathreasonstr);
		} else {
			format(deathstr,256,"%s was killed by %s",whodiedname,whokilledname);
		}
		SendClientMessageToAll(OBJECTIVE_COLOR, deathstr);
		SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
	 }
	else {
		// Team kill
		format(deathstr,256,"%s killed team-mate %s (%s)",whokilledname,whodiedname,deathreasonstr);
		SendClientMessageToAll(OBJECTIVE_COLOR, deathstr);
	}
}
return 1;
}
//----------------------------------------------------------------------------

Bewerkt: door mosweg
Geplaatst: (bewerkt)

LOL, ik ben er net even mee aan de slag gegaan, maar ik vraag me trouwens wel af wat dit eigenlijk in vredesnaam voor game-mode is... :? Ook van de originele game-mode uit de beginpost klopt volgens mij bar weinig. Ik vermoed dat deze (aan het jaartal te zien) voor samp 0.1b geschreven is ofzo..

In ieder geval hier eventjes een linkje naar pastebin met wat ik er tot nu toe van gebakken heb, staan nog een paar stukken tussen commentaren (groene tekst), die ik nog niet werkend had.

Overigens als ik een tip mag geven, zou ik als ik jouw was toch zo snel mogelijk jezelf gaan bezighouden met een andere game-mode. :puh:

Gewoon Tutoritals van =>Sandra<= volgen, leer je een heleboel van, ik geloof niet dat je met dit script veel zult leren van samp scripten namelijk :-(

Bewerkt: door Ymosky
Geplaatst: (bewerkt)

Bedankt hij doet het nu goed.

De tutorials van Sandra vind ik ook heel goed,

die gebruik ik ook vaak

Bewerkt: door mosweg
  • 4 years later...
Geplaatst:

Hey,

Ik heb deze hele tutorial gevold maar als ik het uitprobeer spawnen de teams op deze zelfde plek terwijl ik deze classes heb:

AddPlayerClass(287,-1418.2716,2669.2603,55.8359,86.1441,32,150,25,100,22,100); // Americanen
	    AddPlayerClass(287,-1418.4186,2634.9871,55.7511,87.7107,27,100,28,150,30,250); // Americanen
	    AddPlayerClass(287,-1419.4884,2600.9126,55.6875,86.7707,24,150,26,75,31,200); // Americanen
  AddPlayerClass(285,-1546.1434,2672.2556,55.6875,273.5192,32,150,25,100,22,100); // Germanen
	    AddPlayerClass(285,-1546.2045,2633.5007,55.6875,269.1324,27,100,28,150,30,250); //Germanen
	    AddPlayerClass(285,-1546.1434,2672.2556,55.6875,273.5192,24,150,26,75,31,200); // Germanen

Kan iemand me alsjeblieft helpen:(

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