-
Sziasztok!
Bevezetõ:Ez életem elsõ játékmodja,szóval elfogadok kritikákat/dícséreteket.Sajnos nem tudtam letesztelni a modot,mivel nem volt rá lehetõségem,szóval,hogyha probléma akad vagy hibát észleltek azonnal jelezzétek nekem és javítva felteszem újra.
A modot készítette: martinokok02
Nagyon nagyon mélységes köszönetemet mondom a tanáromnak,aki ha nincs ez a mod sem született volna meg:
Névszerint:BoOy
Részletek:
-Elkészítési Idõ:2 hét(tanulással + szünetekkel)
-A Játékmódot még tovább fogom fejleszteni.
Nos a modról néhány szó:A modot egyedül tanulás képpen készítettem.A modot sajnos nem volt lehetõségem letesztelni.A modban található:
-Autó tuningoló rendszer
-9 parancs
-Rádió rendszer
-Mentés/Betöltés rendszer
-Letöltési helyek:
http://pastebin.com/FVhrtJWY
http://www.solidfiles.com/d/ec935a2e5e/Modom.pwn
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
main(){}
#define DIALOG_KOCSI 2000
#define DIALOG_FELNI 3000
#define DIALOG_FESTES 4000
#define DIALOG_RADIO 5000
#define RED 0xAA3333AA
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
enum adat
{
Oles,
Halal,
Szint,
Belepesek,
Penz
};
new PlayerInfo[MAX_PLAYERS][adat];
new god[MAX_PLAYER_NAME];
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[42];
GetPlayerName(playerid,tag,sizeof(tag));
format(kiad,sizeof(kiad),\"Feljött a szerverre %s.\",tag);
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][belepesek]++;
format(kiad,sizeof(kiad),\"%s.ini\",tag);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );
SpawnPlayer(playerid);
if(dini_Exists(kiad))
{
PlayerInfo[playerid][szint] = dini_Int(kiad,\"Szint\");
PlayerInfo[playerid][Oles] = dini_Int(kiad,\"Ölés\");
PlayerInfo[playerid][Halal] = dini_Int(kiad,\"Halál\");
PlayerInfo[playerid][belepesek] = dini_Int(kiad,\"Belépések\");
PlayerInfo[playerid][Penz] = dini_Int(kiad,\"Pénz\");
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[42];
GetPlayerName(playerid,tag,sizeof(tag));
format(kiad,sizeof(kiad),\"Lelépett a szerverrõl s%\",tag);
SendClientMessageToAll(RED,kiad);
format(kiad,sizeof(kiad),\"%s.ini\",tag);
if(dini_Exists(kiad))
{
dini_IntSet(kiad,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(kiad,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(kiad,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(kiad,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(kiad,\"Pénz\", PlayerInfo[playerid][Penz]);
}
else
{
dini_Create(kiad);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new elo[20];
new halott[20];
new kiad[42];
GetPlayerName(killerid,halott,sizeof(halott));
GetPlayerName(playerid,elo,sizeof(elo));
format(kiad,sizeof(kiad),\"s% megölte %s\",elo,halott);
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][Oles]++;
PlayerInfo[killerid][Halal]++;
ResetPlayerMoney(playerid);
return 1;
}
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(PRESSED(KEY_SUBMISSION))
{
if(IsPlayerInAnyVehicle(playerid))
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
else
{
SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
return 1;
}
}
return 1;
}
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success)
{
new string[42];
format(string,sizeof(string),\"Nem létezik ez a parancs!(%s)\",cmdtext);
SendClientMessage(playerid,RED,string);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_KOCSI)
{
if(response)
{
if(listitem == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
ShowPlayerDialog(playerid,DIALOG_FELNI,DIALOG_STYLE_LIST,\"Felnik\",\"Offroad\\nMega\\nWires\\nTwist\\nGroove\\nImport\\nAtomic\\nAhab\\nVirtual\\nAccess\\nTrance\\nShadow\\nRimshine\\nClassic\\nCutter\\nSwitch\\nDollar\",\"Választ\",\"Mégse\");
return 1;
}
if(listitem == 1)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}
if(listitem == 2)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
ShowPlayerDialog(playerid,DIALOG_FESTES,DIALOG_STYLE_LIST,\"Festés\",\"Kék\\nZöld\\nFekete\\nFehér\\nBarna\\nPiros\\nRózsaszín\\nLila\",\"Választ\",\"Mégse\");
return 1;
}
if(listitem == 3)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1087);
SendClientMessage(playerid,-1,\"Felszerelted az autódat Hidraulikával.\");
}
if(listitem == 4)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1010);
}
}
}
if(dialogid == DIALOG_FELNI)
{
if(response)
{
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1025);
SendClientMessage(playerid,-1,\"Ráraktad az Offroad felnikat az autódra.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1074);
SendClientMessage(playerid,-1,\"Ráraktad a Mega felniket az autódra.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1076);
SendClientMessage(playerid,-1,\"Ráraktad a Wires felniket az autódra.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1078);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Twist kerekeket.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1081);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Groove kereket.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1082);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Import kerekeket.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Automatic kereket.\");
}
if(listitem == 8)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Ahab kerekeket.\");
}
if(listitem == 9)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1097);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Virtual kerekeket.\");
}
if(listitem == 10)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1098);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Access kerekeket.\");
}
if(listitem == 11)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1084);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Trance kerekeket.\");
}
if(listitem == 12)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1073);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Shadows kerekeket.\");
}
if(listitem == 13)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1075);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Rimshine kerekeket.\");
}
if(listitem == 14)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1077);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Classic kerekeket.\");
}
if(listitem == 15)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1079);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Cutter kerekeket.\");
}
if(listitem == 16)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1080);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Switch kerekeket.\");
}
if(listitem == 17)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1083);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Dollar kerekeket.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_FESTES)
{
if(response)
{
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,162,162);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Kékre.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,128,128);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Zöldre.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,0,0);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Feketére.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,1,1);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Fehérre.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,174,174);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Barnára.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,3,3);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Pirosra.\");
}
if(listitem == 6)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,233,233);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Rózsaszínre.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,147,147);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Lilára.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_RADIO)
{
if(response)
{
if(listitem == 0)
{
PlayAudioStreamForPlayer(playerid,\"http://195.70.35.172:8000/radio1.mp3\");
SendClientMessage(playerid,-1,\"A Rádió1-re kapcsoltad a rádiót.\");
}
if(listitem == 1)
{
PlayAudioStreamForPlayer(playerid,\"http://stream.musicfm.hu:8000/musicfm.mp3\");
SendClientMessage(playerid,-1,\"A MusicFM-re kapcsoltad a rádiót.\");
}
if(listitem == 2)
{
PlayAudioStreamForPlayer(playerid,\"http://109.199.58.91/4782/live.mp3\");
SendClientMessage(playerid,-1,\"A Juventusra kapcsoltad a rádiót.\");
}
if(listitem == 3)
{
PlayAudioStreamForPlayer(playerid,\"http://dl.dropboxusercontent.com/u/88496413/play.m3u\");
SendClientMessage(playerid,-1,\"A RiseFM-re kapcsoltad a rádiót.\");
}
}
}
return 1;
}
CMD:kill(playerid)
{
SetPlayerHealth(playerid,0.0);
SendClientMessage(playerid,-1,\"Öngyilkos lettél\");
return 1;
}
CMD:god(playerid)
{
if(god[playerid] == 0)
{
SetPlayerHealth(playerid,99999.0);
god[playerid] = 1;
SendClientMessage(playerid,-1,\"GOD-modba léptél.\");
return 1;
}
if(god[playerid] == 1)
{
SetPlayerHealth(playerid,100.0);
god[playerid] = 0;
SendClientMessage(playerid,-1,\"Kiléptél GOD-modból.\");
return 1;
}
return 1;
}
CMD:gotopos(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
if(sscanf(params,\"fff\",X,Y,Z)) return SendClientMessage(playerid,-1,\"Használat: /gotopos <X Kordináta> <Y Kordináta> <Z Kordináta>\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:goto(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
new nevem;
GetPlayerPos(nevem,X,Y,Z);
if(sscanf(params,\"u\",nevem)) return SendClientMessage(playerid,RED,\"Használat:/goto <playerid/Névrészlet>\");
if(!IsPlayerConnected(nevem)) return SendClientMessage(playerid,-1,\"Nincs ilyen játékos.\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:setskin(playerid,params[])
{
new skin;
new kiad[42];
if(sscanf(params,\"i\",skin)) return SendClientMessage(playerid,-1,\"Használat:/setskin <skinid>\");
if(skin > 299 || skin < 0) return SendClientMessage(playerid,RED,\"Rossz Skin ID!\");
format(kiad,sizeof(kiad),\"Átváltottad a skined erre:%d.\",skin);
SendClientMessage(playerid,-1,kiad);
SetPlayerSkin(playerid,skin);
return 1;
}
CMD:ido(playerid,params[])
{
new ora;
new perc;
new kiad[42];
if(sscanf(params,\"ii\",ora,perc)) return SendClientMessage(playerid,-1,\"Használat:/idõ <óra> <perc>\");
if(ora > 24 || ora < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen óra.\");
if(perc > 60 || perc < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen perc.\");
format(kiad,sizeof(kiad),\"Átváltoztattad az idõd erre:%d óra és %d perc\",ora,perc);
SendClientMessage(playerid,-1,kiad);
SetPlayerTime(playerid,ora,perc);
return 1;
}
CMD:veh(playerid, params[])
{
new auto,szin1,szin2;
if(sscanf(params,\"iii\",auto,szin1,szin2)) return SendClientMessage(playerid,RED,\"Használat: /veh [Autó] [szín 1] [szín 2]\");
new Float:X,Float:Y,Float:Z,Float:D;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,D);
CreateVehicle(auto,X,Y,Z,D,szin1,szin2,0);
new kiad[42];
format(kiad,sizeof(kiad),\"Lekértél egy jármûvet!\");
SendClientMessage(playerid,-1,kiad);
return 1;
}
CMD:radio(playerid)
{
ShowPlayerDialog(playerid,DIALOG_RADIO,DIALOG_STYLE_LIST,\"Rádió\",\"Rádió1\\nMusicFM\\nJuventus\\nRiseFM\",\"Választ\",\"Mégse\");
return 1;
}
CMD:fegyverad(playerid,params[])
{
new string[42];
new fegyverid;
new tolteny;
if(sscanf(params,\"ii\",fegyverid,tolteny)) return SendClientMessage(playerid,-1,\"Használat:/fegyverad [FegyverID] [Töltény]\");
GivePlayerWeapon(playerid,fegyverid,tolteny);
format(string,sizeof(string),\"Lekértél egy %d id-s fegyvert,%d töltényszámmal.\",fegyverid,tolteny);
SendClientMessage(playerid,-1,string);
return 1;
}
-
[gmod]Gratulálok az elsõ játékmódhoz. De kérlek próbáld meg módosítani a betû méretét kisebbre. Köszönöm szépen! :)[/gmod]
-
Parancsolj,így jó?:)
Remélem megfelel a leírás próbáltam a szabályzat szerint csinálni.:)
-
Grat, csak így tovább. :)
-
Gratulalok. En meg nem csinaltam szerot. Inkabb mas szerokon hulyultem. De tetszik nagyon varom a v2.0
-
Nagyon jó lett, gratulálok :D
-
Ahogy néztem a kódot elég jól/hibátlanúl meglett irva..gratulálok. :)
-
Koszonom szepen skacok!:)
Ugy terveztem,hogy a v2.0-ben egy rendes admin rendszert epitek fel,egy regisztracios rendszert es a tobbi legyen meglepetes,de egyebkent viccet felreteve,hogyha nincsen Norbi(BoOy) akkor meg ott kullognek az elejen,szoval nagyon szepen koszonom megegyszer!:)
-
szia, nem rossz :)
találtam néhány hibát és néhány dolgot beleírtam ami fontos lehet, hogy nehogy rosszul szokd meg, de persze ez a te döntésed, hogy megfogadod :)
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
main(){}
#define DIALOG_FEGYVER 1000
#define DIALOG_KOCSI 2000
#define DIALOG_FELNI 3000
#define DIALOG_FESTES 4000
#define DIALOG_RADIO 5000
#define RED 0xAA3333AA
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
enum adat
{
Oles,
Halal,
Szint,
Belepesek,
Penz
};
new PlayerInfo[MAX_PLAYERS][adat];
new god[MAX_PLAYER_NAME];
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[128];
GetPlayerName(playerid,tag,128); // len-hez inkább sizeof(tag) vagy MAX_PLAYER_NAME mint 128
format(kiad,128,\"Feljött a szerverre %s.\",tag); // Max hossz: 21+20+1=42 (tehát felesleges a 128 cella)
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][belepesek]++; // növeled a számot 1-el de késõbb dinibõl betöltöd!
new string[128],nev[MAX_PLAYER_NAME]; // már van 1 tömböd szöveg tárolásra + már lekérdezted a játékos nevét is
GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s.ini\",nev);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );
SpawnPlayer(playerid);
if(dini_Exists(string))
{
PlayerInfo[playerid][szint] = dini_Int(string,\"Szint\");
PlayerInfo[playerid][Oles] = dini_Int(string,\"Ölés\");
PlayerInfo[playerid][Halal] = dini_Int(string,\"Halál\");
PlayerInfo[playerid][belepesek] = dini_Int(string,\"Belépések\");
PlayerInfo[playerid][Penz] = dini_Int(string,\"Pénz\");
}
else // ezt nem a disconnectnél kellene?
{
dini_Create(string);
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[128];
GetPlayerName(playerid,tag,128); // ugyanaz mint OnPlayerConnectnél
format(kiad,128,\"Lelépett a szerverrõl s%\",tag); // ugyanaz mint OnPlayerConnectnél csak más a max hossz
SendClientMessageToAll(RED,kiad);
new string[128],nev[MAX_PLAYER_NAME]; // ugyanaz mint OnPlayerConnectnél
GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s.ini\",nev);
if(dini_Exists(string))
{
dini_IntSet(string,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(string,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(string,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(string,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(string,\"Pénz\", PlayerInfo[playerid][Penz]);
}
// ha nem létezik az account nem hozza lérte?
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new elo[128]; // max 20 karakter lehet a játékos név, felesleges 128 cella
new halott[128]; // max 20 karakter lehet a játékos név, felesleges 128 cella
new kiad[128]; // max hossz optimalizálás
GetPlayerName(killerid,halott,128);
GetPlayerName(playerid,elo,128);
format(kiad,128,\"s% megölte %s\",elo,halott);
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][Oles]++;
PlayerInfo[killerid][Halal]++;
ResetPlayerMoney(playerid);
return 1;
}
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(PRESSED(KEY_SUBMISSION))
{
if(!IsPlayerInAnyVehicle(playerid)) // HA a játékos NEM ül jármûben akkor fut le!
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
else
{
SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
return 1;
}
}
return 1;
}
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success)
{
new string[128];
format(string,sizeof(string),\"Nem létezik ez a parancs!(s%)\",cmdtext); // \'s%\' helyett \'%s\'
SendClientMessage(playerid,RED,string);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_FEGYVER)
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid,24,9999);
GivePlayerWeapon(playerid,25,9999);
GivePlayerWeapon(playerid,31,9999);
GivePlayerWeapon(playerid,32,9999);
SendClientMessage(playerid,RED,\"A Kiválasztott fegyvercsomag:Assault\");
return 1;
}
if(listitem == 1)
{
GivePlayerWeapon(playerid,22,9999);
GivePlayerWeapon(playerid,26,9999);
GivePlayerWeapon(playerid,29,9999);
GivePlayerWeapon(playerid,33,9999);
SendClientMessage(playerid,RED,\"A Kiválasztott fegyvercsomag:Sub-Machine\");
return 1;
}
if(listitem == 2)
{
GivePlayerWeapon(playerid,4,1);
GivePlayerWeapon(playerid,17,100);
GivePlayerWeapon(playerid,23,9999);
GivePlayerWeapon(playerid,27,9999);
GivePlayerWeapon(playerid,33,9999);
GivePlayerWeapon(playerid,30,9999);
GivePlayerWeapon(playerid,34,9999);
SendClientMessage(playerid,RED,\"A kiválasztott fegyvercsomag:Tactical\");
return 1;
}
}
if(!response)
{
SendClientMessage(playerid,RED,\"Kiléptél a fegyver-választóból!\");
return 1;
}
}
if(dialogid == DIALOG_KOCSI)
{
if(response)
{
if(listitem == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{ // minek ide extra blokk? az if-hez az üzenet küldés tartozott // lefele ugyanez vonatkozik!, de lehetne az if(dialogid == DIALOG_KOCSI)-hoz rakni ezt az ellenõrzést és akkor nem kell ennyiszer legyen
ShowPlayerDialog(playerid,DIALOG_FELNI,DIALOG_STYLE_LIST,\"Felnik\",\"Offroad\\nMega\\nWires\\nTwist\\nGroove\\nImport\\nAtomic\\nAhab\\nVirtual\\nAccess\\nTrance\\nShadow\\nRimshine\\nClassic\\nCutter\\nSwitch\\nDollar\",\"Választ\",\"Mégse\");
return 1;
}
}
if(listitem == 1)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{
RepairVehicle(GetPlayerVehicleID(playerid));
}
return 1;
}
if(listitem == 2)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{
ShowPlayerDialog(playerid,DIALOG_FESTES,DIALOG_STYLE_LIST,\"Festés\",\"Kék\\nZöld\\nFekete\\nFehér\\nBarna\\nPiros\\nRózsaszín\\nLila\",\"Választ\",\"Mégse\");
return 1;
}
}
if(listitem == 3)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1087);
SendClientMessage(playerid,-1,\"Felszerelted az autódat Hidraulikával.\");
}
}
if(listitem == 4)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1010);
}
}
}
}
if(dialogid == DIALOG_FELNI) // itt már nem is ellenõrzöd hogy jámrûben van e? és ha közben mondjuk törölte a szerver a jármûvet?
{
if(response)
{
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1025);
SendClientMessage(playerid,-1,\"Ráraktad az Offroad felnikat az autódra.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1074);
SendClientMessage(playerid,-1,\"Ráraktad a Mega felniket az autódra.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1076);
SendClientMessage(playerid,-1,\"Ráraktad a Wires felniket az autódra.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1078);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Twist kerekeket.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1081);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Groove kereket.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1082);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Import kerekeket.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Automatic kereket.\");
}
if(listitem == 8)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Ahab kerekeket.\");
}
if(listitem == 9)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1097);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Virtual kerekeket.\");
}
if(listitem == 10)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1098);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Access kerekeket.\");
}
if(listitem == 11)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1084);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Trance kerekeket.\");
}
if(listitem == 12)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1073);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Shadows kerekeket.\");
}
if(listitem == 13)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1075);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Rimshine kerekeket.\");
}
if(listitem == 14)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1077);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Classic kerekeket.\");
}
if(listitem == 15)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1079);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Cutter kerekeket.\");
}
if(listitem == 16)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1080);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Switch kerekeket.\");
}
if(listitem == 17)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1083);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Dollar kerekeket.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_FESTES)// itt már nem is ellenõrzöd hogy jámrûben van e? és ha közben mondjuk törölte a szerver a jármûvet?
{
if(response)
{
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,162,162);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Kékre.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,128,128);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Zöldre.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,0,0);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Feketére.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,1,1);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Fehérre.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,174,174);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Barnára.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,3,3);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Pirosra.\");
}
if(listitem == 6)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,233,233);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Rózsaszínre.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,147,147);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Lilára.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_RADIO)
{
if(response)
{
if(listitem == 0)
{
PlayAudioStreamForPlayer(playerid,\"http://195.70.35.172:8000/radio1.mp3\");
SendClientMessage(playerid,-1,\"A Rádió1-re kapcsoltad a rádiót.\");
}
if(listitem == 1)
{
PlayAudioStreamForPlayer(playerid,\"http://stream.musicfm.hu:8000/musicfm.mp3\");
SendClientMessage(playerid,-1,\"A MusicFM-re kapcsoltad a rádiót.\");
}
if(listitem == 2)
{
PlayAudioStreamForPlayer(playerid,\"http://109.199.58.91/4782/live.mp3\");
SendClientMessage(playerid,-1,\"A Juventusra kapcsoltad a rádiót.\");
}
if(listitem == 3)
{
PlayAudioStreamForPlayer(playerid,\"http://dl.dropboxusercontent.com/u/88496413/play.m3u\");
SendClientMessage(playerid,-1,\"A RiseFM-re kapcsoltad a rádiót.\");
}
}
}
return 1;
}
CMD:kill(playerid)
{
SetPlayerHealth(playerid,0.0);
SendClientMessage(playerid,-1,\"Öngyilkos lettél\");
return 1;
}
CMD:god(playerid)
{
if(god[playerid] == 0)
{
SetPlayerHealth(playerid,99999.0);
god[playerid] = 1;
SendClientMessage(playerid,-1,\"GOD-modba léptél.\");
return 1;
}
if(god[playerid] == 1)
{
SetPlayerHealth(playerid,100.0);
god[playerid] = 0;
SendClientMessage(playerid,-1,\"Kiléptél GOD-modból.\");
return 1;
}
return 1;
}
CMD:gotopos(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
if(sscanf(params,\"fff\",X,Y,Z)) return SendClientMessage(playerid,-1,\"Használat: /gotopos <X Kordináta> <Y Kordináta> <Z Kordináta>\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:goto(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
new nevem;
GetPlayerPos(nevem,X,Y,Z); // mindig a 0-s játékos pozíciójára teleportál!
if(sscanf(params,\"i\",nevem)) return SendClientMessage(playerid,RED,\"Használat:/goto <playerid>\");
// sscanf-el nem csak számot hanem játékos azonosítót is választhatsz le \"u\" paraméterrel
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:setskin(playerid,params[])
{
new skin;
new kiad[128];
if(sscanf(params,\"i\",skin)) return SendClientMessage(playerid,-1,\"Használat:/setskin <skinid>\");
if(skin > 299 || skin < 0) return SendClientMessage(playerid,RED,\"Rossz Skin ID!\");
format(kiad,128,\"Átváltottad a skined erre:d%.\",skin); // d% helyett %d
SendClientMessage(playerid,-1,kiad);
SetPlayerSkin(playerid,skin);
return 1;
}
CMD:ido(playerid,params[])
{
new ora;
new perc;
new kiad[128];
if(sscanf(params,\"ii\",ora,perc)) return SendClientMessage(playerid,-1,\"Használat:/idõ <óra> <perc>\");
if(ora > 24 || ora < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen óra.\");
if(perc > 60 || perc < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen perc.\");
format(kiad,128,\"Átváltoztattad az idõd erre:d% óra és d% perc\",ora,perc); // d% helyett %d
SendClientMessage(playerid,-1,kiad);
SetPlayerTime(playerid,ora,perc);
return 1;
}
CMD:veh(playerid, params[])
{
new auto,szin1,szin2;
if(sscanf(params,\"iii\",auto,szin1,szin2)) return SendClientMessage(playerid,RED,\"Használat: /veh [Autó] [szín 1] [szín 2]\");
new Float:X,Float:Y,Float:Z,Float:D;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,D);
CreateVehicle(auto,X,Y,Z,D,szin1,szin2,0);
new kiad[128]; // max hossz optimalizálás
format(kiad,128,\"Lekértél egy jármûvet!\");
SendClientMessage(playerid,-1,kiad);
return 1;
}
CMD:radio(playerid)
{
ShowPlayerDialog(playerid,DIALOG_RADIO,DIALOG_STYLE_LIST,\"Rádió\",\"Rádió1\\nMusicFM\\nJuventus\\nRiseFM\",\"Választ\",\"Mégse\");
return 1;
}
CMD:fegyverad(playerid,params[])
{
new string[128];// max hossz optimalizálás
new fegyverid;
new tolteny;
if(sscanf(params,\"ii\",fegyverid,tolteny)) return SendClientMessage(playerid,-1,\"Használat:/fegyverad [FegyverID] [Töltény]\");
GivePlayerWeapon(playerid,fegyverid,tolteny);
format(string,sizeof(string),\"Lekértél egy d% id-s fegyvert,d% töltényszámmal.\",fegyverid,tolteny); // d% helyett %d
SendClientMessage(playerid,-1,string);
return 1;
}
-
Szia szia.Persze,hogy megfogadom!Rendben koszonom a segitsegedet a v2.0-s verziora mindent kijavitok.Koszonom az eszreveteled/javitasodat!:)
-
Hali! jó lett a mód.:D És ugymond \"ismerlek\" :DD(ForeverRPG)
-
azért a modról írhatnál pár sort hogy miez - merre hány méter , mi van a modban stb
-
azért a modról írhatnál pár sort hogy miez - merre hány méter , mi van a modban stb
Kész.:)
-
szia ismét commenteztem :)
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
main(){}
#define DIALOG_KOCSI 2000
#define DIALOG_FELNI 3000
#define DIALOG_FESTES 4000
#define DIALOG_RADIO 5000
#define RED 0xAA3333AA
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
enum adat
{
Oles,
Halal,
Szint,
Belepesek,
Penz
};
new PlayerInfo[MAX_PLAYERS][adat];
new god[MAX_PLAYER_NAME];
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[42];
GetPlayerName(playerid,tag,sizeof(tag));
format(kiad,sizeof(kiad),\"Feljött a szerverre %s.\",tag);
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][belepesek]++; // ez még mindig nem jó helyen van...az adat betöltés után kellene
format(kiad,sizeof(kiad),\"%s.ini\",tag);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );
SpawnPlayer(playerid);
if(dini_Exists(kiad))
{
PlayerInfo[playerid][szint] = dini_Int(kiad,\"Szint\");
PlayerInfo[playerid][Oles] = dini_Int(kiad,\"Ölés\");
PlayerInfo[playerid][Halal] = dini_Int(kiad,\"Halál\");
PlayerInfo[playerid][belepesek] = dini_Int(kiad,\"Belépések\");
PlayerInfo[playerid][Penz] = dini_Int(kiad,\"Pénz\");
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[42];
GetPlayerName(playerid,tag,sizeof(tag));
format(kiad,sizeof(kiad),\"Lelépett a szerverrõl s%\",tag); // 22 + 20 + 1 = 43 ( ha 20 karakteres névvel lép ki a játékos az utolsó karakter nem fog látszódni )
SendClientMessageToAll(RED,kiad);
format(kiad,sizeof(kiad),\"%s.ini\",tag);
// Ha van accountja akkor menti csak az adatokat ha nincs akkor meg csak létrehoz neki egy üreset? és csak 2. kilépésnél menti el az adatait
// úgy csináld HA nincs fájl hozd létre és utána ments (a fájl ellenõrzés feltételen kívül)
/*
if(!dini_Exists(kiad)) { dini_Create(kiad); }
dini_IntSet(kiad,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(kiad,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(kiad,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(kiad,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(kiad,\"Pénz\", PlayerInfo[playerid][Penz]);
*/
if(dini_Exists(kiad))
{
dini_IntSet(kiad,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(kiad,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(kiad,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(kiad,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(kiad,\"Pénz\", PlayerInfo[playerid][Penz]);
}
else
{
dini_Create(kiad);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new elo[20];
new halott[20];
new kiad[42];
GetPlayerName(killerid,halott,sizeof(halott));
GetPlayerName(playerid,elo,sizeof(elo));
format(kiad,sizeof(kiad),\"s% megölte %s\",elo,halott); // s% helyett %s
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][Oles]++;
PlayerInfo[killerid][Halal]++;
ResetPlayerMoney(playerid);
return 1;
}
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(PRESSED(KEY_SUBMISSION))
{
if(IsPlayerInAnyVehicle(playerid))
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
else
{
SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
return 1;
}
}
return 1;
}
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success)
{
new string[42];
format(string,sizeof(string),\"Nem létezik ez a parancs!(%s)\",cmdtext);
SendClientMessage(playerid,RED,string);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_KOCSI)
{
if(response)
{
// Jobb lenne ide kiemelni mert akkor nem kéne annyi helyre berakni...
// if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
if(listitem == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
ShowPlayerDialog(playerid,DIALOG_FELNI,DIALOG_STYLE_LIST,\"Felnik\",\"Offroad\\nMega\\nWires\\nTwist\\nGroove\\nImport\\nAtomic\\nAhab\\nVirtual\\nAccess\\nTrance\\nShadow\\nRimshine\\nClassic\\nCutter\\nSwitch\\nDollar\",\"Választ\",\"Mégse\");
return 1;
}
if(listitem == 1)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}
if(listitem == 2)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
ShowPlayerDialog(playerid,DIALOG_FESTES,DIALOG_STYLE_LIST,\"Festés\",\"Kék\\nZöld\\nFekete\\nFehér\\nBarna\\nPiros\\nRózsaszín\\nLila\",\"Választ\",\"Mégse\");
return 1;
}
if(listitem == 3)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1087);
SendClientMessage(playerid,-1,\"Felszerelted az autódat Hidraulikával.\");
}
if(listitem == 4)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1010);
}
}
}
if(dialogid == DIALOG_FELNI)
{
if(response)
{
// innen hiányzik a jármû ellenõrzés
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1025);
SendClientMessage(playerid,-1,\"Ráraktad az Offroad felnikat az autódra.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1074);
SendClientMessage(playerid,-1,\"Ráraktad a Mega felniket az autódra.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1076);
SendClientMessage(playerid,-1,\"Ráraktad a Wires felniket az autódra.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1078);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Twist kerekeket.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1081);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Groove kereket.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1082);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Import kerekeket.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Automatic kereket.\");
}
if(listitem == 8)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Ahab kerekeket.\");
}
if(listitem == 9)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1097);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Virtual kerekeket.\");
}
if(listitem == 10)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1098);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Access kerekeket.\");
}
if(listitem == 11)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1084);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Trance kerekeket.\");
}
if(listitem == 12)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1073);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Shadows kerekeket.\");
}
if(listitem == 13)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1075);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Rimshine kerekeket.\");
}
if(listitem == 14)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1077);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Classic kerekeket.\");
}
if(listitem == 15)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1079);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Cutter kerekeket.\");
}
if(listitem == 16)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1080);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Switch kerekeket.\");
}
if(listitem == 17)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1083);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Dollar kerekeket.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_FESTES)
{
if(response)
{
// innen hiányzik a jármû ellenõrzés
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,162,162);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Kékre.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,128,128);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Zöldre.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,0,0);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Feketére.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,1,1);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Fehérre.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,174,174);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Barnára.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,3,3);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Pirosra.\");
}
if(listitem == 6)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,233,233);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Rózsaszínre.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,147,147);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Lilára.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_RADIO)
{
if(response)
{
if(listitem == 0)
{
PlayAudioStreamForPlayer(playerid,\"http://195.70.35.172:8000/radio1.mp3\");
SendClientMessage(playerid,-1,\"A Rádió1-re kapcsoltad a rádiót.\");
}
if(listitem == 1)
{
PlayAudioStreamForPlayer(playerid,\"http://stream.musicfm.hu:8000/musicfm.mp3\");
SendClientMessage(playerid,-1,\"A MusicFM-re kapcsoltad a rádiót.\");
}
if(listitem == 2)
{
PlayAudioStreamForPlayer(playerid,\"http://109.199.58.91/4782/live.mp3\");
SendClientMessage(playerid,-1,\"A Juventusra kapcsoltad a rádiót.\");
}
if(listitem == 3)
{
PlayAudioStreamForPlayer(playerid,\"http://dl.dropboxusercontent.com/u/88496413/play.m3u\");
SendClientMessage(playerid,-1,\"A RiseFM-re kapcsoltad a rádiót.\");
}
}
}
return 1;
}
CMD:kill(playerid)
{
SetPlayerHealth(playerid,0.0);
SendClientMessage(playerid,-1,\"Öngyilkos lettél\");
return 1;
}
CMD:god(playerid)
{
if(god[playerid] == 0)
{
SetPlayerHealth(playerid,99999.0);
god[playerid] = 1;
SendClientMessage(playerid,-1,\"GOD-modba léptél.\");
return 1;
}
if(god[playerid] == 1)
{
SetPlayerHealth(playerid,100.0);
god[playerid] = 0;
SendClientMessage(playerid,-1,\"Kiléptél GOD-modból.\");
return 1;
}
return 1;
}
CMD:gotopos(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
if(sscanf(params,\"fff\",X,Y,Z)) return SendClientMessage(playerid,-1,\"Használat: /gotopos <X Kordináta> <Y Kordináta> <Z Kordináta>\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:goto(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
new nevem;
GetPlayerPos(nevem,X,Y,Z); // mindig a 0-s játékos pozíciójára teleportál
if(sscanf(params,\"u\",nevem)) return SendClientMessage(playerid,RED,\"Használat:/goto <playerid/Névrészlet>\");
if(!IsPlayerConnected(nevem)) return SendClientMessage(playerid,-1,\"Nincs ilyen játékos.\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:setskin(playerid,params[])
{
new skin;
new kiad[42];
if(sscanf(params,\"i\",skin)) return SendClientMessage(playerid,-1,\"Használat:/setskin <skinid>\");
if(skin > 299 || skin < 0) return SendClientMessage(playerid,RED,\"Rossz Skin ID!\");
format(kiad,sizeof(kiad),\"Átváltottad a skined erre:%d.\",skin); // 27+3+1=31
/*
Átváltottad a skined erre:. = 27
%d 3 számjegyû lehet = 3
szöveg végét jelzõ \\0 karakter = 1
ezeket összeadva jön ki a max hossz...nem mindenhol 42 kell :) össze kell számolni, hogy hol mennyi cellára van szükség...
*/
SendClientMessage(playerid,-1,kiad);
SetPlayerSkin(playerid,skin);
return 1;
}
CMD:ido(playerid,params[])
{
new ora;
new perc;
new kiad[42];
if(sscanf(params,\"ii\",ora,perc)) return SendClientMessage(playerid,-1,\"Használat:/idõ <óra> <perc>\");
if(ora > 24 || ora < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen óra.\");
if(perc > 60 || perc < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen perc.\");
format(kiad,sizeof(kiad),\"Átváltoztattad az idõd erre:%d óra és %d perc\",ora,perc); // 41 + 4 + 1 = 46
SendClientMessage(playerid,-1,kiad);
SetPlayerTime(playerid,ora,perc);
return 1;
}
CMD:veh(playerid, params[])
{
new auto,szin1,szin2;
if(sscanf(params,\"iii\",auto,szin1,szin2)) return SendClientMessage(playerid,RED,\"Használat: /veh [Autó] [szín 1] [szín 2]\");
new Float:X,Float:Y,Float:Z,Float:D;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,D);
CreateVehicle(auto,X,Y,Z,D,szin1,szin2,0);
new kiad[42];
format(kiad,sizeof(kiad),\"Lekértél egy jármûvet!\"); // ez egy statikus szöveg nem kell tömb és formázás neki
SendClientMessage(playerid,-1,kiad);
return 1;
}
CMD:radio(playerid)
{
ShowPlayerDialog(playerid,DIALOG_RADIO,DIALOG_STYLE_LIST,\"Rádió\",\"Rádió1\\nMusicFM\\nJuventus\\nRiseFM\",\"Választ\",\"Mégse\");
return 1;
}
CMD:fegyverad(playerid,params[])
{
new string[42];
new fegyverid;
new tolteny;
if(sscanf(params,\"ii\",fegyverid,tolteny)) return SendClientMessage(playerid,-1,\"Használat:/fegyverad [FegyverID] [Töltény]\");
GivePlayerWeapon(playerid,fegyverid,tolteny);
format(string,sizeof(string),\"Lekértél egy %d id-s fegyvert,%d töltényszámmal.\",fegyverid,tolteny); // 44 + 2 + 10 + 1 = 57 // a 10a töltényszám mivel nem látok korlátozást beírhatnak 1000000000-ot is
SendClientMessage(playerid,-1,string);
return 1;
}
-
Szia szia.
Köszönöm a válaszodat.
Most már a javított verziót nem töltöm fel,mert már nagyon belekezdtem a v2.0-ba.
Persze ha nem jelent problémát.
-
Szia szia.
Köszönöm a válaszodat.
Most már a javított verziót nem töltöm fel,mert már nagyon belekezdtem a v2.0-ba.
Persze ha nem jelent problémát.
hát nekem nem jelent problémát :)
-
Grat, csak így tovább. :)
-
Gratulalok. En meg nem csinaltam szerot. Inkabb mas szerokon hulyultem. De tetszik nagyon varom a v2.0
-
Nagyon jó lett, gratulálok :D
-
Ahogy néztem a kódot elég jól/hibátlanúl meglett irva..gratulálok. :)
-
Koszonom szepen skacok!:)
Ugy terveztem,hogy a v2.0-ben egy rendes admin rendszert epitek fel,egy regisztracios rendszert es a tobbi legyen meglepetes,de egyebkent viccet felreteve,hogyha nincsen Norbi(BoOy) akkor meg ott kullognek az elejen,szoval nagyon szepen koszonom megegyszer!:)
-
szia, nem rossz :)
találtam néhány hibát és néhány dolgot beleírtam ami fontos lehet, hogy nehogy rosszul szokd meg, de persze ez a te döntésed, hogy megfogadod :)
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
main(){}
#define DIALOG_FEGYVER 1000
#define DIALOG_KOCSI 2000
#define DIALOG_FELNI 3000
#define DIALOG_FESTES 4000
#define DIALOG_RADIO 5000
#define RED 0xAA3333AA
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
enum adat
{
Oles,
Halal,
Szint,
Belepesek,
Penz
};
new PlayerInfo[MAX_PLAYERS][adat];
new god[MAX_PLAYER_NAME];
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[128];
GetPlayerName(playerid,tag,128); // len-hez inkább sizeof(tag) vagy MAX_PLAYER_NAME mint 128
format(kiad,128,\"Feljött a szerverre %s.\",tag); // Max hossz: 21+20+1=42 (tehát felesleges a 128 cella)
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][belepesek]++; // növeled a számot 1-el de késõbb dinibõl betöltöd!
new string[128],nev[MAX_PLAYER_NAME]; // már van 1 tömböd szöveg tárolásra + már lekérdezted a játékos nevét is
GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s.ini\",nev);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );
SpawnPlayer(playerid);
if(dini_Exists(string))
{
PlayerInfo[playerid][szint] = dini_Int(string,\"Szint\");
PlayerInfo[playerid][Oles] = dini_Int(string,\"Ölés\");
PlayerInfo[playerid][Halal] = dini_Int(string,\"Halál\");
PlayerInfo[playerid][belepesek] = dini_Int(string,\"Belépések\");
PlayerInfo[playerid][Penz] = dini_Int(string,\"Pénz\");
}
else // ezt nem a disconnectnél kellene?
{
dini_Create(string);
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[128];
GetPlayerName(playerid,tag,128); // ugyanaz mint OnPlayerConnectnél
format(kiad,128,\"Lelépett a szerverrõl s%\",tag); // ugyanaz mint OnPlayerConnectnél csak más a max hossz
SendClientMessageToAll(RED,kiad);
new string[128],nev[MAX_PLAYER_NAME]; // ugyanaz mint OnPlayerConnectnél
GetPlayerName(playerid,nev,sizeof(nev));
format(string,sizeof(string),\"%s.ini\",nev);
if(dini_Exists(string))
{
dini_IntSet(string,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(string,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(string,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(string,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(string,\"Pénz\", PlayerInfo[playerid][Penz]);
}
// ha nem létezik az account nem hozza lérte?
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new elo[128]; // max 20 karakter lehet a játékos név, felesleges 128 cella
new halott[128]; // max 20 karakter lehet a játékos név, felesleges 128 cella
new kiad[128]; // max hossz optimalizálás
GetPlayerName(killerid,halott,128);
GetPlayerName(playerid,elo,128);
format(kiad,128,\"s% megölte %s\",elo,halott);
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][Oles]++;
PlayerInfo[killerid][Halal]++;
ResetPlayerMoney(playerid);
return 1;
}
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(PRESSED(KEY_SUBMISSION))
{
if(!IsPlayerInAnyVehicle(playerid)) // HA a játékos NEM ül jármûben akkor fut le!
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
else
{
SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
return 1;
}
}
return 1;
}
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success)
{
new string[128];
format(string,sizeof(string),\"Nem létezik ez a parancs!(s%)\",cmdtext); // \'s%\' helyett \'%s\'
SendClientMessage(playerid,RED,string);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_FEGYVER)
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid,24,9999);
GivePlayerWeapon(playerid,25,9999);
GivePlayerWeapon(playerid,31,9999);
GivePlayerWeapon(playerid,32,9999);
SendClientMessage(playerid,RED,\"A Kiválasztott fegyvercsomag:Assault\");
return 1;
}
if(listitem == 1)
{
GivePlayerWeapon(playerid,22,9999);
GivePlayerWeapon(playerid,26,9999);
GivePlayerWeapon(playerid,29,9999);
GivePlayerWeapon(playerid,33,9999);
SendClientMessage(playerid,RED,\"A Kiválasztott fegyvercsomag:Sub-Machine\");
return 1;
}
if(listitem == 2)
{
GivePlayerWeapon(playerid,4,1);
GivePlayerWeapon(playerid,17,100);
GivePlayerWeapon(playerid,23,9999);
GivePlayerWeapon(playerid,27,9999);
GivePlayerWeapon(playerid,33,9999);
GivePlayerWeapon(playerid,30,9999);
GivePlayerWeapon(playerid,34,9999);
SendClientMessage(playerid,RED,\"A kiválasztott fegyvercsomag:Tactical\");
return 1;
}
}
if(!response)
{
SendClientMessage(playerid,RED,\"Kiléptél a fegyver-választóból!\");
return 1;
}
}
if(dialogid == DIALOG_KOCSI)
{
if(response)
{
if(listitem == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{ // minek ide extra blokk? az if-hez az üzenet küldés tartozott // lefele ugyanez vonatkozik!, de lehetne az if(dialogid == DIALOG_KOCSI)-hoz rakni ezt az ellenõrzést és akkor nem kell ennyiszer legyen
ShowPlayerDialog(playerid,DIALOG_FELNI,DIALOG_STYLE_LIST,\"Felnik\",\"Offroad\\nMega\\nWires\\nTwist\\nGroove\\nImport\\nAtomic\\nAhab\\nVirtual\\nAccess\\nTrance\\nShadow\\nRimshine\\nClassic\\nCutter\\nSwitch\\nDollar\",\"Választ\",\"Mégse\");
return 1;
}
}
if(listitem == 1)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{
RepairVehicle(GetPlayerVehicleID(playerid));
}
return 1;
}
if(listitem == 2)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{
ShowPlayerDialog(playerid,DIALOG_FESTES,DIALOG_STYLE_LIST,\"Festés\",\"Kék\\nZöld\\nFekete\\nFehér\\nBarna\\nPiros\\nRózsaszín\\nLila\",\"Választ\",\"Mégse\");
return 1;
}
}
if(listitem == 3)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1087);
SendClientMessage(playerid,-1,\"Felszerelted az autódat Hidraulikával.\");
}
}
if(listitem == 4)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1010);
}
}
}
}
if(dialogid == DIALOG_FELNI) // itt már nem is ellenõrzöd hogy jámrûben van e? és ha közben mondjuk törölte a szerver a jármûvet?
{
if(response)
{
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1025);
SendClientMessage(playerid,-1,\"Ráraktad az Offroad felnikat az autódra.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1074);
SendClientMessage(playerid,-1,\"Ráraktad a Mega felniket az autódra.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1076);
SendClientMessage(playerid,-1,\"Ráraktad a Wires felniket az autódra.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1078);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Twist kerekeket.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1081);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Groove kereket.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1082);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Import kerekeket.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Automatic kereket.\");
}
if(listitem == 8)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Ahab kerekeket.\");
}
if(listitem == 9)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1097);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Virtual kerekeket.\");
}
if(listitem == 10)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1098);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Access kerekeket.\");
}
if(listitem == 11)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1084);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Trance kerekeket.\");
}
if(listitem == 12)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1073);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Shadows kerekeket.\");
}
if(listitem == 13)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1075);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Rimshine kerekeket.\");
}
if(listitem == 14)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1077);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Classic kerekeket.\");
}
if(listitem == 15)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1079);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Cutter kerekeket.\");
}
if(listitem == 16)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1080);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Switch kerekeket.\");
}
if(listitem == 17)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1083);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Dollar kerekeket.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_FESTES)// itt már nem is ellenõrzöd hogy jámrûben van e? és ha közben mondjuk törölte a szerver a jármûvet?
{
if(response)
{
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,162,162);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Kékre.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,128,128);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Zöldre.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,0,0);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Feketére.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,1,1);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Fehérre.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,174,174);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Barnára.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,3,3);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Pirosra.\");
}
if(listitem == 6)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,233,233);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Rózsaszínre.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,147,147);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Lilára.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_RADIO)
{
if(response)
{
if(listitem == 0)
{
PlayAudioStreamForPlayer(playerid,\"http://195.70.35.172:8000/radio1.mp3\");
SendClientMessage(playerid,-1,\"A Rádió1-re kapcsoltad a rádiót.\");
}
if(listitem == 1)
{
PlayAudioStreamForPlayer(playerid,\"http://stream.musicfm.hu:8000/musicfm.mp3\");
SendClientMessage(playerid,-1,\"A MusicFM-re kapcsoltad a rádiót.\");
}
if(listitem == 2)
{
PlayAudioStreamForPlayer(playerid,\"http://109.199.58.91/4782/live.mp3\");
SendClientMessage(playerid,-1,\"A Juventusra kapcsoltad a rádiót.\");
}
if(listitem == 3)
{
PlayAudioStreamForPlayer(playerid,\"http://dl.dropboxusercontent.com/u/88496413/play.m3u\");
SendClientMessage(playerid,-1,\"A RiseFM-re kapcsoltad a rádiót.\");
}
}
}
return 1;
}
CMD:kill(playerid)
{
SetPlayerHealth(playerid,0.0);
SendClientMessage(playerid,-1,\"Öngyilkos lettél\");
return 1;
}
CMD:god(playerid)
{
if(god[playerid] == 0)
{
SetPlayerHealth(playerid,99999.0);
god[playerid] = 1;
SendClientMessage(playerid,-1,\"GOD-modba léptél.\");
return 1;
}
if(god[playerid] == 1)
{
SetPlayerHealth(playerid,100.0);
god[playerid] = 0;
SendClientMessage(playerid,-1,\"Kiléptél GOD-modból.\");
return 1;
}
return 1;
}
CMD:gotopos(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
if(sscanf(params,\"fff\",X,Y,Z)) return SendClientMessage(playerid,-1,\"Használat: /gotopos <X Kordináta> <Y Kordináta> <Z Kordináta>\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:goto(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
new nevem;
GetPlayerPos(nevem,X,Y,Z); // mindig a 0-s játékos pozíciójára teleportál!
if(sscanf(params,\"i\",nevem)) return SendClientMessage(playerid,RED,\"Használat:/goto <playerid>\");
// sscanf-el nem csak számot hanem játékos azonosítót is választhatsz le \"u\" paraméterrel
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:setskin(playerid,params[])
{
new skin;
new kiad[128];
if(sscanf(params,\"i\",skin)) return SendClientMessage(playerid,-1,\"Használat:/setskin <skinid>\");
if(skin > 299 || skin < 0) return SendClientMessage(playerid,RED,\"Rossz Skin ID!\");
format(kiad,128,\"Átváltottad a skined erre:d%.\",skin); // d% helyett %d
SendClientMessage(playerid,-1,kiad);
SetPlayerSkin(playerid,skin);
return 1;
}
CMD:ido(playerid,params[])
{
new ora;
new perc;
new kiad[128];
if(sscanf(params,\"ii\",ora,perc)) return SendClientMessage(playerid,-1,\"Használat:/idõ <óra> <perc>\");
if(ora > 24 || ora < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen óra.\");
if(perc > 60 || perc < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen perc.\");
format(kiad,128,\"Átváltoztattad az idõd erre:d% óra és d% perc\",ora,perc); // d% helyett %d
SendClientMessage(playerid,-1,kiad);
SetPlayerTime(playerid,ora,perc);
return 1;
}
CMD:veh(playerid, params[])
{
new auto,szin1,szin2;
if(sscanf(params,\"iii\",auto,szin1,szin2)) return SendClientMessage(playerid,RED,\"Használat: /veh [Autó] [szín 1] [szín 2]\");
new Float:X,Float:Y,Float:Z,Float:D;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,D);
CreateVehicle(auto,X,Y,Z,D,szin1,szin2,0);
new kiad[128]; // max hossz optimalizálás
format(kiad,128,\"Lekértél egy jármûvet!\");
SendClientMessage(playerid,-1,kiad);
return 1;
}
CMD:radio(playerid)
{
ShowPlayerDialog(playerid,DIALOG_RADIO,DIALOG_STYLE_LIST,\"Rádió\",\"Rádió1\\nMusicFM\\nJuventus\\nRiseFM\",\"Választ\",\"Mégse\");
return 1;
}
CMD:fegyverad(playerid,params[])
{
new string[128];// max hossz optimalizálás
new fegyverid;
new tolteny;
if(sscanf(params,\"ii\",fegyverid,tolteny)) return SendClientMessage(playerid,-1,\"Használat:/fegyverad [FegyverID] [Töltény]\");
GivePlayerWeapon(playerid,fegyverid,tolteny);
format(string,sizeof(string),\"Lekértél egy d% id-s fegyvert,d% töltényszámmal.\",fegyverid,tolteny); // d% helyett %d
SendClientMessage(playerid,-1,string);
return 1;
}
-
Szia szia.Persze,hogy megfogadom!Rendben koszonom a segitsegedet a v2.0-s verziora mindent kijavitok.Koszonom az eszreveteled/javitasodat!:)
-
Hali! jó lett a mód.:D És ugymond \"ismerlek\" :DD(ForeverRPG)
-
azért a modról írhatnál pár sort hogy miez - merre hány méter , mi van a modban stb
-
azért a modról írhatnál pár sort hogy miez - merre hány méter , mi van a modban stb
Kész.:)
-
szia ismét commenteztem :)
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <dini>
main(){}
#define DIALOG_KOCSI 2000
#define DIALOG_FELNI 3000
#define DIALOG_FESTES 4000
#define DIALOG_RADIO 5000
#define RED 0xAA3333AA
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
enum adat
{
Oles,
Halal,
Szint,
Belepesek,
Penz
};
new PlayerInfo[MAX_PLAYERS][adat];
new god[MAX_PLAYER_NAME];
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[42];
GetPlayerName(playerid,tag,sizeof(tag));
format(kiad,sizeof(kiad),\"Feljött a szerverre %s.\",tag);
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][belepesek]++; // ez még mindig nem jó helyen van...az adat betöltés után kellene
format(kiad,sizeof(kiad),\"%s.ini\",tag);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );
SpawnPlayer(playerid);
if(dini_Exists(kiad))
{
PlayerInfo[playerid][szint] = dini_Int(kiad,\"Szint\");
PlayerInfo[playerid][Oles] = dini_Int(kiad,\"Ölés\");
PlayerInfo[playerid][Halal] = dini_Int(kiad,\"Halál\");
PlayerInfo[playerid][belepesek] = dini_Int(kiad,\"Belépések\");
PlayerInfo[playerid][Penz] = dini_Int(kiad,\"Pénz\");
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[42];
GetPlayerName(playerid,tag,sizeof(tag));
format(kiad,sizeof(kiad),\"Lelépett a szerverrõl s%\",tag); // 22 + 20 + 1 = 43 ( ha 20 karakteres névvel lép ki a játékos az utolsó karakter nem fog látszódni )
SendClientMessageToAll(RED,kiad);
format(kiad,sizeof(kiad),\"%s.ini\",tag);
// Ha van accountja akkor menti csak az adatokat ha nincs akkor meg csak létrehoz neki egy üreset? és csak 2. kilépésnél menti el az adatait
// úgy csináld HA nincs fájl hozd létre és utána ments (a fájl ellenõrzés feltételen kívül)
/*
if(!dini_Exists(kiad)) { dini_Create(kiad); }
dini_IntSet(kiad,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(kiad,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(kiad,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(kiad,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(kiad,\"Pénz\", PlayerInfo[playerid][Penz]);
*/
if(dini_Exists(kiad))
{
dini_IntSet(kiad,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(kiad,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(kiad,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(kiad,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(kiad,\"Pénz\", PlayerInfo[playerid][Penz]);
}
else
{
dini_Create(kiad);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new elo[20];
new halott[20];
new kiad[42];
GetPlayerName(killerid,halott,sizeof(halott));
GetPlayerName(playerid,elo,sizeof(elo));
format(kiad,sizeof(kiad),\"s% megölte %s\",elo,halott); // s% helyett %s
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][Oles]++;
PlayerInfo[killerid][Halal]++;
ResetPlayerMoney(playerid);
return 1;
}
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(PRESSED(KEY_SUBMISSION))
{
if(IsPlayerInAnyVehicle(playerid))
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
else
{
SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
return 1;
}
}
return 1;
}
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success)
{
new string[42];
format(string,sizeof(string),\"Nem létezik ez a parancs!(%s)\",cmdtext);
SendClientMessage(playerid,RED,string);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_KOCSI)
{
if(response)
{
// Jobb lenne ide kiemelni mert akkor nem kéne annyi helyre berakni...
// if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
if(listitem == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
ShowPlayerDialog(playerid,DIALOG_FELNI,DIALOG_STYLE_LIST,\"Felnik\",\"Offroad\\nMega\\nWires\\nTwist\\nGroove\\nImport\\nAtomic\\nAhab\\nVirtual\\nAccess\\nTrance\\nShadow\\nRimshine\\nClassic\\nCutter\\nSwitch\\nDollar\",\"Választ\",\"Mégse\");
return 1;
}
if(listitem == 1)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}
if(listitem == 2)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
ShowPlayerDialog(playerid,DIALOG_FESTES,DIALOG_STYLE_LIST,\"Festés\",\"Kék\\nZöld\\nFekete\\nFehér\\nBarna\\nPiros\\nRózsaszín\\nLila\",\"Választ\",\"Mégse\");
return 1;
}
if(listitem == 3)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1087);
SendClientMessage(playerid,-1,\"Felszerelted az autódat Hidraulikával.\");
}
if(listitem == 4)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1010);
}
}
}
if(dialogid == DIALOG_FELNI)
{
if(response)
{
// innen hiányzik a jármû ellenõrzés
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1025);
SendClientMessage(playerid,-1,\"Ráraktad az Offroad felnikat az autódra.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1074);
SendClientMessage(playerid,-1,\"Ráraktad a Mega felniket az autódra.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1076);
SendClientMessage(playerid,-1,\"Ráraktad a Wires felniket az autódra.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1078);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Twist kerekeket.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1081);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Groove kereket.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1082);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Import kerekeket.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Automatic kereket.\");
}
if(listitem == 8)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1085);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Ahab kerekeket.\");
}
if(listitem == 9)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1097);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Virtual kerekeket.\");
}
if(listitem == 10)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1098);
SendClientMessage(playerid,-1,\"Ráraktad az autódra az Access kerekeket.\");
}
if(listitem == 11)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1084);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Trance kerekeket.\");
}
if(listitem == 12)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1073);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Shadows kerekeket.\");
}
if(listitem == 13)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1075);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Rimshine kerekeket.\");
}
if(listitem == 14)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1077);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Classic kerekeket.\");
}
if(listitem == 15)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1079);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Cutter kerekeket.\");
}
if(listitem == 16)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1080);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Switch kerekeket.\");
}
if(listitem == 17)
{
new kocsi = GetPlayerVehicleID(playerid);
AddVehicleComponent(kocsi,1083);
SendClientMessage(playerid,-1,\"Ráraktad az autódra a Dollar kerekeket.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_FESTES)
{
if(response)
{
// innen hiányzik a jármû ellenõrzés
if(listitem == 0)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,162,162);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Kékre.\");
}
if(listitem == 1)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,128,128);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Zöldre.\");
}
if(listitem == 2)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,0,0);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Feketére.\");
}
if(listitem == 3)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,1,1);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Fehérre.\");
}
if(listitem == 4)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,174,174);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Barnára.\");
}
if(listitem == 5)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,3,3);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Pirosra.\");
}
if(listitem == 6)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,233,233);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Rózsaszínre.\");
}
if(listitem == 7)
{
new kocsi = GetPlayerVehicleID(playerid);
ChangeVehicleColor(kocsi,147,147);
SendClientMessage(playerid,-1,\"Lefestetted az autódat Lilára.\");
}
}
if(!response)
{
ShowPlayerDialog(playerid,DIALOG_KOCSI,DIALOG_STYLE_LIST,\"Autó\",\"Felni\\nJavítás\\nSzín\\nHidraulika\\nNitró\",\"Választ\",\"Mégse\");
return 1;
}
}
if(dialogid == DIALOG_RADIO)
{
if(response)
{
if(listitem == 0)
{
PlayAudioStreamForPlayer(playerid,\"http://195.70.35.172:8000/radio1.mp3\");
SendClientMessage(playerid,-1,\"A Rádió1-re kapcsoltad a rádiót.\");
}
if(listitem == 1)
{
PlayAudioStreamForPlayer(playerid,\"http://stream.musicfm.hu:8000/musicfm.mp3\");
SendClientMessage(playerid,-1,\"A MusicFM-re kapcsoltad a rádiót.\");
}
if(listitem == 2)
{
PlayAudioStreamForPlayer(playerid,\"http://109.199.58.91/4782/live.mp3\");
SendClientMessage(playerid,-1,\"A Juventusra kapcsoltad a rádiót.\");
}
if(listitem == 3)
{
PlayAudioStreamForPlayer(playerid,\"http://dl.dropboxusercontent.com/u/88496413/play.m3u\");
SendClientMessage(playerid,-1,\"A RiseFM-re kapcsoltad a rádiót.\");
}
}
}
return 1;
}
CMD:kill(playerid)
{
SetPlayerHealth(playerid,0.0);
SendClientMessage(playerid,-1,\"Öngyilkos lettél\");
return 1;
}
CMD:god(playerid)
{
if(god[playerid] == 0)
{
SetPlayerHealth(playerid,99999.0);
god[playerid] = 1;
SendClientMessage(playerid,-1,\"GOD-modba léptél.\");
return 1;
}
if(god[playerid] == 1)
{
SetPlayerHealth(playerid,100.0);
god[playerid] = 0;
SendClientMessage(playerid,-1,\"Kiléptél GOD-modból.\");
return 1;
}
return 1;
}
CMD:gotopos(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
if(sscanf(params,\"fff\",X,Y,Z)) return SendClientMessage(playerid,-1,\"Használat: /gotopos <X Kordináta> <Y Kordináta> <Z Kordináta>\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:goto(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
new nevem;
GetPlayerPos(nevem,X,Y,Z); // mindig a 0-s játékos pozíciójára teleportál
if(sscanf(params,\"u\",nevem)) return SendClientMessage(playerid,RED,\"Használat:/goto <playerid/Névrészlet>\");
if(!IsPlayerConnected(nevem)) return SendClientMessage(playerid,-1,\"Nincs ilyen játékos.\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
CMD:setskin(playerid,params[])
{
new skin;
new kiad[42];
if(sscanf(params,\"i\",skin)) return SendClientMessage(playerid,-1,\"Használat:/setskin <skinid>\");
if(skin > 299 || skin < 0) return SendClientMessage(playerid,RED,\"Rossz Skin ID!\");
format(kiad,sizeof(kiad),\"Átváltottad a skined erre:%d.\",skin); // 27+3+1=31
/*
Átváltottad a skined erre:. = 27
%d 3 számjegyû lehet = 3
szöveg végét jelzõ \\0 karakter = 1
ezeket összeadva jön ki a max hossz...nem mindenhol 42 kell :) össze kell számolni, hogy hol mennyi cellára van szükség...
*/
SendClientMessage(playerid,-1,kiad);
SetPlayerSkin(playerid,skin);
return 1;
}
CMD:ido(playerid,params[])
{
new ora;
new perc;
new kiad[42];
if(sscanf(params,\"ii\",ora,perc)) return SendClientMessage(playerid,-1,\"Használat:/idõ <óra> <perc>\");
if(ora > 24 || ora < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen óra.\");
if(perc > 60 || perc < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen perc.\");
format(kiad,sizeof(kiad),\"Átváltoztattad az idõd erre:%d óra és %d perc\",ora,perc); // 41 + 4 + 1 = 46
SendClientMessage(playerid,-1,kiad);
SetPlayerTime(playerid,ora,perc);
return 1;
}
CMD:veh(playerid, params[])
{
new auto,szin1,szin2;
if(sscanf(params,\"iii\",auto,szin1,szin2)) return SendClientMessage(playerid,RED,\"Használat: /veh [Autó] [szín 1] [szín 2]\");
new Float:X,Float:Y,Float:Z,Float:D;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,D);
CreateVehicle(auto,X,Y,Z,D,szin1,szin2,0);
new kiad[42];
format(kiad,sizeof(kiad),\"Lekértél egy jármûvet!\"); // ez egy statikus szöveg nem kell tömb és formázás neki
SendClientMessage(playerid,-1,kiad);
return 1;
}
CMD:radio(playerid)
{
ShowPlayerDialog(playerid,DIALOG_RADIO,DIALOG_STYLE_LIST,\"Rádió\",\"Rádió1\\nMusicFM\\nJuventus\\nRiseFM\",\"Választ\",\"Mégse\");
return 1;
}
CMD:fegyverad(playerid,params[])
{
new string[42];
new fegyverid;
new tolteny;
if(sscanf(params,\"ii\",fegyverid,tolteny)) return SendClientMessage(playerid,-1,\"Használat:/fegyverad [FegyverID] [Töltény]\");
GivePlayerWeapon(playerid,fegyverid,tolteny);
format(string,sizeof(string),\"Lekértél egy %d id-s fegyvert,%d töltényszámmal.\",fegyverid,tolteny); // 44 + 2 + 10 + 1 = 57 // a 10a töltényszám mivel nem látok korlátozást beírhatnak 1000000000-ot is
SendClientMessage(playerid,-1,string);
return 1;
}
-
Szia szia.
Köszönöm a válaszodat.
Most már a javított verziót nem töltöm fel,mert már nagyon belekezdtem a v2.0-ba.
Persze ha nem jelent problémát.
-
Szia szia.
Köszönöm a válaszodat.
Most már a javított verziót nem töltöm fel,mert már nagyon belekezdtem a v2.0-ba.
Persze ha nem jelent problémát.
hát nekem nem jelent problémát :)
-
Nekem tetszik! Nagyon jó mod!
-
Szia!
Ahogy kérted leírom az észrevételeimet :)
A Belépés számláló szerintem nem jó így :)
A betöltés után növeld :)
public OnPlayerConnect(playerid)
{
new tag[MAX_PLAYER_NAME];
new kiad[42];
GetPlayerName(playerid,tag,sizeof(tag));
format(kiad,sizeof(kiad),\"Feljött a szerverre %s.\",tag);
SendClientMessageToAll(RED,kiad);
PlayerInfo[playerid][belepesek]++; // Növeled
format(kiad,sizeof(kiad),\"%s.ini\",tag);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0 );
SpawnPlayer(playerid);
if(dini_Exists(kiad))
{
PlayerInfo[playerid][szint] = dini_Int(kiad,\"Szint\");
PlayerInfo[playerid][Oles] = dini_Int(kiad,\"Ölés\");
PlayerInfo[playerid][Halal] = dini_Int(kiad,\"Halál\");
PlayerInfo[playerid][belepesek] = dini_Int(kiad,\"Belépések\"); // Felül írod a növelt értéket
PlayerInfo[playerid][Penz] = dini_Int(kiad,\"Pénz\");
}
return 1;
}
Itt s% van %s helyett: (65. sor, OnPlayerDisconnect alatt)
format(kiad,sizeof(kiad),\"Lelépett a szerverrõl s%\",tag);
1. kilépésnél csak létrehozza a fájlt és nem menti az adatokat...
if(dini_Exists(kiad))
{
dini_IntSet(kiad,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(kiad,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(kiad,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(kiad,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(kiad,\"Pénz\", PlayerInfo[playerid][Penz]);
}
else
{
dini_Create(kiad);
}
így próbáld meg: :)
// HA nem létezik a fájl AKKOR létrehozza
if(!dini_Exists(kiad)) { dini_Create(kiad); }
dini_IntSet(kiad,\"Szint\", PlayerInfo[playerid][szint]);
dini_IntSet(kiad,\"Ölés\", PlayerInfo[playerid][Oles]);
dini_IntSet(kiad,\"Halál\", PlayerInfo[playerid][Halal]);
dini_IntSet(kiad,\"Belépések\", PlayerInfo[playerid][belepesek]);
dini_IntSet(kiad,\"Pénz\", PlayerInfo[playerid][Penz]);
OnPlayerDeath alatt több dolgot is véltem feldefezni:
- kiad tömbbe 42 karakter fér 2 db 20 karakteres név + \" megölte \" + szöveg végi \\0 = 20 + 20 + 9 + 1 = 50, szóval lemarad 8 karakter a végéről :)
- játékos nevét tároló tömböknél MAX_PLAYER_NAME-et ajánlom, de ha nem azt írod akkor is 21-et írj, 20 karakter + szöveg végi \\0 = 21 :)
- s% van %s helyett
- nem ellenőrzöd, hogy a gyilkos játékos e: (ebből több gond származik)
http://wiki.sa-mp.com/wiki/OnPlayerDeath
\"You MUST check whether \'killerid\' is valid (not INVALID_PLAYER_ID) before using it in an array (or really anywhere), as it will cause the OnPlayerDeath script to crash (not the entire script). This is because INVALID_PLAYER_ID is defined as 65535, and if an array only has \'MAX_PLAYERS\' elements, e.g. 500, you\'re trying to access an index that is above 499, which is out of bounds.\"
- a halott kap ölést és a gyilkos halált a statba
new elo[20];
new halott[20];
new kiad[42];
format(kiad,sizeof(kiad),\"s% megölte %s\",elo,halott);
PlayerInfo[playerid][Oles]++;
PlayerInfo[killerid][Halal]++;
stringnek nem elég 42 cella ismét :) itt a 128 belefér, mert 128 lehet a maximális parancs hossz és az egy sorban megjeleníthető szöveg is...
OnPlayerCommandPerformed:
new string[42];
format(string,sizeof(string),\"Nem létezik ez a parancs!(%s)\",cmdtext);
SendClientMessage(playerid,RED,string);
Minden if-nél bent van az ellenőrzés, pedig elég lenne 1x is ha az összes if elé beraknád
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,\"Nem ülsz autóban.\");
OnDialogResponse:
if(dialogid == DIALOG_KOCSI)
{
if(response)
{
//if-ek
Nem kell mindenhova return 1; elég a dialog id ellenőrzés végére
if(dialogid == DIALOG_KOCSI)
{
if(response)
{
// ...
}
return 1;
}
Itt a 2 if helyett lehet if és else: :) (!response helyett else)
if(dialogid == DIALOG_FELNI)
{
if(response)
// ...
if(!response)
// ...
}
helyett:
if(dialogid == DIALOG_FELNI)
{
if(response)
// ...
else
// ...
}
Ha egy szinttel feljebb kérdezed le a FELNIKNÉL a kocsit akkor nem kell minden if ágba beírnod :)
new kocsi = GetPlayerVehicleID(playerid);
így:
if(response)
{
new kocsi = GetPlayerVehicleID(playerid);
if(...)
// ...
A sok egymás alatti if, if, if, if, if helyett lehetne if, else if, else if, else if, else if VAGY switch :)
http://wiki.sa-mp.com/wiki/Control_Structures#else_if
http://wiki.sa-mp.com/wiki/Control_Structures#switch_2
new god[MAX_PLAYER_NAME];
helyett:
new god[MAX_PLAYERS];
Ez a parancs mindig a 0.0 0.0 0.0 pozícióra fog teleportálni:
Túl korán kéred le a pozíciót
CMD:goto(playerid,params[])
{
new Float:X,Float:Y,Float:Z;
new nevem;
GetPlayerPos(nevem,X,Y,Z);
if(sscanf(params,\"u\",nevem)) return SendClientMessage(playerid,RED,\"Használat:/goto <playerid/Névrészlet>\");
if(!IsPlayerConnected(nevem)) return SendClientMessage(playerid,-1,\"Nincs ilyen játékos.\");
SetPlayerPos(playerid,X,Y,Z);
return 1;
}
\"Átváltottad a skined erre:.\" + 3 szám + szöveg végi \\0 = 27+3+1 = 31
new kiad[42];
Az új sa-mp-vel jöttek új skinek, ezt majd módosítsd megfelelően :) ha új verziót használsz
if(skin > 299 || skin < 0) return SendClientMessage(playerid,RED,\"Rossz Skin ID!\");
Itt enged perc-nek 60-at beírni, pedig 0-59-ig kellene :)
if(perc > 60 || perc < 0) return SendClientMessage(playerid,-1,\"Nincs ilyen perc.\");
ido parancs alatt:
nem elég a tömb cella, de itt most rád hagyom a matekot :P
new kiad[42];
format(kiad,sizeof(kiad),\"Átváltoztattad az idõd erre:%d óra és %d perc\",ora,perc);
A veh parancs alatt nincs ellenőrizve a szín és a jármű id, tehát akármilyen számot beírhatnak és ez gondot okozhat :)
Statikus szövegnél nem kell formázni :)
new kiad[42];
format(kiad,sizeof(kiad),\"Lekértél egy jármûvet!\");
SendClientMessage(playerid,-1,kiad);
helyett:
SendClientMessage(playerid,-1,\"Lekértél egy jármûvet!\");
A fegyverad parancsnál nincs ellenőrizve a fegyver id és a töltény szám akármilyen számot beírhatnak...
Eddig jól haladsz, további sok sikert :)