Jump to content
Posted
comment_1565836

Alles is opgelost, dus reageer a.u.b. niet meer

Dit was de post eerst:

Ik heb een command:

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/psl", cmdtext, true))
{
	moveobject (3114, 1443.6716308594, -1537.8446044922, 65.588470458984, 5); return 1;
}
return 0;
}

Dit command doet een poort open en dicht, maar er zit een fout in maar ik weet niet welke...

Pawno geeft fout: undefined symbol "moveobject"

Edited by newbie

Featured Replies

comment_1565868

MoveObject(3114, 1443.6716308594, -1537.8446044922, 65.588470458984, 5);

Pawno is hoofdlettergevoelig, hé.

EDIT:

Je kan beter dit doen.

new Poort;
forward ResetPoort();

public OnGameModeInit()
{
   Poort = CreateObject(3114, X, Y, Z, rX, rY, rZ);//Vul hier je coordinaten in als de poort nog niet open is (X,Y,Z,rX,rY,rZ)
   return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
   if (strcmp("/open", cmdtext, true, 10) == 0)//Command om de poort te openen
   {
if(!IsPlayerAdmin(playerid)) return 0;//Als je niet wilt dat alleen admins dit kunnen doen mag je deze regel weglaten
MoveObject(Poort, 1443.6716308594, -1537.8446044922, 65.588470458984, 5);//Open poort
SetTimer("ResetPoort", 5000, false);//Poort sluit vanzelf na 5 seconden (1000 = 1 seconde)
return 1;
   }
   return 0;
}

public ResetPoort()
{
   MoveObject(Poort, X, Y, Z,5);//Vul hier weer de coordinaten in als de poort nog toe is (X,Y,Z)
}

Edited by Freaksken

comment_1565972

Verander

public OnPlayerCommandText(playerid, cmdtext[])
{
   if (strcmp("/open", cmdtext, true, 10) == 0)//Command om de poort te openen
   {
       if(!IsPlayerAdmin(playerid)) return 0;//Als je niet wilt dat alleen admins dit kunnen doen mag je deze regel weglaten
       MoveObject(Poort, 1443.6716308594, -1537.8446044922, 65.588470458984, 5);//Open poort
       SetTimer("ResetPoort", 5000, false);//Poort sluit vanzelf na 5 seconden (1000 = 1 seconde)
       return 1;
   }
   return 0;
}

naar

public OnPlayerCommandText(playerid, cmdtext[])
{
   if (!strcmp("/open", cmdtext, true, 10) == 0)//Command om de poort te openen
   {
       if(!IsPlayerAdmin(playerid)) return 0;//Als je niet wilt dat alleen admins dit kunnen doen mag je deze regel weglaten
       MoveObject(Poort, 1443.6716308594, -1537.8446044922, 65.588470458984, 5);//Open poort
       SetTimer("ResetPoort", 5000, false);//Poort sluit vanzelf na 5 seconden (1000 = 1 seconde)
       return 1;
   }
   return 0;
}

comment_1566150

Verander

public OnPlayerCommandText(playerid, cmdtext[])
{
   if (strcmp("/open", cmdtext, true, 10) == 0)//Command om de poort te openen
   {
       if(!IsPlayerAdmin(playerid)) return 0;//Als je niet wilt dat alleen admins dit kunnen doen mag je deze regel weglaten
       MoveObject(Poort, 1443.6716308594, -1537.8446044922, 65.588470458984, 5);//Open poort
       SetTimer("ResetPoort", 5000, false);//Poort sluit vanzelf na 5 seconden (1000 = 1 seconde)
       return 1;
   }
   return 0;
}

naar

public OnPlayerCommandText(playerid, cmdtext[])
{
   if (!strcmp("/open", cmdtext, true, 10) == 0)//Command om de poort te openen
   {
       if(!IsPlayerAdmin(playerid)) return 0;//Als je niet wilt dat alleen admins dit kunnen doen mag je deze regel weglaten
       MoveObject(Poort, 1443.6716308594, -1537.8446044922, 65.588470458984, 5);//Open poort
       SetTimer("ResetPoort", 5000, false);//Poort sluit vanzelf na 5 seconden (1000 = 1 seconde)
       return 1;
   }
   return 0;
}

Waarom? nu zet je er 2keer negatief in...

if (!strcmp("/open", cmdtext, true))// doe die 10 weg, /open bestaat uit 5 letters...

comment_1566177

Waarom? nu zet je er 2keer negatief in...

if (!strcmp("/open", cmdtext, true))// doe die 10 weg, /open bestaat uit 5 letters...

Ja, maar dat verhelpt het "SERVER UNKNOWN COMMAND" bericht niet.

Die "!strcmp" is helemaal niet nodig!

Je krijgt "SERVER UNKNOWN COMMAND" omdat je niet als amdin bent ingelogd.

Dan denken de mensen die geen admin zijn en dat command gebruiken, dat dat command niet bestaat. :puh:

Als je niet wil dat niet-admins "SERVER UNKNOWN COMMAND" krijgen, verander dit:

if(!IsPlayerAdmin(playerid)) return 0;

naar dit:

if(!IsPlayerAdmin(playerid)) return 1;

:puh:

Edited by Freaksken

  • Author
comment_1566261

Die van die site werkt ook niet goed, zitten een paar fouten in.

Heb hem namelijk nu ingevuld, dan heb ik dit:

#include <a_samp>
//====================================================================
//--------------[ Het onderste kan je veranderen.  ]------------------
//====================================================================

#define _MOVE_SPEED     1.0     // snelheid van het open / dicht gaan.
#define _RCON_ONLY              false   // true = aan, false = uit.

new Float:Gates[4][6] = // stel hieronder je coords in.
{
       {1443.6716308594, -1537.8446044922, 12, 0, 0, 348.09}, //gate 1 open
       {1443.6716308594, -1537.8446044922, 66, 0, 0, 348.09}, //gate 1 dicht
       {2313.8107910156, -1218.1257324219, 20.088232040405, 0, 0, 89.324493408203}, //gate 2 open
       {2360.8818359375, -1271.8779296875, 20.064821243286, 0, 0, 269.0546875} //gate 2 dicht
};

//====================================================================
//--------------[ Vanaf hier niks meer veranderen ]-------------------
//====================================================================

#define _MENU_ITEMS 4 // niet veranderen.

new gate1,gate2,Menu:menu; // niet veranderen.

new MenuStrings[4][128] = {"Gate 1 open", "Gate 1 close", "Gate 2 open", "Gate 2 close"}; // menu opties, je kan de tekst veranderen.

public OnGameModeInit()
{

       menu = CreateMenu("Test Menu", 1, 200.0, 150.0, 200.0, 200.0); // maakt menu.

       for(new x=0; x < _MENU_ITEMS; x++)
       {
       AddMenuItem(menu, 0, MenuStrings[x]); // add menu keuzes.
       }

       gate1 = CreateObject(980, 0.0,0.0,0.0, 0, 0, 0); //gate1.
       gate2 = CreateObject(980, 0.0,0.0,0.0, 0, 0, 0); //gate2.

       SetObjectPos(gate1,Gates[0][0],Gates[0][1],Gates[0][2]); // maakt gesloten gate 1.
       SetObjectRot(gate1,Gates[0][3],Gates[0][4],Gates[0][5]); // maakt gesloten gate 1.

       SetObjectPos(gate2,Gates[2][0],Gates[2][1],Gates[2][2]); // maakt gesloten gate 2.
       SetObjectRot(gate2,Gates[2][3],Gates[2][4],Gates[2][5]); // maakt gesloten gate 2.

       return true;
}

public OnGameModeExit()
{
       DestroyObject(gate1); // vernietigd gate1.
       DestroyObject(gate2); // vernietigd gate2.
       DestroyMenu(menu); // vernietigd het menu.
       return true;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
       if (strcmp("/gate", cmdtext, true, 5) == 0 || strcmp("/gates", cmdtext, true, 5) == 0) // je kan /gate of /gates typen.
       {
               ShowMenuForPlayer(menu,playerid);
               return true;
       }

       return false;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
   new Menu:PlayerMenu = GetPlayerMenu(playerid);

       if(PlayerMenu == menu)
       {
               #if _RCON_ONLY == true
               if(!IsPlayerAdmin(playerid)) return false;
               #endif
               Object(row);
               return true;
       }
       return false;
}

Object(row)
{
       if(!IsValidObject(gate1)) return false;
       if(!IsValidObject(gate2)) return false;
       switch(row)
       {
               case 0:
               {
                       MoveObject(gate1,Gates[1][0],Gates[1][1],Gates[1][2],_MOVE_SPEED); // opend gate  1
                       SetObjectRot(gate1,Gates[1][3],Gates[1][4],Gates[1][5]); // opend gate  1
               }
               case 1:
               {
                       MoveObject(gate1,Gates[0][0],Gates[0][1],Gates[0][2],_MOVE_SPEED); // sluit gate  1
                       SetObjectRot(gate1,Gates[0][3],Gates[0][4],Gates[0][5]); // sluit gate  1
               }
               case 2:
               {
                       MoveObject(gate2,Gates[3][0],Gates[3][1],Gates[3][2],_MOVE_SPEED); // opend gate  2
                       SetObjectRot(gate2,Gates[3][3],Gates[3][4],Gates[3][5]); // opend gate  2
               }
               case 3:
               {
                       MoveObject(gate2,Gates[2][0],Gates[2][1],Gates[2][2],_MOVE_SPEED); // sluit gate  2
                       SetObjectRot(gate2,Gates[2][3],Gates[2][4],Gates[2][5]); // sluit gate  2
               }
       }
       return true;
}

En dan krijg ik deze fouten in Pawno:

C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(11) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(11) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(11) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(12) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(12) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(12) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(13) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(13) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(14) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(14) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(72) : warning 217: loose indentation
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


11 Warnings.

comment_1566658

haal die line weg want met return 1; stop je alsnog de command.

Ja, dat is als je wilt dat een niet-admin het command wel kan doen.

Hetgeen wat ik zeg is dat een niet-admin het command niet kan doen en oftewel een foutmelding krijgt (return 0;) en oftewel gewoon niets krijgt (return 1;)

;)

Edited by Freaksken

comment_1566737

Die van die site werkt ook niet goed, zitten een paar fouten in.

Heb hem namelijk nu ingevuld, dan heb ik dit:

#include <a_samp>
//====================================================================
//--------------[ Het onderste kan je veranderen.  ]------------------
//====================================================================

#define _MOVE_SPEED     1.0     // snelheid van het open / dicht gaan.
#define _RCON_ONLY              false   // true = aan, false = uit.

new Float:Gates[4][6] = // stel hieronder je coords in.
{
       {1443.6716308594, -1537.8446044922, 12, 0, 0, 348.09}, //gate 1 open
       {1443.6716308594, -1537.8446044922, 66, 0, 0, 348.09}, //gate 1 dicht
       {2313.8107910156, -1218.1257324219, 20.088232040405, 0, 0, 89.324493408203}, //gate 2 open
       {2360.8818359375, -1271.8779296875, 20.064821243286, 0, 0, 269.0546875} //gate 2 dicht
};

//====================================================================
//--------------[ Vanaf hier niks meer veranderen ]-------------------
//====================================================================

#define _MENU_ITEMS 4 // niet veranderen.

new gate1,gate2,Menu:menu; // niet veranderen.

new MenuStrings[4][128] = {"Gate 1 open", "Gate 1 close", "Gate 2 open", "Gate 2 close"}; // menu opties, je kan de tekst veranderen.

public OnGameModeInit()
{

       menu = CreateMenu("Test Menu", 1, 200.0, 150.0, 200.0, 200.0); // maakt menu.

       for(new x=0; x < _MENU_ITEMS; x++)
       {
       AddMenuItem(menu, 0, MenuStrings[x]); // add menu keuzes.
       }

       gate1 = CreateObject(980, 0.0,0.0,0.0, 0, 0, 0); //gate1.
       gate2 = CreateObject(980, 0.0,0.0,0.0, 0, 0, 0); //gate2.

       SetObjectPos(gate1,Gates[0][0],Gates[0][1],Gates[0][2]); // maakt gesloten gate 1.
       SetObjectRot(gate1,Gates[0][3],Gates[0][4],Gates[0][5]); // maakt gesloten gate 1.

       SetObjectPos(gate2,Gates[2][0],Gates[2][1],Gates[2][2]); // maakt gesloten gate 2.
       SetObjectRot(gate2,Gates[2][3],Gates[2][4],Gates[2][5]); // maakt gesloten gate 2.

       return true;
}

public OnGameModeExit()
{
       DestroyObject(gate1); // vernietigd gate1.
       DestroyObject(gate2); // vernietigd gate2.
       DestroyMenu(menu); // vernietigd het menu.
       return true;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
       if (strcmp("/gate", cmdtext, true, 5) == 0 || strcmp("/gates", cmdtext, true, 5) == 0) // je kan /gate of /gates typen.
       {
               ShowMenuForPlayer(menu,playerid);
               return true;
       }

       return false;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
   new Menu:PlayerMenu = GetPlayerMenu(playerid);

       if(PlayerMenu == menu)
       {
               #if _RCON_ONLY == true
               if(!IsPlayerAdmin(playerid)) return false;
               #endif
               Object(row);
               return true;
       }
       return false;
}

Object(row)
{
       if(!IsValidObject(gate1)) return false;
       if(!IsValidObject(gate2)) return false;
       switch(row)
       {
               case 0:
               {
                       MoveObject(gate1,Gates[1][0],Gates[1][1],Gates[1][2],_MOVE_SPEED); // opend gate  1
                       SetObjectRot(gate1,Gates[1][3],Gates[1][4],Gates[1][5]); // opend gate  1
               }
               case 1:
               {
                       MoveObject(gate1,Gates[0][0],Gates[0][1],Gates[0][2],_MOVE_SPEED); // sluit gate  1
                       SetObjectRot(gate1,Gates[0][3],Gates[0][4],Gates[0][5]); // sluit gate  1
               }
               case 2:
               {
                       MoveObject(gate2,Gates[3][0],Gates[3][1],Gates[3][2],_MOVE_SPEED); // opend gate  2
                       SetObjectRot(gate2,Gates[3][3],Gates[3][4],Gates[3][5]); // opend gate  2
               }
               case 3:
               {
                       MoveObject(gate2,Gates[2][0],Gates[2][1],Gates[2][2],_MOVE_SPEED); // sluit gate  2
                       SetObjectRot(gate2,Gates[2][3],Gates[2][4],Gates[2][5]); // sluit gate  2
               }
       }
       return true;
}

En dan krijg ik deze fouten in Pawno:

C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(11) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(11) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(11) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(12) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(12) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(12) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(13) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(13) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(14) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(14) : warning 213: tag mismatch
C:\Users\Patrick\Desktop\SA-MP\filterscripts\Untitled.pwn(72) : warning 217: loose indentation
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


11 Warnings.

komt omdat ik de script voor GtaF gewoon op GtaF zelf typ, niet in pawn,

ik heb het eventje gefixt

GTAFORUM

Pastebin

Edited by Crusher!!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.