Hali, öh hát igazából a nehezebb részét meg csináltam neked :) + kiegészítettem 3fajta cigit is lehessen venni.
Meg elvileg ki írja, azt a /mes dolgot. Meg egy bizonyos helyen lehet venni, ahol az i betû van. Viszont a többit már te is megtudod írni :) ha tényleg rp szervert csinálsz ;)
forward CigiVege(playerid);
forward CigiVege2(playerid);
forward CigiVege3(playerid);
#undef MAX_PLAYERS
#define MAX_PLAYERS 30 // Szervered Slot Száma
new Cigi[MAX_PLAYERS];
new Gyujto[MAX_PLAYERS];
new CigiTimer[MAX_PLAYERS],CigiTimer2[MAX_PLAYERS],CigiTimer3[MAX_PLAYERS];
new Fajta[MAX_PLAYERS];
new str[128],nev[MAX_PLAYER_NAME];
public OnFilterScriptInit( )
{
print(\" aSmoke - Cigaretta Rendszer: Fut!\");
print(\" Készítõ: AmF - www.sampforum.hu\");
CreateDynamicObject(1239, 40, 30, 2, 0, 0, 0);
}
public OnFilterScriptExit( )
{
print(\" aSmoke - Cigaretta Rendszer: Leállt!\");
print(\" Készítõ: AmF - www.sampforum.hu\");
}
public OnPlayerDisconnect(playerid)
{
KillTimer(CigiTimer[playerid]);
KillTimer(CigiTimer2[playerid]);
KillTimer(CigiTimer3[playerid]);
Fajta[playerid] = 0;
Cigi[playerid] = 0;
Gyujto[playerid] = 0;
return 1;
}
public CigiVege(playerid)
{
KillTimer(CigiTimer[playerid]);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
SendClientMessage(playerid, -1, \"Elégett a cigarettád...\");
return 1;
}
public CigiVege2(playerid)
{
KillTimer(CigiTimer2[playerid]);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
SendClientMessage(playerid, -1, \"Elégett a cigarettád...\");
return 1;
}
public CigiVege3(playerid)
{
KillTimer(CigiTimer3[playerid]);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
SendClientMessage(playerid, -1, \"Elégett a cigarettád...\");
return 1;
}
CMD:cigivesz(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 1, 40, 30, 2))
{
if(isnull(params))
{
SendClientMessage(playerid, -1, \"Használat: Használat: /cigivesz [1-(BAT Lucky Strike),2-(BAT Sopianae),3-(Philip Morris Marlboro)]\");
return true;
}
if(strcmp(params, \"1\", true) == 0)
{
if(GetPlayerMoney(playerid) >= 690)
{
GivePlayerMoney(playerid, - 690);
Cigi[playerid] = 19;
SendClientMessage(playerid, -1, \"BAT Lucky Strike tipusú cigidobozt vettél: 19db szál cigi van benne.\");
format(str, sizeof(str), \"* %s vett egy BAT Lucky Strike tipusú cigidobozt...\", nev);
ProxDetector(30.0, playerid, str, -1);
}
else
{
SendClientMessage(playerid, -1, \"Nincs elég pénzed egy doboz cigarettára! (690 Ft)\");
}
}
if(strcmp(params, \"2\", true) == 0)
{
if(GetPlayerMoney(playerid) >= 700)
{
GivePlayerMoney(playerid, - 700);
Cigi[playerid] = 19;
SendClientMessage(playerid, -1, \"BAT Sopianae tipusú cigidobozt vettél: 19db szál cigi van benne.\");
format(str, sizeof(str), \"* %s vett egy BAT Sopianae tipusú cigidobozt...\", nev);
ProxDetector(30.0, playerid, str, -1);
}
else
{
SendClientMessage(playerid, -1, \"Nincs elég pénzed egy doboz cigarettára! (690 Ft)\");
}
}
if(strcmp(params, \"3\", true) == 0)
{
if(GetPlayerMoney(playerid) >= 800)
{
GivePlayerMoney(playerid, - 800);
Cigi[playerid] = 19;
SendClientMessage(playerid, -1, \"Philip Morris Marlboro tipusú cigidobozt vettél: 19db szál cigi van benne.\");
format(str, sizeof(str), \"* %s vett egy Philip Morris Marlboro tipusú cigidobozt...\", nev);
ProxDetector(30.0, playerid, str, -1);
}
else
{
SendClientMessage(playerid, -1, \"Nincs elég pénzed egy doboz cigarettára! (690 Ft)\");
}
}
}else{SendClientMessage(playerid, -1, \"A boltban tudsz csak!\");}
return 1;
}
CMD:gyujtovesz(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid,1, 40, 30, 2))
{
if(GetPlayerMoney(playerid) >= 150)
{
GivePlayerMoney(playerid, - 150);
Gyujto[playerid] = 1;
SendClientMessage(playerid, -1, \"Vettél egy öngyújtót!\");
format(str, sizeof(str), \"* %s vett egy öngyújtót...\", nev);
ProxDetector(30.0, playerid, str, -1);
}
else
{
SendClientMessage(playerid, -1, \"Nincs elég pénzed egy öngyújtóra! (150 Ft)\");
}
}else{SendClientMessage(playerid, -1, \"A boltban tudsz csak!\");}
return 1;
}
CMD:ragyujt(playerid, params[])
{
if(Cigi[playerid] >= 1 && Gyujto[playerid] == 1 && Fajta[playerid] == 1)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
SendClientMessage(playerid, -1, \"Rágyujtottál egy szál cigarettára!\");
format(str, sizeof(str), \"* %s rágyujtott egy szál cigerettára...\", nev);
ProxDetector(30.0, playerid, str, -1);
Cigi[playerid] --;
CigiTimer[playerid] = SetTimerEx( \"CigiVege\", 2 * 60000, false, \"i\", playerid );
}
if(Cigi[playerid] >= 1 && Gyujto[playerid] == 1 && Fajta[playerid] == 2)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
SendClientMessage(playerid, -1, \"Rágyujtottál egy szál cigarettára!\");
format(str, sizeof(str), \"* %s rágyujtott egy szál cigerettára...\", nev);
ProxDetector(30.0, playerid, str, -1);
Cigi[playerid] --;
CigiTimer2[playerid] = SetTimerEx( \"CigiVege2\", 3 * 60000, false, \"i\", playerid );
}
if(Cigi[playerid] >= 1 && Gyujto[playerid] == 1 && Fajta[playerid] == 3)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
SendClientMessage(playerid, -1, \"Rágyujtottál egy szál cigarettára!\");
format(str, sizeof(str), \"* %s rágyujtott egy szál cigerettára...\", nev);
ProxDetector(30.0, playerid, str, -1);
Cigi[playerid] --;
CigiTimer3[playerid] = SetTimerEx( \"CigiVege3\", 4 * 60000, false, \"i\", playerid );
}
return 1;
}
stock ProxDetector(Float:radi, playerid, string[],color)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
for(new i=0; string; i++)
{
if(IsPlayerInRangeOfPoint(i,radi,x,y,z))
{
SendClientMessage(i,color,string);
}
}
}
stock strreplace(string[], find, replace)
{
for(new i=0; string; i++)
{
if(string == find)
{
string = replace;
}
}
}
Hali, öh hát igazából a nehezebb részét meg csináltam neked :) + kiegészítettem 3fajta cigit is lehessen venni.
Meg elvileg ki írja, azt a /mes dolgot. Meg egy bizonyos helyen lehet venni, ahol az i betû van. Viszont a többit már te is megtudod írni :) ha tényleg rp szervert csinálsz ;)
forward CigiVege(playerid);
forward CigiVege2(playerid);
forward CigiVege3(playerid);
#undef MAX_PLAYERS
#define MAX_PLAYERS 30 // Szervered Slot Száma
new Cigi[MAX_PLAYERS];
new Gyujto[MAX_PLAYERS];
new CigiTimer[MAX_PLAYERS],CigiTimer2[MAX_PLAYERS],CigiTimer3[MAX_PLAYERS];
new Fajta[MAX_PLAYERS];
new str[128],nev[MAX_PLAYER_NAME];
public OnFilterScriptInit( )
{
print(\" aSmoke - Cigaretta Rendszer: Fut!\");
print(\" Készítõ: AmF - www.sampforum.hu\");
CreateDynamicObject(1239, 40, 30, 2, 0, 0, 0);
}
public OnFilterScriptExit( )
{
print(\" aSmoke - Cigaretta Rendszer: Leállt!\");
print(\" Készítõ: AmF - www.sampforum.hu\");
}
public OnPlayerDisconnect(playerid)
{
KillTimer(CigiTimer[playerid]);
KillTimer(CigiTimer2[playerid]);
KillTimer(CigiTimer3[playerid]);
Fajta[playerid] = 0;
Cigi[playerid] = 0;
Gyujto[playerid] = 0;
return 1;
}
public CigiVege(playerid)
{
KillTimer(CigiTimer[playerid]);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
SendClientMessage(playerid, -1, \"Elégett a cigarettád...\");
return 1;
}
public CigiVege2(playerid)
{
KillTimer(CigiTimer2[playerid]);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
SendClientMessage(playerid, -1, \"Elégett a cigarettád...\");
return 1;
}
public CigiVege3(playerid)
{
KillTimer(CigiTimer3[playerid]);
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
SendClientMessage(playerid, -1, \"Elégett a cigarettád...\");
return 1;
}
CMD:cigivesz(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 1, 40, 30, 2))
{
if(isnull(params))
{
SendClientMessage(playerid, -1, \"Használat: Használat: /cigivesz [1-(BAT Lucky Strike),2-(BAT Sopianae),3-(Philip Morris Marlboro)]\");
return true;
}
if(strcmp(params, \"1\", true) == 0)
{
if(GetPlayerMoney(playerid) >= 690)
{
GivePlayerMoney(playerid, - 690);
Cigi[playerid] = 19;
SendClientMessage(playerid, -1, \"BAT Lucky Strike tipusú cigidobozt vettél: 19db szál cigi van benne.\");
format(str, sizeof(str), \"* %s vett egy BAT Lucky Strike tipusú cigidobozt...\", nev);
ProxDetector(30.0, playerid, str, -1);
}
else
{
SendClientMessage(playerid, -1, \"Nincs elég pénzed egy doboz cigarettára! (690 Ft)\");
}
}
if(strcmp(params, \"2\", true) == 0)
{
if(GetPlayerMoney(playerid) >= 700)
{
GivePlayerMoney(playerid, - 700);
Cigi[playerid] = 19;
SendClientMessage(playerid, -1, \"BAT Sopianae tipusú cigidobozt vettél: 19db szál cigi van benne.\");
format(str, sizeof(str), \"* %s vett egy BAT Sopianae tipusú cigidobozt...\", nev);
ProxDetector(30.0, playerid, str, -1);
}
else
{
SendClientMessage(playerid, -1, \"Nincs elég pénzed egy doboz cigarettára! (690 Ft)\");
}
}
if(strcmp(params, \"3\", true) == 0)
{
if(GetPlayerMoney(playerid) >= 800)
{
GivePlayerMoney(playerid, - 800);
Cigi[playerid] = 19;
SendClientMessage(playerid, -1, \"Philip Morris Marlboro tipusú cigidobozt vettél: 19db szál cigi van benne.\");
format(str, sizeof(str), \"* %s vett egy Philip Morris Marlboro tipusú cigidobozt...\", nev);
ProxDetector(30.0, playerid, str, -1);
}
else
{
SendClientMessage(playerid, -1, \"Nincs elég pénzed egy doboz cigarettára! (690 Ft)\");
}
}
}else{SendClientMessage(playerid, -1, \"A boltban tudsz csak!\");}
return 1;
}
CMD:gyujtovesz(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid,1, 40, 30, 2))
{
if(GetPlayerMoney(playerid) >= 150)
{
GivePlayerMoney(playerid, - 150);
Gyujto[playerid] = 1;
SendClientMessage(playerid, -1, \"Vettél egy öngyújtót!\");
format(str, sizeof(str), \"* %s vett egy öngyújtót...\", nev);
ProxDetector(30.0, playerid, str, -1);
}
else
{
SendClientMessage(playerid, -1, \"Nincs elég pénzed egy öngyújtóra! (150 Ft)\");
}
}else{SendClientMessage(playerid, -1, \"A boltban tudsz csak!\");}
return 1;
}
CMD:ragyujt(playerid, params[])
{
if(Cigi[playerid] >= 1 && Gyujto[playerid] == 1 && Fajta[playerid] == 1)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
SendClientMessage(playerid, -1, \"Rágyujtottál egy szál cigarettára!\");
format(str, sizeof(str), \"* %s rágyujtott egy szál cigerettára...\", nev);
ProxDetector(30.0, playerid, str, -1);
Cigi[playerid] --;
CigiTimer[playerid] = SetTimerEx( \"CigiVege\", 2 * 60000, false, \"i\", playerid );
}
if(Cigi[playerid] >= 1 && Gyujto[playerid] == 1 && Fajta[playerid] == 2)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
SendClientMessage(playerid, -1, \"Rágyujtottál egy szál cigarettára!\");
format(str, sizeof(str), \"* %s rágyujtott egy szál cigerettára...\", nev);
ProxDetector(30.0, playerid, str, -1);
Cigi[playerid] --;
CigiTimer2[playerid] = SetTimerEx( \"CigiVege2\", 3 * 60000, false, \"i\", playerid );
}
if(Cigi[playerid] >= 1 && Gyujto[playerid] == 1 && Fajta[playerid] == 3)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_SMOKE_CIGGY);
SendClientMessage(playerid, -1, \"Rágyujtottál egy szál cigarettára!\");
format(str, sizeof(str), \"* %s rágyujtott egy szál cigerettára...\", nev);
ProxDetector(30.0, playerid, str, -1);
Cigi[playerid] --;
CigiTimer3[playerid] = SetTimerEx( \"CigiVege3\", 4 * 60000, false, \"i\", playerid );
}
return 1;
}
stock ProxDetector(Float:radi, playerid, string[],color)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
for(new i=0; string; i++)
{
if(IsPlayerInRangeOfPoint(i,radi,x,y,z))
{
SendClientMessage(i,color,string);
}
}
}
stock strreplace(string[], find, replace)
{
for(new i=0; string; i++)
{
if(string == find)
{
string = replace;
}
}
}
[gmod]Nem te készitetted.. Csak simán bemásoltad a kódot.. Szóval ne próbálj hazudni[/gmod]