-
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
-
Mit akarsz meg oldani leírnád pontosabban?
-
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.
-
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
-
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;
}
-
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 :)
-
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? :)
-
tudod mire jó az egyáltalán? vagy mit jelent?
-
yes sir. De akkor most jó a kod?
-
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; }
}
-
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:
-
mivel keveri össze?
-
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; }
}
}
-
csak én nem látom a 22-es class-t? :D
-
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; }
}
}
-
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
-
házi szerver :D
Amugy ne küldjem át a módot pmben mert igy csak sz*kodok
100. HSZ~~~~~
-
ááá 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 :)
-
::|
Hát jó de akkor hogy oldjam meg ezt a gyökérkezelést?
-
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
-
és a 100 pont?
-
PSpawn[playerid] = false;
helyett:
if(GetPlayerScore < 100) { PSpawn[playerid] = false; }