Skip to content
View in the app

A better way to browse. Learn more.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Check SkinID

Ik weet dat in de code op regel 10, 12, en 34 de code if(!strcmp(SkinID, TEKST DIE HIJ CONTROLEERD,true))

public OnPlayerRequestSpawn(playerid)
{
   ////////////////////////////////////////////////////////////////////////////
   //SKIN - CONTROLE
   ////////////////////////////////////////////////////////////////////////////
   Skin = GetPlayerSkin(playerid);
   new SkinID[128];
   format(SkinID, sizeof(SkinID), "%d", Skin);
   //SendClientMessage(playerid, COLOR_GREEN, SkinID);
   if (SkinID == 165 || 166 || 280 || 281 || 282 || 283 || 288 || 284 || 285 || 286 || 287 || 255 || 278 || 279 || 250 || 59 || 263 || 294 || 299)
   {
       if (SkinID == 165 || 166 || 280 || 281 || 282 || 283 || 288 || 284 || 285 || 286 || 287)
       {
           GetPlayerName(playerid, pNameCop, sizeof(pNameCop));
           dini_Create(udb_encode(pNameCop));

           format(Zinnetje, 64, "%s", dini_Get("Cops.txt", udb_encode(pName)));
           //SendClientMessage(playerid, COLOR_GRAY, Zinnetje);

           if(!strcmp(Zinnetje, "0",true))
           {
               SetPlayerPos(playerid, 1553.2588,-1676.1017,16.1953);
               gTeam[playerid] = TEAM_COP0;
               SetPlayerColor(playerid, COLOR_BLUE);
           }
           else if (!strcmp(Zinnetje, "1",true))
           {
               gTeam[playerid] = TEAM_NOT0;
               GameTextForPlayer(playerid,"~r~Je bent niet aangemeld als cop! ~n~Ga naar http://bm.johannetje2.nl/forum > en maak een apply!",10000,5);
               return 0;
           }
       }

       if (SkinID == 255 || 278 || 279 || 250 || 59 || 263 || 294 || 299)
       {
           SetPlayerPos(playerid, 1108.1634521484,-1796.3830566406,16.59375);
           gTeam[playerid] = TEAM_CRI0;
           SetPlayerColor(playerid, COLOR_GRAY);
           return 1;
}
else
{
    SendClientMessage(playerid, COLOR_RED, "***SKIN: Dit is geen geldige skin!");
	}

////////////////////////////////////////////////////////////////////////////
return 1;
   }
   return 1;
}

Maar nu is mijn probleem, bij elk id moet ik dan zo'n stukje code maken, want 255 || 278.... werkt dan niet...

Hoe kan ik dit simpel oplossen zonder de bovenstaande manier te gebruiken?

Edited by Johannetje2

Featured Replies

Het is: if(SkinID == ID || SkinID == ID || SkinID == ID){

niet: if(SkinID == ID || ID || ID || ID){

Snap je?

gvm

In de code die je geeft zitten wel een paar problemen.

public OnPlayerRequestSpawn(playerid)
{
   Skin = GetPlayerSkin(playerid); // Weet je zeker dat 'Skin' gedefineerd is?

   new SkinID[128]; // Een skin is een INTEGER, jij maakt er een STRING van.
   format(SkinID, sizeof(SkinID), "%d", Skin);

   // In de volgende regel zitten meerdere fouten:
   // * 'SkinID' is als een string gedefineerd, dus moet je 'strcmp' gebruiken.
   // * Als je het als een integer gedefineerd had, werkt het niet zo op deze manier. Gebruik: 'if(SkinID == 0 || SkinID == 1 || SkinID == 2)' etc.
   if (SkinID == 165 || 166 || 280 || 281 || 282 || 283 || 288 || 284 || 285 || 286 || 287 || 255 || 278 || 279 || 250 || 59 || 263 || 294 || 299)
   {
       if (SkinID == 165 || 166 || 280 || 281 || 282 || 283 || 288 || 284 || 285 || 286 || 287) // Zie hierboven.
       {
           GetPlayerName(playerid, pNameCop, sizeof(pNameCop));
           dini_Create(udb_encode(pNameCop));
           format(Zinnetje, 64, "%s", dini_Get("Cops.txt", udb_encode(pName)));

           if(!strcmp(Zinnetje, "0",true)) // Waarom gebruik je hier een string voor? Je kan er beter een integer van maken.
           {
               SetPlayerPos(playerid, 1553.2588,-1676.1017,16.1953);
               gTeam[playerid] = TEAM_COP0;
               SetPlayerColor(playerid, COLOR_BLUE);
           }
           else if (!strcmp(Zinnetje, "1",true)) // zie hierboven
           {
               gTeam[playerid] = TEAM_NOT0;
               GameTextForPlayer(playerid,"~r~Je bent niet aangemeld als cop! ~n~Ga naar http://bm.johannetje2.nl/forum > en maak een apply!",10000,5);
               return 0;
           }
       }

       if (SkinID == 255 || 278 || 279 || 250 || 59 || 263 || 294 || 299) // Hier geld ook dat het op deze manier niet kan.
       {
           SetPlayerPos(playerid, 1108.1634521484,-1796.3830566406,16.59375);
           gTeam[playerid] = TEAM_CRI0;
           SetPlayerColor(playerid, COLOR_GRAY);
           return 1;
}
else
{
    SendClientMessage(playerid, COLOR_RED, "***SKIN: Dit is geen geldige skin!");
	}
return 1;
   }
   return 1;
}

Zie de comments voor de fouten.

Een makkelijkere, snellere en overzichtelijkere manier voor de 'if' regels, is de 'switch' functie.

Hieronder heb ik een voorbeeld staan van wat een verbeterde versie zou kunnen zijn:

public OnPlayerRequestSpawn(playerid)
{
   switch(GetPlayerSkin(playerid))
   {
       case 165, 166, 280, 281, 282, 283, 284, 285, 286, 287:
       {
           GetPlayerName(playerid, pNameCop, sizeof(pNameCop));
           dini_Create(udb_encode(pNameCop));

           new IsCop = dini_Int("Cops.txt", udb_encode(pName));

           if(IsCop == 0)
           {
               SetPlayerPos(playerid, 1553.2588,-1676.1017,16.1953);
               gTeam[playerid] = TEAM_COP0;
               SetPlayerColor(playerid, COLOR_BLUE);
           }
           else if (IsCop == 1)
           {
               gTeam[playerid] = TEAM_NOT0;
               GameTextForPlayer(playerid,"~r~Je bent niet aangemeld als cop! ~n~Ga naar http://bm.johannetje2.nl/forum > en maak een apply!",10000,5);
               return 0;
           }
       }

       case 255, 278, 279, 250, 59, 263, 294, 299:
       {
           SetPlayerPos(playerid, 1108.1634521484,-1796.3830566406,16.59375);
           gTeam[playerid] = TEAM_CRI0;
           SetPlayerColor(playerid, COLOR_GRAY);
           return 1;
}

       default:
{
    SendClientMessage(playerid, COLOR_RED, "***SKIN: Dit is geen geldige skin!");
	}
   }
   return 1;
}

  • Author

In de code die je geeft zitten wel een paar problemen.

public OnPlayerRequestSpawn(playerid)
{
   Skin = GetPlayerSkin(playerid); // Weet je zeker dat 'Skin' gedefineerd is?

   new SkinID[128]; // Een skin is een INTEGER, jij maakt er een STRING van.
   format(SkinID, sizeof(SkinID), "%d", Skin);

   // In de volgende regel zitten meerdere fouten:
   // * 'SkinID' is als een string gedefineerd, dus moet je 'strcmp' gebruiken.
   // * Als je het als een integer gedefineerd had, werkt het niet zo op deze manier. Gebruik: 'if(SkinID == 0 || SkinID == 1 || SkinID == 2)' etc.
   if (SkinID == 165 || 166 || 280 || 281 || 282 || 283 || 288 || 284 || 285 || 286 || 287 || 255 || 278 || 279 || 250 || 59 || 263 || 294 || 299)
   {
       if (SkinID == 165 || 166 || 280 || 281 || 282 || 283 || 288 || 284 || 285 || 286 || 287) // Zie hierboven.
       {
           GetPlayerName(playerid, pNameCop, sizeof(pNameCop));
           dini_Create(udb_encode(pNameCop));
           format(Zinnetje, 64, "%s", dini_Get("Cops.txt", udb_encode(pName)));

           if(!strcmp(Zinnetje, "0",true)) // Waarom gebruik je hier een string voor? Je kan er beter een integer van maken.
           {
               SetPlayerPos(playerid, 1553.2588,-1676.1017,16.1953);
               gTeam[playerid] = TEAM_COP0;
               SetPlayerColor(playerid, COLOR_BLUE);
           }
           else if (!strcmp(Zinnetje, "1",true)) // zie hierboven
           {
               gTeam[playerid] = TEAM_NOT0;
               GameTextForPlayer(playerid,"~r~Je bent niet aangemeld als cop! ~n~Ga naar http://bm.johannetje2.nl/forum > en maak een apply!",10000,5);
               return 0;
           }
       }

       if (SkinID == 255 || 278 || 279 || 250 || 59 || 263 || 294 || 299) // Hier geld ook dat het op deze manier niet kan.
       {
           SetPlayerPos(playerid, 1108.1634521484,-1796.3830566406,16.59375);
           gTeam[playerid] = TEAM_CRI0;
           SetPlayerColor(playerid, COLOR_GRAY);
           return 1;
}
else
{
    SendClientMessage(playerid, COLOR_RED, "***SKIN: Dit is geen geldige skin!");
	}
return 1;
   }
   return 1;
}

Zie de comments voor de fouten.

Een makkelijkere, snellere en overzichtelijkere manier voor de 'if' regels, is de 'switch' functie.

Hieronder heb ik een voorbeeld staan van wat een verbeterde versie zou kunnen zijn:

public OnPlayerRequestSpawn(playerid)
{
   switch(GetPlayerSkin(playerid))
   {
       case 165, 166, 280, 281, 282, 283, 284, 285, 286, 287:
       {
           GetPlayerName(playerid, pNameCop, sizeof(pNameCop));
           dini_Create(udb_encode(pNameCop));

           new IsCop = dini_Int("Cops.txt", udb_encode(pName));

           if(IsCop == 0)
           {
               SetPlayerPos(playerid, 1553.2588,-1676.1017,16.1953);
               gTeam[playerid] = TEAM_COP0;
               SetPlayerColor(playerid, COLOR_BLUE);
           }
           else if (IsCop == 1)
           {
               gTeam[playerid] = TEAM_NOT0;
               GameTextForPlayer(playerid,"~r~Je bent niet aangemeld als cop! ~n~Ga naar http://bm.johannetje2.nl/forum > en maak een apply!",10000,5);
               return 0;
           }
       }

       case 255, 278, 279, 250, 59, 263, 294, 299:
       {
           SetPlayerPos(playerid, 1108.1634521484,-1796.3830566406,16.59375);
           gTeam[playerid] = TEAM_CRI0;
           SetPlayerColor(playerid, COLOR_GRAY);
           return 1;
}

       default:
{
    SendClientMessage(playerid, COLOR_RED, "***SKIN: Dit is geen geldige skin!");
	}
   }
   return 1;
}

Bij de NIET - Politiepoppetjes, zegt hij je bent geen cop, spawnt hij als CJ en krijg een error van SKIN

Volgens mij gebruik je de functie 'IsCop' verkeerd.

Ik ga er van uit dat die functie '1' retourneert als je WEL een cop bent. Jij hebt het omgekeerd.

  • Author

Volgens mij gebruik je de functie 'IsCop' verkeerd.

Ik ga er van uit dat die functie '1' retourneert als je WEL een cop bent. Jij hebt het omgekeerd.

0 = Wel cop

1 = Niet cop

EDIT:

Ik heb het aan de gang gekregen! Bedankt voor jullie hulp :D

Edited by Johannetje2

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.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.