Stellet
-
Příspěvků
392 -
Registrován
-
Aktivní
Content Type
Profiles
Forums
Calendar
Gallery
SA-MP
Příspěvky posted by Stellet
-
-
No nedělal:
Nahoře
new PlayerText3D:dnamelabel;
Příkaz:
CMD:dname(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!"); if(PlayerInfo[playerid][pDNamed] == 0) { new Float: Pos[3]; GetPlayerPos( playerid, Pos[0], Pos[1], Pos[2]); dnamelabel = CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, Pos[0], Pos[1], Pos[2], 40.0); SendClientMessage(playerid,B_WARN,"> Od nyní máš modrej nick. ( Nezapomeň používej to jen když třeba učíš RP nebo řešíš REPORT! )"); SetPlayerColor(playerid,COLOR_ADMINSI); PlayerInfo[playerid][pDNamed] = 1; Attach3DTextLabelToPlayer(dnamelabel, playerid, 0.0, 0.0, 0.7); }else{ SetPlayerColor(playerid,COLOR_NEVIDITELNA); SendClientMessage(playerid,B_WARN," > Odteď máš normální barvu nicku a můžeš RPit !"); PlayerInfo[playerid][pDNamed] = 0; DeletePlayer3DTextLabel(playerid, dnamelabel); } return true; }
A Attach3DTextlabelToPlayer chce: Text3D a né PlayerText3D
-
Udělal jsme to podle tebe, ale zase ten warning..
(2231) : warning 213: tag mismatch
zase u Attach3DTextLabelToPlayer -
Nechápu..
-
,playerid,INVALID_VEHICLE_ID,
~> Why?CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0);
~> Dáváš tam zbytečnosti. A taky bylo fajn, kdyby si v tom dělal mezery, je to přehlednější~> Protože ty řádky kopíruješ ze bbcodes, kde je to sice tabované, ale jakmile to přeneseš, z tabování se udělají mezery (jde to vidět například ve ST3 nebo Notepad++).
Když to udělám
CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0);
Tak to nepůjde Attachnout..
A ani nejde tak jak jsi řekl protože pak to píše:
(2232) : warning 213: tag mismatch
řádek:
(2229)new Float:X, Float:Y, Float:Z; (2230)GetPlayerPos( playerid, X, Y, Z ); (2231)label = CreatePlayer3DTextLabel(playerid, "(( Jsem tu OOCly ! ))", 0x008080FF, X, Y, Z, 40.0); (2232)Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
-
ehh, tak to skus podle: https://wiki.sa-mp.com/wiki/DeletePlayer3DTextLabel
odepínat
neboly
DeletePlayer3DTextLabel(playerid, label);
Nejde
CMD:dname(playerid,params[]) { if(PlayerInfo[playerid][pAdmin] <= 0) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!"); else { new PlayerText3D:label; if(PlayerInfo[playerid][pDNamed] == 0) { if(PlayerInfo[playerid][pAdmin] > 0) { new Float:X, Float:Y, Float:Z; GetPlayerPos( playerid, X, Y, Z ); label = CreatePlayer3DTextLabel(playerid,"(( Jsem tu OOCly ! ))",0x008080FF,X,Y,Z,40.0,playerid,INVALID_VEHICLE_ID,0); new str[300]; format(str,sizeof(str)," > Od nyní máš modrej nick. (( Nezapomeň používej to jen když třeba učíš RP nebo řešíš REPORT! ))"); SendClientMessage(playerid,B_WARN,str); SetPlayerColor(playerid,COLOR_ADMINSI); PlayerInfo[playerid][pDNamed] = 1; return 1; } } if(PlayerInfo[playerid][pDNamed] == 1) { if(PlayerInfo[playerid][pAdmin] > 0) { DeletePlayer3DTextLabel(playerid, label); SetPlayerColor(playerid,COLOR_NEVIDITELNA); SendClientMessage(playerid,B_WARN," > Odteď máš normální barvu nicku a můžeš RPit !"); PlayerInfo[playerid][pDNamed] = 0; return 1; } } } return 1; }
zkusil jsem to i takto ale nejde (PS: Natabované to mám, nevím proč mi to tady na pawnu rozhází)
-
Skus jestly by to nefungovalo že:
Attach3DTextLabelToPlayer(Text3D:label, playerid, 0.0, 0.0, 0.7); Delete3DTextLabel(Text3D:label);
Jelikož máš:
new Text3D:label = Create3DTextLabel("(( Jsem tu OOCly! ))", 0xFF9F00FF, 30.0, 40.0, 50.0, 40.0, 0);
Tak mi příde že vytváříš vlastně: Text3D:label
Ale...
Podívej se na Wiki, tam podle toho jsem koukal a vše funguje, jen se nechce ,,Odepnout" když se to smaže..
-
ZDE JE V ČEM TO POUŽÍVÁM Takto to používám, ale prostě nad jménem furt zůstane.
-
Ahoj udělal jsem si:
new Text3D:label = Create3DTextLabel("(( Jsem tu OOCly! ))", 0xFF9F00FF, 30.0, 40.0, 50.0, 40.0, 0);
a pak:
Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
a jak udělám aby to už neměl připlý k sobě ? Dal jsem
Delete3DTextLabel(label);
ale nad hlavou to furt má
-
Zdravím mám jednoduchý příkaz co každý server, ale nefunguje jak má
CMD:spec(playerid,params[]) { new id; if(PlayerInfo[playerid][pAdmin] <= 1) { InfoText(playerid,"LVRP","Tento prikaz nemuzes ~n~pouzivat!",5000); } else if(sscanf(params,"u",id)) return SendClientMessage(playerid,-1,"Použití: /spec [id]"); else { TogglePlayerSpectating(playerid,1); PlayerSpectatePlayer(playerid, id); } return 1; } CMD:specoff(playerid,params[]) { if(PlayerInfo[playerid][pAdmin] <= 1) { InfoText(playerid,"LVRP","Tento prikaz nemuzes ~n~pouzivat!",5000); } else { TogglePlayerSpectating(playerid, 0); } return 1; }
Když dá /specoff tak ho to nevrátí na místo kde byl.. Poradí mi někdo jak udělat aby ho vrátilo kde byl ? -
Ahoj, dělám RP, ale potřebuju poradit. Je: Jmeno_Prijmeni nešlo by udělat Jmeno Prijmeni ? že by prostě ve hře se smazalo "_"
Teď tam mám např:
Scott_Stevens vyhodil hráče Scott_Stevens ze serveru [Důvod: Test]
Ale aby to bylo takto:
Scott Stevens vyhodil hráče Scott Stevens ze serveru [Důvod: Test]
-
-
Ahoj,
Mám tady že když se připojí dá to:
SendDeathMessage(INVALID_PLAYER_ID,playerid,200);
Což udělá:
Ale potřebuju pomoci, jak udělat aby to jméno bylo třeba zeleně ? Díky za každou radu
-
No tak jsem to předělal podle tvé pomoci:
forward P_Propust(playerid); public P_Propust(playerid) { new string[100]; // stačí new Pname[MAX_PLAYER_NAME]; if(prisonTime[playerid] != 0) { prisonTime[playerid]--; } else { if(PlayerInfo[playerid][pAjail] == 1) // pokud je v base a skončil mu čas { GetPlayerName(playerid, Pname, sizeof(Pname)); format(string, sizeof(string), "/Hraci/%s.ini",Pname); PlayerInfo[playerid][pAjail] = 0; DOF2_SetString(string,"PJmeno",""); DOF2_SetString(string,"PDuvod",""); DOF2_SetString(string,"PHodnost",""); DOF2_SetInt(string,"PrisonTime", 0); SetPlayerPos(playerid,1673.8040,1447.8599,10.7844); } } }
OnPlayerSpawn:
public OnPlayerSpawn(playerid) { StopAudioStreamForPlayer(playerid); if(PlayerInfo[playerid][pAjail] == 0) { new string[500]; new Pname[MAX_PLAYER_NAME]; GetPlayerName(playerid, Pname, sizeof(Pname)); format(string, sizeof(string), "/Hraci/%s.ini",Pname); SetPlayerPos(playerid,DOF2_GetInt(string,"PoziceX"),DOF2_GetInt(string,"PoziceY"),DOF2_GetInt(string,"PoziceZ")); } else { new str[300]; new string[500]; new Pname[MAX_PLAYER_NAME]; GetPlayerName(playerid, Pname, sizeof(Pname)); format(string, sizeof(string), "/Hraci/%s.ini",Pname); SetPlayerPos(playerid, -1790.7722, 567.2419, 333.3382); new Cas,Hodnost[300],Jmeno[300],Duvod[300]; Cas = DOF2_GetInt(string,"PrisonTime"); Hodnost = DOF2_GetString(string,"PHodnost"); Jmeno = DOF2_GetString(string,"PJmeno"); Duvod = DOF2_GetString(string,"PDuvod"); SetTimer("P_Propust", Cas, true); format(str,sizeof(str)," V prisonu ti zbývá %i minut, zatkl tě %s %s z důvodu %s.",Cas,Hodnost,Jmeno,Duvod); SendClientMessage(playerid,B_CERVENA,str); } return 1; }
ale nastaví mu ten timer P_Propust ten Cas, na sekundy.. A já bych potřeboval na minuty, díky za každou pomoc. -
Jak mám udělat jiné ukládání a hlavně proč ?
-
Ahoj, když dám /prison [id] [čas] [důvod] Vše jde, funguje ale když se odpojí uloží se a když se připojí je tam cca 3sekundy a propustí ho to..
OnGameModeInit:
SetTimer("P_Propust", 60000, true);
Public P_Propust:
public P_Propust() { new string[100]; // stačí new Pname[MAX_PLAYER_NAME]; for(new i = 0; i < MAX_PLAYERS; i++) { if(prisonTime[i] != 0) { prisonTime[i]--; } else { if(PlayerInfo[i][pAjail] == 1) // pokud je v base a skončil mu čas { GetPlayerName(i, Pname, sizeof(Pname)); format(string, sizeof(string), "/Hraci/%s.ini",Pname); PlayerInfo[i][pAjail] = 0; DOF2_SetString(string,"PJmeno",""); DOF2_SetString(string,"PDuvod",""); DOF2_SetString(string,"PHodnost",""); DOF2_SetInt(string,"PrisonTime", 0); SetPlayerPos(i,1673.8040,1447.8599,10.7844); } } } }
Když ho dám do vězení vše jde, když se odpojí a připojí pustí ho to cca za 3sekundy, má to být v minutách (Jinak mu to normálně načte ten čas že tam má být ještě tolik a tolik minut)
-
Ahoj mám /prison [id] [cas] [duvod] ale jde to jen když je ve hře, ale potřebuju Offline Prison když se hráč odpojí třeba Uprostřed RP Akce, nebo poruší pravidlo tak ho musím potrestat i když je offline, jenže nevím jak na to. Mám DOF2.
CMD:prison(playerid, params[]) { new string[500]; new Pname[MAX_PLAYER_NAME]; GetPlayerName(playerid, Pname, sizeof(Pname)); format(string, sizeof(string), "/Hraci/%s.ini",Pname); new ID,Cas,str[128]; if(PlayerInfo[playerid][pAdmin] <= 1) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!"); else if(sscanf(params,"uis",ID,Cas,params)) return SendClientMessage(playerid,-1,"/prison [ID] [CAS] [DUVOD]"); else if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,-1,"Tento hráč není na serveru."); else if(ajail[ID] == 1) return SendClientMessage(playerid,-1,"Tento hráč už je v prisonu."); else { new AdminText[100]; if(PlayerInfo[playerid][pAdmin] == 2){ AdminText = "Moderátor"; } if(PlayerInfo[playerid][pAdmin] == 3){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 4){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 5){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 6){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 7){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 8){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 9){ AdminText = "Administrátor"; } format(str,sizeof(str),"%s %s udělil prison hráči %s na %i minut [Důvod: %s ]",AdminText,GetName(playerid),GetName(ID),Cas,params); SendClientMessageToAll(B_CERVENA,str); DOF2_SetString(string,"PJmeno",GetName(playerid)); DOF2_SetString(string,"PDuvod",params); DOF2_SetString(string,"PHodnost",AdminText); ajail[ID] = 1; SetPlayerPos(ID, -1790.7722, 567.2419, 333.3382); prisonTime[ID] = Cas; // uložíme, jak dlouho má být hráč v base DOF2_SetInt(string, "PrisonTime", Cas); } return 1; }
Pomůžete mi to předělat na offline ? Prostě na /prison [jméno] [cas][důvod] Díky moc za každou pomoc
-
Já bych to udělal takto:
public OnPlayerCommandText(playerid,cmdtext[]) { if(!strcmp(cmdtext, "/adm", true)) { if(!IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{92e9ff}Admin Příkazy","{FF0000}Nejsi Rcon Admin", "Zavrit", ""); else { ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{92e9ff}Admin Příkazy","{FF0000}Admin příkazy pouze pro rcon: {008000}/godmode", "Zavrit", ""); } return 1; } return 0; }
Já to mám bez erroru a funguje mi to
-
Ahoj, když dám do OnPlayerConnect:
RemoveBuildingForPlayer(playerid, 8936, 2467.3906, 1283.2266, 14.3516, 6000.0); RemoveBuildingForPlayer(playerid, 8976, 2448.0000, 1291.7422, 16.5156, 6000.0); RemoveBuildingForPlayer(playerid, 8412, 2439.5625, 1302.6094, 14.4688, 6000.0); RemoveBuildingForPlayer(playerid, 9114, 2448.0000, 1291.7422, 16.5156, 6000.0); RemoveBuildingForPlayer(playerid, 9163, 2467.3906, 1283.2266,Ahoj, když dám do OnPlayerConnect:
a ve hře je to vidět takto:a v Map Editoru:[img=http://imageshack.cz/images/2015/05/27/11356172_472691259554346_1909036093_n.jpg][/spoiler] 14.3516, 6000.0);
-
Ahoj, mám dotaz jak udělat aby to nedávalo bonusy a peníze viz. screen:
A dále, mám problém s psaním pro administrátoři.. Když mám u dotazu ukáže to adminům všem co jsou na serveru a v /admins.
CMD:dotaz (playerid,params[]) { if(sscanf(params,"s",params)) return SendClientMessage(playerid, -1,"Použití: /dotaz [text]"); else if(UzMaDotaz[playerid] > 0) return SendClientMessage(playerid,-1,"Už máš dotaz, vyčkej až ti na něj Administrátor odpoví Nebo ho zruš a podej znova /zrusitdotaz."); else { UzMaDotaz[playerid] = 1; DeletePVar(playerid,GetName(playerid)); SetPVarString(playerid,GetName(playerid),params); new str[256],str2[256]; format(str,256,"Hráč %s [ID %i] se ptá [%s] Odpovedet můžete /odpoved",GetName(playerid),playerid,params); format(str2,256,"Zeptal Jste se Administrátorů na [%s], Administrátor nemusí odpovědět hned (Pro zrušení dotazu zadej /zrusitdotaz).",params); SendClientMessage(playerid,-1,str2); for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(PlayerInfo[i][pAdmin] == 0) { }else{ SendClientMessage(i,-1,str); } } } } return 1; }
To odešle normálně, ale když jsem si udělal Admin Warn tak to ukáže jen mě a nevím proč.
CMD:freeze(playerid,params[]) { new id,str[300]; if(PlayerInfo[playerid][pAdmin] <= 1) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!"); else if(sscanf(params,"u",id)) return SendClientMessage(playerid,-1,"Použití: /freeze [id]"); else { new AdminText[100]; if(PlayerInfo[playerid][pAdmin] == 2){ AdminText = "Moderátor"; } if(PlayerInfo[playerid][pAdmin] == 3){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 4){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 5){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 6){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 7){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 8){ AdminText = "Administrátor"; } if(PlayerInfo[playerid][pAdmin] == 9){ AdminText = "Administrátor"; } TogglePlayerControllable(id,0); format(str,sizeof(str)," > %s %s tě freeznul.",AdminText,GetName(playerid)); SendClientMessage(id,B_WARN,str); for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(PlayerInfo[i][pAdmin] == 0 || PlayerInfo[i][pAdmin] == 1) { }else{ new warn[300]; format(warn,sizeof(warn),"Admin Warn: %s %s freeznul hráče %s.",AdminText,GetName(playerid),GetName(id)); SendClientMessage(i,COL_WARN,warn); return 1; } } } } return 1; }
A ten admin Warn neukáže..
A poslední help:Jak smažu všechny základní Checkpointy ? -
založit si kreditní kartu.
Farmář
Toto vše bylo na Dench RP..
-
Ahoj udělal jsem si /admins přes dialog a mám tam DIALOG_STYLE_TABLIST_HEADERS, a chci aby to vždy bylo ten nadpis nad tím, jenže ono je to na začátku jde to něják vycentrovat ?
-
Možná by bylo super, ale nemůžu otestovat Nejde stáhnout.
-
Ahoj,
Jak prosim vás udělat /getid část jména
Díky moc
-
Ahoj mám tu příkaz pro admin: /aprace, ale chci aby to mohl hráč kterej má Admin level větší jak 0 takže od 1lvl... Jsem Admin Level 5 (Hlavní Administrátor) a nejde to
Příkaz:
CMD:aprace(playerid,params[]) { if(PlayerInfo[playerid][pAdmin] >= 1) return SendClientMessage(playerid,-1,"Tento příkaz nemůžeš používat!"); else { ShowPlayerDialog(playerid, D_A_DELA,DIALOG_STYLE_LIST,"Vyber co právě děláš","Odpovídám na dotazy\nŘeším Reporty\nPřipravuju Akci","Ok",""); } return 1; }
screeny://Edit natabované to mám nevím proč v code to tak není
Attach3DTextLabelToPlayer
v Herní (SA:MP, CS apod.)
Odesláno:
No nejsem si jisý, potřebuju poradit od někoho kdo v tom už dlouho dělá.. A prostě nevím proč mi to dává teda warning..