GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: kizo45 - 2013. Szeptember 29. - 15:09:20

Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 15:09:20
Hogyan lehetne megoldani úgy mint itt:
 

if (APlayerData[playerid][PlayerScore] < 100)
    {
      // Let the player know he needs 100 scorepoints
      GameTextForPlayer(playerid, \"100 pontnak meg kell lenni a rendoros skinert\", 5000, 4);
      SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}100 pontnak meg kell lenni a rendoros skinert\");
      return 0; // Don\'t allow the player to spawn as police player

 
Ebben a scriptben?
 

public OnPlayerRequestClass(playerid,classid)
{
    SetPlayerTeamFromClass(playerid, classid);
    RandomClass(playerid);
switch (classid)
{
   case 22,23,24:
   {
       GameTextForPlayer(playerid, \"~b~Rendvedelem\", 8000, 4);
   }
}
return 1;
}
[/quote]
Lekérdezné hogy van e több pontja 100nál akkor engedi
 
INI_WriteInt(file, \"Score\",GetPlayerScore(playerid));

 
YSI Mentés
Cím: Score
Írta: ZSOLTI99 - 2013. Szeptember 29. - 15:39:50
Mit akarsz meg oldani leírnád pontosabban?
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 15:51:44
hogy a karakterválasztóba van a rendvédelem csoport (class) és csak akkor engedje lespawnolni ha megvan 100 pontja, akkor lehet abba a classba.
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 16:55:51
hello a wikis link pont erre mutat példát :)
http://wiki.sa-mp.com/wiki/OnPlayerRequestClass
próbáld meg ez alapján és majd írd hogy sikerült
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 17:32:36
Idézetet írta: Kovacs_Richard date=1380466551\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43218\" data-ipsquote-contentclass=\"forums_Topic
hello a wikis link pont erre mutat példát :)
http://wiki.sa-mp.com/wiki/OnPlayerRequestClass
próbáld meg ez alapján és majd írd hogy sikerült
 
Aha akkor adminnal oldaom meg
Gondolom így?
 

public OnPlayerRequestClass(playerid,classid)
{
    SetPlayerTeamFromClass(playerid, classid);
    RandomClass(playerid);
switch (classid)
{
case 0,1,2,3: // Classes that will be truckdrivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~g~Kamionos Munka\",8000,4);
}
case 4,5,6,7,8,9: // Classes that will be Boat-drivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~y~Buszos Munka\",8000,4);
}
case 10,11,12,13:
{
    GameTextForPlayer(playerid, \"~r~Taxis Munka\", 8000, 4);
}
case 14,15,16,17,18:
{
    GameTextForPlayer(playerid, \"~p~Pilota\", 8000, 4);
}
case 19,20,21:
{
    GameTextForPlayer(playerid, \"~b~Szallito\", 8000, 4);
}
case 22:
{
            if(IsPlayerAdmin(playerid))
    GameTextForPlayer(playerid, \"~b~Rendvedelem\", 8000, 4);
}
if(classid == 22 && !IsPlayerAdmin(playerid))
        {
        SendClientMessage(playerid,COLOR_GREEN,\"This skin is only for admins!\");
        return 0;
}
return 1;
}

 
vagy így?
 
 
public OnPlayerRequestClass(playerid,classid)
{
    SetPlayerTeamFromClass(playerid, classid);
    RandomClass(playerid);
switch (classid)
{
case 0,1,2,3: // Classes that will be truckdrivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~g~Kamionos Munka\",8000,4);
}
case 4,5,6,7,8,9: // Classes that will be Boat-drivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~y~Buszos Munka\",8000,4);
}
case 10,11,12,13:
{
    GameTextForPlayer(playerid, \"~r~Taxis Munka\", 8000, 4);
}
case 14,15,16,17,18:
{
    GameTextForPlayer(playerid, \"~p~Pilota\", 8000, 4);
}
case 19,20,21:
{
    GameTextForPlayer(playerid, \"~b~Szallito\", 8000, 4);
}
if(classid == 22 && !IsPlayerAdmin(playerid))
        {
        GameTextForPlayer(playerid, \"~b~Rendvedelem\", 8000, 4);
        SendClientMessage(playerid,COLOR_GREEN,\"This skin is only for admins!\");
        return 0;
        }
}
return 1;
}
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 17:48:05
Idézetet írta: kizo45 date=1380468756\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43218\" data-ipsquote-contentclass=\"forums_Topic
Aha akkor adminnal oldaom meg
 
nem erre gondoltam :D azt hittem kicsit jobban vágod a dolgokat :) de akkor kicsit többet segítek :)
http://wiki.sa-mp.com/wiki/GetPlayerScore
 
if(GetPlayerScore(playerid) < 100) { return 0; }

 
na remélem ez alapján már menni fog :)
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 17:54:50
Idézetet írta: Kovacs_Richard date=1380469685\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"43218\" data-ipsquote-contentclass=\"forums_Topic


Aha akkor adminnal oldaom meg
 
nem erre gondoltam :D azt hittem kicsit jobban vágod a dolgokat :) de akkor kicsit többet segítek :)
http://wiki.sa-mp.com/wiki/GetPlayerScore
 
if(GetPlayerScore(playerid) < 100) { return 0; }

 
na remélem ez alapján már menni fog :)
 
[/quote]
Igazábol én ezt érteném csak ez a case dolog bezav ar engem  :wall:
 

public OnPlayerRequestClass(playerid,classid)
{
    SetPlayerTeamFromClass(playerid, classid);
    RandomClass(playerid);
switch (classid)
{
case 0,1,2,3: // Classes that will be truckdrivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~g~Kamionos Munka\",8000,4);
}
case 4,5,6,7,8,9: // Classes that will be Boat-drivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~y~Buszos Munka\",8000,4);
}
case 10,11,12,13:
{
    GameTextForPlayer(playerid, \"~r~Taxis Munka\", 8000, 4);
}
case 14,15,16,17,18:
{
    GameTextForPlayer(playerid, \"~p~Pilota\", 8000, 4);
}
case 19,20,21:
{
    GameTextForPlayer(playerid, \"~p~Szallito\", 8000, 4);
}
case 22:
{
            GameTextForPlayer(playerid, \"~b~Rendvedelem\", 8000, 4);
            if(GetPlayerScore(playerid) < 100)
   {
   return 0;
   }
                 }
}
return 1;
}

 
így? :)
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 17:57:37
tudod mire jó az egyáltalán? vagy mit jelent?
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 17:59:22
yes sir. De akkor most jó a kod?
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 18:05:29
nem mivel egybõl a switch után nem rakhatsz if-et csak case-n belül
valahogy így kell kinézzen:
 
case 22:
{
    GameTextForPlayer(playerid, \"~b~Rendvedelem\", 8000, 4);
if(GetPlayerScore(playerid) < 100) { SendClientMessage(playerid,COLOR_RED,\"100 pont szükséges ehhez a munkához !\"); return 0; }
}
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 18:14:52
Hát ez nem jó. Amikor rámegyek a karakterválasztóba \" erre \" akkor kiírja 100 pont kell ehhez. Spawn gomnot megnyomom és simán lespawnol. Meg õsszekeveri mással.... :hmmm:
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 18:23:06
mivel keveri össze?
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 18:24:29
többivel
 

case 0,1,2,3: // Classes that will be truckdrivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~g~Kamionos Munka\",8000,4);
}
case 4,5,6,7,8,9: // Classes that will be Boat-drivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~y~Buszos Munka\",8000,4);
}
case 10,11,12,13:
{
    GameTextForPlayer(playerid, \"~r~Taxis Munka\", 8000, 4);
}
case 14,15,16,17,18:
{
    GameTextForPlayer(playerid, \"~p~Pilota\", 8000, 4);
}
case 19,20,21:
{
    GameTextForPlayer(playerid, \"~p~Szallito\", 8000, 4);
}
                case 22:
{
    GameTextForPlayer(playerid, \"~b~Rendvedelem\", 8000, 4);
        if(GetPlayerScore(playerid) < 100) { SendClientMessage(playerid,COLOR_RED,\"100 pont szükséges ehhez a munkához !\"); return 0; }
}
}
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 18:32:22
csak én nem látom a 22-es class-t? :D
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 18:34:48
Igazábol igy van.......mindegy azthittem könnyû lesz beépíteni a 2 ezer soros modba egy munkát
 

case 0,1,2,3: // Classes that will be truckdrivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~g~Kamionos Munka\",8000,4);
}
case 4,5,6,7,8,9: // Classes that will be Boat-drivers
{
   // Display the name of the class
            GameTextForPlayer(playerid,\"~y~Buszos Munka\",8000,4);
}
case 10,11,12,13:
{
    GameTextForPlayer(playerid, \"~r~Taxis Munka\", 8000, 4);
}
case 14,15,16,17,18:
{
    GameTextForPlayer(playerid, \"~p~Pilota\", 8000, 4);
}
case 19,20,21:
{
    GameTextForPlayer(playerid, \"~p~Szallito\", 8000, 4);
}
                case 22:
{
    GameTextForPlayer(playerid, \"~b~Rendvedelem\", 8000, 4);
        if(GetPlayerScore(playerid) < 100) { SendClientMessage(playerid,COLOR_RED,\"100 pont szükséges ehhez a munkához !\"); return 0; }
}
}
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 18:40:47
hostos szerveren vagy localhost-on teszteled? megnézném hogyan néz ez ki nálad de mindjárt letesztelem nálam is de amikor régen használtam ezt a funkciót akkor mûködött
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 18:45:23
házi szerver :D
Amugy ne küldjem át a módot pmben mert igy csak sz*kodok
100. HSZ~~~~~
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 18:48:57
ááá nem lenne idõm vele bajlódni éppen a HRP-t fejlesztem csak lógok kicsit a munka elõl a fórumozással :D
de lassan már dolgozni kell szóval ebben segítek és csinálom tovább :)
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 18:50:05
::|
Hát jó de akkor hogy oldjam meg ezt a gyökérkezelést?
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 19:08:34
hát õõõ...nálam kiakadt a class váltás szóval se elõre se hátra nem tudtam menni utána :D
akkor B terv :D
http://wiki.sa-mp.com/wiki/OnPlayerRequestSpawn
ezzel a kóddal mûködik:
 
#include <a_samp>
new bool:PSpawn[MAX_PLAYERS];
main() { }
public OnGameModeInit()
{
SetGameModeText(\"NEE NEE CSAK A GOMBOKAT NEE, GUMICOKRBÓL VANNAK !!!\");
//
AddPlayerClass(100, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(101, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(102, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(103, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(104, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(105, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.5783, 1343.5572, 15.5746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
//
PSpawn[playerid] = true;
//
switch(classid)
{
    case 0: { GameTextForPlayer(playerid,\"~g~~h~Nulla\",8000,4); }
    case 1: { GameTextForPlayer(playerid,\"~b~~h~Egy\",8000,4); }
    case 2: { GameTextForPlayer(playerid,\"~p~~h~Ketto\",8000,4); }
    case 3: { GameTextForPlayer(playerid,\"~r~~h~Harom\",8000,4); }
    case 4: { GameTextForPlayer(playerid,\"~y~~h~Negy\",8000,4); PSpawn[playerid] = false; }
}
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
if(!PSpawn[playerid]) { return 0; }
return 1;
}

 
de megcsinálhatod változó helyett GetPlayerSkin-el is
http://wiki.sa-mp.com/wiki/GetPlayerSkin
Cím: Score
Írta: kizo45 - 2013. Szeptember 29. - 19:45:47
és a 100 pont?
Cím: Score
Írta: Kovacs_Richard - 2013. Szeptember 29. - 19:54:06
PSpawn[playerid] = false;

 
helyett:
 
if(GetPlayerScore < 100) { PSpawn[playerid] = false; }