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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Shady - 2013. január 09. - 23:05:24

Cím: Onplayerdeath(killerid, adatok, rang)
Írta: Shady - 2013. január 09. - 23:05:24
Szép estét! :)
olyant hogyan tudok csinálni 3dtexttel hogy a killerid-nek vagyis aki lelõtt egy játékost a feje fölött ott vannak az adatok
Pl.:
Ennyi játékost lõtt le: %d Rangja: Vadász
És +olyat akarok még hozzá tenni hogy ha lelõtt 10 játékost akkor továbblép a ranglistán hogy nem Vadász lesz hanem. Hitman..
Tudtok segíteni nem tudom hogy kezdjem el, meg ennek a megvalósítása nekem még magas ::|
Cím: Onplayerdeath(killerid, adatok, rang)
Írta: Red-Eye - 2013. január 10. - 00:47:04
Hát..ilyesmit még nem írtam és eléggé összedobott dolog kicsit szégyenlem is magam érte de most láttam és mi hamarabb akartam valamit írni neked hátha segít.
de elõtte még közlöm....nem külön függvényt írtam hozzá és.. NEM TESZTELTEM!!!!! HASZNÁLAT SAJÁT FELELÕSSÉGRE!!! ELMÉLETBEN JÓ DE KEZDÕ VAGYOK LEHET TOTÁL NEM MÜXIK!!!
 

#define Rankszam 3
#include <a_samp>
#define szin 0xAA3333AA
new pRankPont[MAX_PLAYERS];
new RankNames[Rankszam][20];
new pHasFlag[MAX_PLAYERS];
new pHasFlagID[MAX_PLAYERS];
public OnFilterScriptInit()
{
print(\"\\n--------------------------------------\");
print(\" Vadasz 3dtext for Shady by RedNET (founder Red-Eye)\");
print(\"--------------------------------------\\n\");
//rankjaidat itt személyre szabhatod de ne feledd ha többet raksz be növeld a #def Rankszam EZENRÉSZÉT, illetve ha nagyon hosszú nevet akarsz akkor
//a RankNames[Rankszam][20]-ból a 20ast is növeld (az a string hossza)
RankNames[0] = \"Kezdo\";
RankNames[1] = \"Vadasz\";
RankNames[2] = \"Hitman\";
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
 
public OnPlayerDisconnect(playerid, reason)
{
pRankPont[playerid] = 0;
pHasFlag[playerid] = 0;
pHasFlagID[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new strg[100];
new name[36];
GetPlayerName(killerid,name,sizeof(name));
pRankPont[killerid]++;
pHasFlag[killerid] = 1;
Delete3DTextLabel(pHasFlagID[killerid]);
if(pRankPont[killerid] < 10)
{
format(strg,sizeof(strg),\"%s , megölt %i embert, rangja: %s\",name,pRankPont[killerid],RankNames[0]);
pHasFlagID[killerid] = Create3DTextLabel(strg,szin,0,0,0,30,0);
Attach3DTextLabelToPlayer(pHasFlagID[killerid],killerid,0,0,3);
}
if(pRankPont[killerid] > 10 && pRankPont[killerid] < 20)
{
format(strg,sizeof(strg),\"%s , megölt %i embert, rangja: %s\",name,pRankPont[killerid],RankNames[1]);
pHasFlagID[killerid] = Create3DTextLabel(strg,szin,0,0,0,30,0);
Attach3DTextLabelToPlayer(pHasFlagID[killerid],killerid,0,0,3);
}
if(pRankPont[killerid] > 20)
{
format(strg,sizeof(strg),\"%s , megölt %i embert, rangja: %s\",name,pRankPont[killerid],RankNames[2]);
pHasFlagID[killerid] = Create3DTextLabel(strg,szin,0,0,0,30,0);
Attach3DTextLabelToPlayer(pHasFlagID[killerid],killerid,0,0,3);
}
return 1;
}

 
u.i.:És igen Update-sen lehet jobb lenne és némely stringek kicsit túl vannak méretezve stb. tudom ez most ilyen lett  :confused:
Cím: Onplayerdeath(killerid, adatok, rang)
Írta: Shady - 2013. január 10. - 10:38:38
Mûködik.
Azt hogy tudom megcsinálni hogy ezeket a rangokat elmentse Dinivel szöveges fájlba és legközelebb betöltse
Cím: Onplayerdeath(killerid, adatok, rang)
Írta: Red-Eye - 2013. január 10. - 18:30:20
Na abban sajnos nem tudok segíteni  :-[  a dolgok .ini stb. vagy mysql-es helyekre való mentéséhez nem értek :c de asszem valamilyen olyan script kell neked elõsször amiben van regisztrációs rész és abból ahogyan az csinálja valószínûleg ki lehet sakkozni meg nézz szét hátha van fent tutorial hozzá.
Cím: Onplayerdeath(killerid, adatok, rang)
Írta: Shady - 2013. január 10. - 18:48:43
Láttam róla tutoriálokat is de a Dini kikészít engem . Meg van olyan hogy az Ladmin nem menti pontokat és találnom kellett egy pontmentõt, az is dinis de ló**t se ment. Mysqlbe meg inkább bele se  nézek.