Jump to content
Geplaatst:
comment_788535

Mocht je (kleine) problemen hebben met een SA:MP pawnscript, stel je vraag dan hier. Het is hier dus niet de bedoeling dat je om een script gaat vragen. Het gaat alleen om jouw eigen code.

Maar houdt met het volgende wel even rekening zodat het topic overzichtelijk blijft:

  • Toon altijd de volledige code van de functie waarin het probleem zich bevindt.
  • Gebruik om je pawnscript te tonen de BB-tags "code" of zet het even op Pastebin als het script te groot is.
  • Ga niet dubbelposten als er nog niemand op je vraag heeft gereageerd. Heb geduld.
  • En het belangrijkste gebruik eerst altijd de zoekfunctie, wellicht is jouw vraag al gesteld.

  • Reacties 838
  • Bezichtigingen 204.7k
  • Created
  • Laatste reactie

Top Posters In This Topic

Posted Images

Featured Replies

Geplaatst:
comment_919528
:cya:In dit regeltje..

if(X =< 2691.9631 && X >= 2720.1597 && Y >= -2400.1460 && Y =< -2410.3826 && Z =< 13)

...krijg ik de volgende errors.

warning 211: possibly unintended assignment
error 029: invalid expression, assumed zero
error 022: must be lvalue (non-constant)
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line

Ik heb al 't één en ander geprobeerd, maar ik kom er eigenlijk niet helemaal uit.. :puh:

Je moet =< veranderen naar <=

dus:

if(X <= 2691.9631 && X >= 2720.1597 && Y >= -2400.1460 && Y <= -2410.3826 && Z <= 13)

Geplaatst:
comment_923223

Je oplossing heeft geholpen, bedankt daarvoor. :) Echter, rond hetzelfde stukje krijg ik het niet voor elkaar dat het hek open glijdt. Ik heb de code hieronder even geplaatst.

	 if(X <= 2719.6279 && X >= 2702.3621 && Y >= -2400.0508 && Y <=  -2410.2935 && Skin == 48)
 {
	 MoveObject(Gate1, 2720.5642,-2403.5483,12.4909, 3);

Er hoort nog wat meer onder, maar dat is niet van belang. Aangezien de code op één of andere manier niet zó wordt gepakt dat het hek open schuift. De coördinaten heb ik opgenomen, evenals de skin. Ik heb verder ook geen warnings in mijn script, en ook geen errors.

How to fix? :)

Geplaatst:
comment_923480
Je oplossing heeft geholpen, bedankt daarvoor. :) Echter, rond hetzelfde stukje krijg ik het niet voor elkaar dat het hek open glijdt. Ik heb de code hieronder even geplaatst.

	 if(X <= 2719.6279 && X >= 2702.3621 && Y >= -2400.0508 && Y <=  -2410.2935 && Skin == 48)
 {
	 MoveObject(Gate1, 2720.5642,-2403.5483,12.4909, 3);

Er hoort nog wat meer onder, maar dat is niet van belang. Aangezien de code op één of andere manier niet zó wordt gepakt dat het hek open schuift. De coördinaten heb ik opgenomen, evenals de skin. Ik heb verder ook geen warnings in mijn script, en ook geen errors.

How to fix? :)

Volgens mij checkt je code nu of Y groter is dan -2400 en kleiner dan -2410

dat kan dus niet.

probeer dit:

if(X <= 2719.6279 && X >= 2702.3621 && Y <= -2400.0508 && Y >=  -2410.2935 && Skin == 48)

Geplaatst:
comment_923497

Nee, helpt niet. :( Ik zat zelf ook al even te kijken bij de Y, over welke nou groter was dan de andere. Helaas helpt het niet. Voor alle zekerheid nog even mijn "get's" gepakt, misschien zit daar nog een fout in, hoewel ik ervan uit ga dat er niets mee aan de hand is.

	new Float:X, Float:Y, Float:Z;
new Skin;
GetPlayerPos(playerid, X, Y, Z);
Skin = GetPlayerSkin(playerid);

Geplaatst:
comment_923519

Die ziet er wel goed uit.

Probeer anders eens de PlayerToPoint-functie i.p.v IsPlayerInArea

stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
	return 1;
}
return 0;
}

En dan verander je

if(X <= 2719.6279 && X >= 2702.3621 && Y >= -2400.0508 && Y <=  -2410.2935 && Skin == 48)

naar:

if(PlayerToPoint(10.0, playerid, 2711.0, -2405.0, 12.0) && Skin==48)

Geplaatst:
comment_924151

Misschien dat ik het verkeerd heb geplaatst, maar vreemd genoeg opent de poort nog niet. Ik heb niets aangepast in de PlayerToPoint code, misschien dat daar de fout ligt?

Geplaatst:
comment_924592

Vreemd, het zal eigenlijk zo moeten werken. Mischien moet je ff kijken of je wel alles goed afsluit enzo.

Ik zal ook ff kijken wat ik voor je kan doen

mvg,

kevboy09

Bewerkt: door kevboy09

Geplaatst:
comment_932878

ik heb een admin menu gemaakt waarbij ze de commands kunnen zien en wapens kunnen kiezen

om dit menu in beeld te laten komen moet je intyppen: /admin menu maar als ik dat doe sluit hij de hele server af wat kan ik hier tegen doen???????

hier is het script:

dit staat boven aan het script:

new row;
new granaat;
new adminmenu;
new commands;
new wapens;
new minigun;
new granaten;
new vuurfles;
new rookgranaat;
new rcbom;
new sniper;
new micro;
new tec9;
new microMP5;
new MP5;
new shotguns;
new shotgun;
new combatshotgun;
new sawnoffshotgun;
new infarood;
// menu's //


new Menu:admin menu;
new Menu:commands;
new Menu:wapens;


// minigun //
new Menu:minigun;
///////////// granaten menu ////////
new Menu:granaten;
new Menu:granaat;
new Menu:vuur fles;
new Menu:rook granaat;
new Menu:op afstand bestuurbare bom;
////////////// sniper menu ////////
new Menu:sniper;
///////// micro menu ///////
new Menu:micro;
new Menu:tec9;
new Menu:micro-MP5;
new Menu:MP5;
///////// shotguns menu ///////
new Menu:shotguns;
new Menu:shotgun;
new Menu:combat shotgun;
new Menu:sawn-off shotgun;
//// infarood brillen ///////
new Menu:infarood;

dit bij onfilterscript init:

   admin menu = CreateMenu("admin menu:",3,200,200,400,35);
AddMenuItem(admin menu, 0, "wapens"); // 1e keuze
AddMenuItem(admin menu, 0, "commands");  //2e keuze

wapens = CreateMenu("admin wapens:",3,200,200,400,35);
AddMenuItem(wapens, 0, "granaten");
AddMenuItem(wapens, 0, "minigun");
AddMenuItem(wapens, 0, "sniper");
AddMenuItem(wapens, 0, "micro");
AddMenuItem(wapens, 0, "shotguns");
AddMenuItem(wapens, 0, "infarood");

commands = CreateMenu("admin commands:",3,200,200,400,35);
AddMenuItem(commands, 0, "/death [id]");
AddMenuItem(commands, 0, "/heal[id]");
AddMenuItem(commands, 0, "/kick[id]");
AddMenuItem(commands, 0, "/ban[id]");
AddMenuItem(commands, 0, "// [tekst]");
AddMenuItem(commands, 0, "/freeze [id]");
AddMenuItem(commands, 0, "/unfreeze[id]");
AddMenuItem(commands, 0, "/rcon players");
AddMenuItem(commands, 0, "/rcon wheater [id]");
///////////// granaten
granaten = CreateMenu("soorten granaten:",3,200,200,400,35);
AddMenuItem(granaten, 0, "granaat");
AddMenuItem(granaten, 0, "vuur fles");
AddMenuItem(granaten, 0, "rook granaat");
AddMenuItem(granaten, 0, "op afstand bestuurbare bom"); //// hiervoor wapens: 39, 40


granaat = CreateMenu("aantal granaten:",3,200,200,400,35);
AddMenuItem(granaat, 0, "10");
AddMenuItem(granaat, 0, "100");
AddMenuItem(granaat, 0, "1000");
AddMenuItem(granaat, 0, "10000");

vuur fles = CreateMenu("aantal vuurflessen:",3,200,200,400,35);
AddMenuItem(vuur fles, 0, "10");
AddMenuItem(vuur fles, 0, "100");
AddMenuItem(vuur fles, 0, "1000");
AddMenuItem(vuur fles, 0, "10000");

rook granaat = CreateMenu("aantal rook granaten:",3,200,200,400,35);
AddMenuItem(rook granaat, 0, "10");
AddMenuItem(rook granaat, 0, "100");
AddMenuItem(rook granaat, 0, "1000");
AddMenuItem(rook granaat, 0, "10000");

op afstand bestuurbare bom = CreateMenu("aantal rc bommen:",3,200,200,400,35);
AddMenuItem(op afstand bestuurbare bom, 0, "10");
AddMenuItem(op afstand bestuurbare bom, 0, "100");
AddMenuItem(op afstand bestuurbare bom, 0, "1000");
AddMenuItem(op afstand bestuurbare bom, 0, "10000");

////////////////// minigun ///////////////

minigun = CreateMenu("kogels voor minigun:",3,200,200,400,35);
AddMenuItem(minigun, 0, "10");
AddMenuItem(minigun, 0, "100");
AddMenuItem(minigun, 0, "1000");
AddMenuItem(minigun, 0, "10000");
////////// sniper ////////
sniper = CreateMenu("kogels voor sniper:",3,200,200,400,35);
AddMenuItem(sniper, 0, "10");
AddMenuItem(sniper, 0, "100");
AddMenuItem(sniper, 0, "1000");
AddMenuItem(sniper, 0, "10000");
///////// micro /////////////
micro = CreateMenu("soorten micro's:",3,200,200,400,35);
AddMenuItem(micro, 0, "tec9");
AddMenuItem(micro, 0, "micro-MP5 ");
AddMenuItem(micro, 0, "MP5");

tec9 = CreateMenu("aantal kogels voor tec9:",3,200,200,400,35);
AddMenuItem(tec9, 0, "10");
AddMenuItem(tec9, 0, "100");
AddMenuItem(tec9, 0, "1000");
AddMenuItem(tec9, 0, "10000");

micro-MP5 = CreateMenu("aantal kogels voor micro-MP5:",3,200,200,400,35);
AddMenuItem(micro-MP5, 0, "10");
AddMenuItem(micro-MP5, 0, "100");
AddMenuItem(micro-MP5, 0, "1000");
AddMenuItem(micro-MP5, 0, "10000");

MP5 = CreateMenu("aantal kogels voor MP5:",3,200,200,400,35);
AddMenuItem(MP5, 0, "10");
AddMenuItem(MP5, 0, "100");
AddMenuItem(MP5, 0, "1000");
AddMenuItem(MP5, 0, "10000");
/////// shotguns ////////
shotguns = CreateMenu("soorten shotguns:",3,200,200,400,35);
AddMenuItem(shotguns, 0, "shotgun");
AddMenuItem(shotguns, 0, "combat shotgun");
AddMenuItem(shotguns, 0, "sawn-off shotgun");

shotgun = CreateMenu("aantal kogels voor shotgun:",3,200,200,400,35);
AddMenuItem(shotgun, 0, "10");
AddMenuItem(shotgun, 0, "100");
AddMenuItem(shotgun, 0, "1000");
AddMenuItem(shotgun, 0, "10000");

combat shotgun = CreateMenu("aantal kogels voor combat shotgun:",3,200,200,400,35);
AddMenuItem(combat shotgun, 0, "10");
AddMenuItem(combat shotgun, 0, "100");
AddMenuItem(combat shotgun, 0, "1000");
AddMenuItem(combat shotgun, 0, "10000");

sawn-off shotgun = CreateMenu("aantal kogels voor sawn-off shotgun:",3,200,200,400,35);
AddMenuItem(sawn-off shotgun, 0, "10");
AddMenuItem(sawn-off shotgun, 0, "100");
AddMenuItem(sawn-off shotgun, 0, "1000");
AddMenuItem(sawn-off shotgun, 0, "10000");
///// infarood //////
infarood = CreateMenu("soorten infarood brillen:",3,200,200,400,35);
AddMenuItem(infarood, 0, "hitte bril");
AddMenuItem(infarood, 0, "nacht kijker");

en dit bij onplayercommandtext:

   if (strcmp("/admin menu", cmdtext, true) == 0)
{
	TogglePlayerControllable(playerid, 0);
	ShowMenuForPlayer(admin menu,playerid); 
	return 1;
}

en dit onderin me scriptt:

 public OnPlayerSelectedMenuRow(playerid, row)
{
TogglePlayerControllable(playerid, 1);  // laat de speler weer bewegen
SetCameraBehindPlayer(playerid); // zet de camera achter de speler
new Menu:Current = GetPlayerMenu(playerid);

if (Current == admin menu) // check in welke menu je zit
{
	switch(row)
	{
		case 0: {ShowMenuForPlayer(wapens, playerid); TogglePlayerControllable(playerid, 0);} //wapens
		case 1: {ShowMenuForPlayer(commands, playerid); TogglePlayerControllable(playerid, 0);} //commands
	}
}

if (Current == wapens)
{
	switch(row)
	{
	   case 0: {ShowMenuForPlayer(granaten, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 1: {ShowMenuForPlayer(minigun, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 2: {ShowMenuForPlayer(sniper, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 3: {ShowMenuForPlayer(micro, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 4: {ShowMenuForPlayer(shotguns, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 5: {ShowMenuForPlayer(infarood, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	}
}
if (Current == granaten)
{
	switch(row)
	{
	   case 0: {ShowMenuForPlayer(granaat, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 1: {ShowMenuForPlayer(vuur fles, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 2: {ShowMenuForPlayer(rook granaat, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 3: {ShowMenuForPlayer(op afstand bestuurbare bom, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	}
}
if (Current == granaat)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,16,10 );} //wapens
	   case 1: {GivePlayerWeapon(playerid,16,100 );}
	   case 2: {GivePlayerWeapon(playerid,16,1000 );}
	   case 3: {GivePlayerWeapon(playerid,16,10000 );}
	}
}

if (Current == vuur fles)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,18,10);} //wapens
	   case 1: {GivePlayerWeapon(playerid,18,100 );}
	   case 2: {GivePlayerWeapon(playerid,18,1000 );}
	   case 3: {GivePlayerWeapon(playerid,18,10000);}
	}
}
if (Current == rook granaat)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,17,10);} //wapens
	   case 1: {GivePlayerWeapon(playerid,17,100);}
	   case 2: {GivePlayerWeapon(playerid,17,1000);}
	   case 3: {GivePlayerWeapon(playerid,17,10000);}
	}
}
if (Current == op afstand bestuurbare bom)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,39,10);}
	   case 1: {GivePlayerWeapon(playerid,39,100);}
	   case 2: {GivePlayerWeapon(playerid,39,1000);}
	   case 3: {GivePlayerWeapon(playerid,39,10000);}
	   case 0: {GivePlayerWeapon(playerid,40,1);}
	   case 1: {GivePlayerWeapon(playerid,40,1);}
	   case 2: {GivePlayerWeapon(playerid,40,1);}
	   case 3: {GivePlayerWeapon(playerid,40,1);}
	}
}
if (Current == minigun)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,38,10 );} //wapens
	   case 1: {GivePlayerWeapon(playerid,38,100);}
	   case 2: {GivePlayerWeapon(playerid,38,1000);}
	   case 3: {GivePlayerWeapon(playerid,38,10000);}
	}
}
if (Current == sniper)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,34,10 );} //wapens
 	   case 1: {GivePlayerWeapon(playerid,35,100 );}
	   case 2: {GivePlayerWeapon(playerid,35,1000);}
	   case 3: {GivePlayerWeapon(playerid,35,10000);}

	}
}

if (Current == micro)
{
	switch(row)
	{
	   case 0: {ShowMenuForPlayer(tec9, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 1: {ShowMenuForPlayer(micro-MP5, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 2: {ShowMenuForPlayer(MP5, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	}
}
if (Current == tec9)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,32,10 );} //wapens
 	   case 1: {GivePlayerWeapon(playerid,32,100 );}
	   case 2: {GivePlayerWeapon(playerid,32,1000);}
	   case 2: {GivePlayerWeapon(playerid,32,10000);}
	}
}
if (Current == micro-MP5)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,28,10 );} //wapens
 	   case 1: {GivePlayerWeapon(playerid,28,100 );}
	   case 2: {GivePlayerWeapon(playerid,28,1000 );}
	   case 2: {GivePlayerWeapon(playerid,28,10000);}
	}
}
if (Current == MP5)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,29,10 );} //wapens
 	   case 1: {GivePlayerWeapon(playerid,29,100 );}
	   case 2: {GivePlayerWeapon(playerid,29,1000 );}
	   case 2: {GivePlayerWeapon(playerid,29,10000 );}
	}
}
if (Current == shotguns)
{
	switch(row)
	{
	   case 0: {ShowMenuForPlayer(shotgun, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 1: {ShowMenuForPlayer(combat shotgun, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	   case 2: {ShowMenuForPlayer(sawn-off shotgun, playerid); TogglePlayerControllable(playerid, 0);} //wapens
	}
}
if (Current == shotgun)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,25,10);} //wapens
 	   case 1: {GivePlayerWeapon(playerid,25,100 );}
	   case 2: {GivePlayerWeapon(playerid,25,1000 );}
	   case 2: {GivePlayerWeapon(playerid,25,10000);}
	}
}
if (Current == combat shotgun)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,27,10 );} //wapens
 	   case 1: {GivePlayerWeapon(playerid,27,100 );}
	   case 2: {GivePlayerWeapon(playerid,27,1000 );}
	   case 2: {GivePlayerWeapon(playerid,27,10000);}
	}
}
if (Current == sawn-off shotgun)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,26,10);} //wapens
 	   case 1: {GivePlayerWeapon(playerid,26,100 );}
	   case 2: {GivePlayerWeapon(playerid,26,1000);}
	   case 2: {GivePlayerWeapon(playerid,26,10000);}
	}
}
if (Current == infarood)
{
	switch(row)
	{
	   case 0: {GivePlayerWeapon(playerid,45,1);} //wapens
	   case 1: {GivePlayerWeapon(playerid,44,10;} //wapens
	}
}


if (Current == commands)
{
	switch(row)
	{
		case 0: {GivePlayerMoney(playerid, -1);}
		case 1: {GivePlayerMoney(playerid, -1);}
		case 2: {GivePlayerMoney(playerid, -1);}
	}
}
return 1;
}

//////// dit moet er ook extra bij //////////

public OnPlayerExitedMenu(playerid)
{
new Menu:Current = GetPlayerMenu(playerid);
if (Current == wapens || commands)
{
	TogglePlayerControllable(playerid, 0);
	ShowMenuForPlayer(TeleportMenu, playerid);
}

else
{
	TogglePlayerControllable(playerid, 0);
}

return 1;
}

Bewerkt: door opacool6

Geplaatst:
comment_933463
waar bedoel je in het command of in het script??

Je hebt verscheidene menu's die een spatie hebben, bijvoorbeeld 'new Menu:admin menu;'. Dit moet 'new Menu:adminmenu;' worden. (vergeet ook niet de rest van je script aan te passen!).

Geplaatst:
comment_937635

Ik weet niet of het uitmaakt, maar je hebt bij de Createmenu's in Onfilterscript niet het aantal menu-items aangegeven, maar alles op 3 laten staan.

Dit moet volgens mij veranderd worden naar het aantal menu-items in het menu.

Kan ik me tenminste herinneren van Sandra's Tutorital :D

Verder zie ik bij: public OnPlayerExitedMenu(playerid)

Heb je bijna alles letterlijk overgenomen uit Sandra's Tutorital zo te zien.

Dat zou ik ff aanpassen, zeker waar er staat "teleportmenu" terwijl je helemaal geen teleportmenu hebt.

Of als je geen zin hebt om dat aan te passen vervang het door onderstaande code:

Misschien makkelijk om die eerst te gebruiken om fouten uit te sluiten.

public OnPlayerExitedMenu(playerid)
{
	TogglePlayerControllable(playerid, 1);
return 1;
}

Verder kan ikzelf niks vinden eigenlijk.

Kzou zeggen check sowiezo alles op spaties, typefoutjes etc.

Geplaatst:
comment_938969

hoi,

ik was aan het werken aan men script en ik wou compile doen

en nu komt er altijd als ik daarop duw, van het werkt niet meer , er wordt een oplossing gezocht naar het probleem :?

(Het is al opgelost, er stonden een paar fouten in)

Bewerkt: door Niceguy36

Gast
Dit onderwerp is gesloten.

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.