Legend
-
Posts
8 -
Joined
-
Last visited
Content Type
Profiles
Forums
News
Documentation
Posts posted by Legend
-
-
Aceasta problema este cauzata de o comanda care practic "pica" GameMode-ul. Poate fi de exemplu un string imens de mare pus aiurea (eu am patit).
-
Nume: Legend
Nume tutorial: Creeate dialog stil "MSGBOX"
Descriere: As dori un tutorial despre cum se face un dialog DIALOG_STYLE_MSGBOX dar cu muuulte randuri si caractere...cat sa incapa 17 denumiri de factiuni si numele liderilor fiecareia. Eu am incercat dar nu am reusit sa-l fac suficient de lung...ori imi da la compilare "Imput line is too long(after substitutions)" ori mi se compileaza bine dar cand dau comanda respectiva imi da "Server: Unknown command"...Va rog sa ma ajutati. Multumesc anticipat!
-
Nume: Legend
Nume tutorial: functia sscanf
Descriere: imi puteti face va rog frumos un tutorial despre cum se foloseste functia "sscanf" la un server de samp pe mysql pentru a citi tabele bazei de date? spre exemplu la masini, adica cum fac ca ceea ce este pe mysql sa se aplice la masinile de pe server la CarData la ongamemodeinit...
-
La cea postata de Wopss sar putea sa ai erori...sa nu ai unele variabile definite + ca pe rgaming nu e PlayerInfo, ci "PlayerData". Uite aici o comanda calumea:
if(strcmp(cmd, "/lc", true) == 0 || strmcp(cmd, "/leaderchat", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerData[playerid][pMuted] == 1)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Nu poti folosi /lc, esti mutit!");
return 1;
}
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "{ffffff}Ne pare rau, dar nu esti logat pentru a utiliza aceata comanda!");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[256];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
result[0] = toupper(result[0]);
if(!strlen(result))
{
SendUsage(playerid,"(/lc) [leader chat]");
return 1;
}
if(FindIP(result)) /// Anti-Reclama
{
new playersip[256];
GetPlayerIp(playerid, playersip, sizeof(playersip));
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "AdmCmd: %s a primit ban de la AdmBOT, motivul: /lc %s (%d-%d-%d)", sendername,(result),month,day,year);
AdmCmdsLog(string);
format(string, sizeof(string), "AdmBOT: %s a primit Ban Permanent de la AdmBot, Motiv: Reclama(pe /lc)!", sendername);
SendClientMessageToAll(COLOR_LIGHTRED, string);
SendClientMessage(playerid, COLOR_YELLOW, "Pentru unban vizitati [forumul tau]");
SendClientMessage(playerid, COLOR_YELLOW, "Nu uita sa faci poza {FF0000}(F8)");
PlayerData[playerid][pLocked] = 1;
MySQLADDBan(PlayerData[playerid][pSQLID]);
new query[MAX_STRING];
format(query, MAX_STRING, "UPDATE cars SET ");
new hour,minuite,second;
gettime(hour,minuite,second);
format(query, sizeof(query), "UPDATE banuri SET BanmD='%d' WHERE idd=%d", minuite, PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE banuri SET BanoD='%d' WHERE idd=%d", hour, PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE banuri SET BanzD='%d' WHERE idd=%d", day, PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE banuri SET BanlD='%d' WHERE idd=%d", month, PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE banuri SET BanaD='%d' WHERE idd=%d", year, PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE banuri SET Nume='%s' WHERE idd=%d", PlayerData[playerid][pNume], PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE banuri SET AdminBan='AdmBOT' WHERE idd=%d", PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE banuri SET BanReason='Reclama' WHERE idd=%d", PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE banuri SET PlayerIP='%s' WHERE idd=%d", playersip, PlayerData[playerid][pSQLID]);
mysql_query(query);
format(query, sizeof(query), "UPDATE players SET Locked='%d' WHERE id=%d", PlayerData[playerid][pLocked], PlayerData[playerid][pSQLID]);
mysql_query(query);
BanEx(playerid, "Reclama");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
if (PlayerData[playerid][pLeader] >= 1)
{
new ltext[10];
if(PlayerData[playerid][pLeader] == 1)
{
ltext = "P.Romana";
}
else if(PlayerData[playerid][pLeader] == 2)
{
ltext = "S.R.I.";
}
else if(PlayerData[playerid][pLeader] == 3)
{
ltext = "A.Romana";
}
else if(PlayerData[playerid][pLeader] == 4)
{
ltext = "SMURD";
}
else if(PlayerData[playerid][pLeader] == 5)
{
ltext = "Rromii";
}
else if(PlayerData[playerid][pLeader] == 6)
{
ltext = "Taxi";
}
else if(PlayerData[playerid][pLeader] == 7)
{
ltext = "S.Instructor";
}
else if(PlayerData[playerid][pLeader] == 8)
{
ltext = "Hitman Ag.";
}
else if(PlayerData[playerid][pLeader] == 9)
{
ltext = "N.Reporter";
}
else if(PlayerData[playerid][pLeader] == 10)
{
ltext = "Remorcari";
}
else if(PlayerData[playerid][pLeader] == 11)
{
ltext = "C.Sadoveanu";
}
else if(PlayerData[playerid][pLeader] == 12)
{
ltext = "C.Capone";
}
else if(PlayerData[playerid][pLeader] == 13)
{
ltext = "C.Duduianu";
}
else if(PlayerData[playerid][pLeader] == 14)
{
ltext = "C.Corsicanu";
}
else if(PlayerData[playerid][pLeader] == 15)
{
ltext = "C.Tobosaru";
}
else if(PlayerData[playerid][pLeader] == 16)
{
ltext = "C.Camataru";
}
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(PlayerData[pLeader] >= 1)
{
format(string, sizeof(string), "[LeaderChat] (%s) %s: %s.", ltext, sendername, (result));
SendClientMessage(i, COLOR_LIGHTGREEN, string);
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Nu esti lider la nicio factiune! => Acces respins!");
return 1;
}
}
return 1;
}
-
if(strcmp(cmd, "/skip", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Tutorial[playerid] >= 1)
{
Tutorial[playerid] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Text");
format(query, sizeof(query), "UPDATE tabel SET variabila WHERE id=%d", Tutorial[playerid], PlayerData[playerid][pSQLID]);
mysql_query(query);
}
}
return 1;
}
Explicatii:
1. La SendClientMessage, in loc de "Text" pui mesajul care vrei sa-i apara in chat celui care da /skip. Daca vrei sa pui rand nou, pui alt SendClientMessage.
2. inlocuiesti peste tot "Tutorial[playerid]" cu variabila de la tine din gamemode care tine de tutorial.
3. la updatarea mysql, inlocuiesti: "tabel" cu numele tabelului tau din mysql; "variabila" cu numele 'row-ului' (denumirea randului) din baza ta de date.
-
Daca este FileScript, faci cum a zis TheBest, il treci in server.cfg cum ai facut si tu si dai Save, dar sa nu uiti sa copiezi acel fs in fisierul "FileScripts" al serverului(PS: in fisierul 'filescripts' trebuie pus neaparat si fisierul ".amx". daca tu ai doar cel .pwn , atunci complieazal, pentru a avea si fisierul .amx)
-
Nume: Legend
Nume tutorial: Comanda /leaders offline.
Descriere: Salut, as dori sa ma ajutati va rog sa fac o comanda "/leaders" in care sa apara toti liderii, si cei care sunt offline. Serverul ruleaza pe MySQL...as dori sa ma ajutati la comanda propriu-zisa, dar si la extragerea informatiei de pe baza de date MySQL, adica citirea tabelului cu factiuni pentru a lua numele liderului factiunii din MySQL si al pune pe server la pornirea gamemode-ului(ongamemodeinit).
Problema comenzi
in Suport Servere
Posted
Trebuie sa inregistrezi acea variabila (kilometrii vehiculului) intr-un fisier sau in baza de date, depinde ce folosesti.